The subject matter described herein relates to monitoring water quality in tanks for living aquatic species.
Water tanks for aquatic species can require certain inputs in order to keep the environment stable. Sensors can be a part of determining the factors that influence the water tank. A sensor can detect physical properties such as motion, temperature, position, and the like, and generate a signal that represents the detected physical property. The generated signal can be processed and stored by a computing device. The computing device can control the operation of the sensor. For example, the computing device can control the operation of the sensor (e.g., change the operating parameters associated with the sensor).
Water tanks are commonly used for recreational and commercial purposes to keep fish and aquatic animals. The condition of the water tanks (e.g., pH value, ammonia content, etc.) may need to be maintained at desirable levels (e.g., to mimic the natural environmental conditions of the aquatic animals in the tank). In order to maintain the health of the aquatic animals, the water in the tank may need to be regularly treated, filtered and exchanged. Maintenance operations can be performed based on manual measurements (e.g., occasional, infrequent, etc.) of water conditions or on periodic schedules based on historical norms or averages that have been observed to be appropriate and conservative. However, these schedules do not provide a response to the actual conditions in the tank (e.g., in real-time), and may not account for an accelerated deterioration. Alternately or additionally, responding based on a schedule may be time consuming and expensive.
In an aspect, a method includes receiving data characterizing first measurements of water within a water tank recorded by at least one sensor operatively arranged within the water tank. The method further includes determining a first temperature and a first water conductivity level based on the first measurements. The method further includes receiving data characterizing second measurements of the water within the water tank recorded by the at least one sensor. The method further includes determining a second temperature, a second water conductivity level, and a second water level based on the second measurements. The method further includes computing an output data set associated with the water based on the first temperature and the second temperature, the first water conductivity level and the second water conductivity level, and the first water level and the second water level. The method further includes providing the output data set.
One or more of the following features can be included in any feasible combination. For example, the method can include determining a water level within the tank. In some aspects, the method can include determining a first water level based on the first measurements, and determining a second water level based on the second measurements. In other aspects, the output data set can be based on the first water level measurement and the second water level measurement.
In some aspects, the sensor data can include a conductivity level of the water in the water tank over a duration of time. In other aspects, the sensor data can include a temperature level of the water in the water tank over a duration of time. In some aspects, the sensor data can include a water level of the water in the water tank over a duration of time. In other aspects, the output data set can include an alert based on a difference between the first conductivity level and the second conductivity level of the water being outside a threshold range. In certain aspects, the output data set can include information, instructions, and or a control command associated with care of the water tank.
The method can further include activating, based on the output data set, at least one of a heating source, a light source, a water source, or a food source.
In an aspect, a method includes receiving a temperature data set and a water conductivity data set, characterizing measurements of a plurality of characteristic properties of water within a water tank by a sensor operatively arranged within the water tank. The method further includes determining, by a predictive model, a first rule characterizing environmental requirements of the water arranged within the water tank. The method further includes generating an output data set based on the received data sets and the first rule. The method further includes providing the generated output data set.
One or more of the following features can be included in any feasible combination. For example, the method can include receiving a water level data set. In some aspects, the first rule can be based on information associated with the water tank provided by the user, previous measurements of the characteristic properties by the sensor, and the received data sets.
In some aspects, the output data set can include information and/or instructions associated with care of the water tank. In other aspects, the output data set can include a control command associated with stabilization of the water tank. In certain aspects, the control command can be associated with the control at least one of
In some aspects, the method can further include determining an ammonia level, nitrite level, and/or a nitrate level based on the water conductivity data set.
In some aspects, generating the output data set for the water tank can be further based on one or more of environmental data associated with the water tank, usage of the water tank, location of the water tank, and a type associated with the water tank.
In some aspects, the monitoring system can further include an application on a computing device associated with the user of the water tank, and the receiving of the data sets by the server is via the application. In other aspects, the generated output data set is transmitted to the computing device.
In an aspect, a system includes at least one data processor, and memory storing instructions which, when executed by the at least one data processor, causes the at least one data processor to perform operations including receiving a temperature data set, a water conductivity data set, and a water level data set, characterizing measurements of a plurality of characteristic properties of water within a water tank by a sensor operatively arranged within the water tank. The method further includes determining, by a predictive model, a first rule characterizing environmental requirements of the water arranged within the water tank. The method further includes generating an output data set based on the received data sets and the first rule. The method further includes providing the generated output data set.
One or more of the following features can be included in any feasible combination. For example, the output data set can include at least one of information and/or instructions associated with care of the water tank, an object replenishment recommendation associated with a consumable object within the water tank, or a control command associated with stabilization of the water tank.
In some aspects, the system can further include a Hall Effect sensor, Tunnel Magneto-Resistance (TMR) sensor, or float sensor configured to measure a water conductivity level of water within the water tank.
Non-transitory computer program products (i.e., physically embodied computer program products) are also described that store instructions, which when executed by one or more data processors of one or more computing systems, causes at least one data processor to perform operations herein. Similarly, computer systems are also described that may include one or more data processors and memory coupled to the one or more data processors. The memory may temporarily or permanently store instructions that cause at least one processor to perform one or more of the operations described herein. In addition, methods can be implemented by one or more data processors either within a single computing system or distributed among two or more computing systems. Such computing systems can be connected and can exchange data and/or commands or other instructions or the like via one or more connections, including a connection over a network (e.g. the Internet, a wireless wide area network, a local area network, a wide area network, a wired network, or the like), via a direct connection between one or more of the multiple computing systems, and the like.
The details of one or more variations of the subject matter described herein are set forth in the accompanying drawings and the description below. Other features and advantages of the subject matter described herein will be apparent from the description and drawings, and from the claims.
Some implementations of the current subject matter can provide automated data outputs during a valuable product's lifecycle by analyzing data about the valuable product's environment, activities, and external information (e.g., time, weather, location, object properties, and the like). Further examples of data can include the end user's experience, preferences, collection, and the like. For example, if an individual has a water tank, such as an enclosure for aquatic organisms, the output data set can include a suggestion for buying a consumable object, such as food, or activating a filter and pump for circulating the water.
Some implementations of the current subject matter can improve the communication characteristics (e.g., communication of recommendations) to ensure effective actions based upon supplier recommendations and end user actions over time. Some implementations of the current subject matter can provide systems and methods that can create opportunities for both the end users and the supplier to form an individual relationship where the end user is connected to the supplier for support while using the product throughout the life cycle of the product. This can allow the supplier to customize the relationship with each individual end user which can help to ensure end user's success with the product. End users can benefit from such a relationship by gaining better results and enjoyment from the products they use, while suppliers can benefit by gaining higher success rates, ratings, repeat sales and ongoing revenue from the products.
In some implementations, an application associated with a computing device of the end user can receive sensor data detected by sensors operatively coupled to the object. The sensor data can include, for example, temperature, humidity, motion, impact, location, sound level, vibration, and the like, associated with the object. This data can be combined with data sourced from outside references such as weather reports, event announcements, emergency incidents, and the like, and can be used by the system to independently assess the state of the object.
Various components of the water tank monitoring system can be distributed over a cloud, operating devices of users of multiple water tanks, locations of the water tank (e.g., sensors arranged within water tanks and the like). For example,
The water tank monitoring system 200 can monitor and provide output data sets to the target objects 206a and 206b. The sensor 205a (or 205b) can detect a characteristic property of the target object 206a (or 206b) and transmit the detected characteristic property to the application 204a (or 204b). The application 204a (or 204b) can be installed on a computing device (e.g., laptop, mobile device, and the like) of the user of the target object 206a (or 206b). The application can curate the received sensor data and/or transmit the sensor data to the platform 202. In some implementations, the application can be used by end users to place new orders (e.g., replenishing consumable products), request object information, receive information or instructions to properly maintain the water tank, and the like.
The platform 202 can receive the data from the applications 204a (or 204b) (e.g., data characterizing a measurement of the characteristic property of the target object) and/or sensor data directly from the sensor 205a (or 205b). The supplier interface 208 can allow the supplier to access information in the water tank monitoring system 200 (e.g., information about the product/object, end users, and the like).
Communication among platform 202; applications 204a and 204b; and sensors 205a and 205b can be achieved via one or more of WiFi, Cellular Radio, Bluetooth, low data rate infrastructure, direct wiring, and the like. In some implementations, one or more relay stations can allow for communication among the components of the object monitoring system 200. In some implementations, the various components of the water tank monitoring system 200 can include data storage devices (e.g., memory, RAM, and the like) that can curate received/generated information.
Referring again to
The data storage 310 can store various information associated with the target objects. For example, data storage 310 can included the lifecycle information of the target object (e.g., stage of the object, milestone of the object, action level criteria, notifications associated with the object, and the like). The data storage 310 can also include information associated with the class or group associated with the target object. The group information can include, for example, summary notice content in target objects of the group, summary notice call to action in multiple target objects in the group, and the like.
In some implementations, an algorithm or rule can analyze the received data and determine recommendation characteristics (e.g., whether the recommendation should be in a text form or a video form). This determination can be on historical user response to various recommendations (e.g., how often the user looked at the recommendation, how long the user spent engaging with the object monitoring system, how successful the resulting care actions were, etc.) to determine recommendation characteristics. In some implementations, recommendation characteristics can be transmitted to the delivery engine.
The care engine 404 can receive processed data from the pre-processor 402 and can generate recommendations. For example, the care engine 404 can apply rules (e.g., group rules, individual object rules, expert rules, and the like) received from the rules engine 304 and can apply those rules on the received data. Rules can be applied based on defined triggers. In some implementations, triggers can be time based, based on received data, an external event from a supplier's server, and the like. When a trigger fires, the care engine 404 can determine which rule or rules need to be executed. The execution of the rule may take place on the same server as the care engine or on a different server. The rule may or may not be provided all of the data with the trigger that is needed to execute the rule. If additional data is needed, the care engine 404 may try and get the data from a database, server, or other location. The care engine 404 can process the rule with the limited data, or may stop the execution of the rule.
For example, transmission from a sensor indicating that a water tank, such as a habitat for aquatic animals, has fallen outside of an allowable temperature threshold can trigger the rule engine to determine that a temperature which is too cold corresponds to Rule 1. Rule 1 can state that if the temperature of the water tank is below a certain threshold limit, the user should activate a heat source, or the heat source can be automatically turned on by a processor. Rule 1 may only have the data that the temperature has been below a threshold limit the last 4 hours, so it queries the data from a database to find out if the temperature has been consistently below the threshold limit for 12 hours or not. If the answer is negative, a recommendation can be sent to the owner, or a control command can be sent to activate a heat source. In some exemplary implementations, water level or water conductivity can be measured and compared instead of temperature of the water tank.
In some implementations, the care engine 404 can determine an evaluation parameter for one or more registered target objects by applying the received rules on the received data. Based on the evaluation score, the recommendation engine can make a determination if a recommendation needs to be made. In some implementation, the recommendation can be determined (e.g., selected from a predetermined list of recommendations) based on the evaluation score. The recommendation can indicate, for example, if an operating state (or operating parameter) of the target object should be changed by the end user.
Referring again to
In some implementations, the delivery engine 406 can include a transmission machine learning algorithm. The transmission machine learning algorithm can generate the communication parameters based on information associated with the target object (e.g., personalized information for a given target object or the user of the target object), sensor data from the target object, input from DSME, and the like. In some implementations, the DSME can review and edit the communication parameters.
In some implementations, the recommendation engine 302 can perform multiple iterations (e.g., based on new data, new rules, trigger inputs from the end user, trigger inputs based on predetermined condition, trigger inputs from experts and the like). In some implementations, an input from the PSME can trigger the recommendation engine 302 (e.g., to generate recommendation). The input from the PSME can include state/milestone of the target object, conditions/limiting values associated with the various states of the target object, and the like. The recommendation engine 302 can include one or more of a genetic algorithm, Bayesian network, rete algorithm, inference engine, predictive model, business rule, machine learning model, neural network, classification system (e.g., random forest), regression system (e.g., least squares), and the like. In some implementations, the PSME can instruct the recommendation engine 302 to perform a machine learning process (e.g., based on data in data storage 310).
The group machine learning algorithm 504 can generate a second set of object rules based on information associated with a group (e.g., predefined group) associated with the target object. For example, the information can include macro trend information associated with the group of target objects. The target object information can include sensor measurements associated with a plurality of target objects in the group, group data from the data storage 310. In some implementations, the information can include personalized information.
In some implementations, generating the first (or second) set of rules can include using predetermined analytical models and varying the properties of the analytical models (e.g., predetermined constants in the analytical model) based on the above-mentioned personalized information (or macro trend information). In some implementations, the analytical models can include previously implemented rules. Based on new information (e.g., newly detected sensor data, new personalized information, new macro trend information, and the like), the previously implemented rules can be modified to generate new rules. In some implementations, the previously implemented first/second set of rules can be modified based on input rules provided by a PSME.
The warning graphical object 802 can be displayed when the platform 300 transmits a warning signal to the application. For example, based on sensor data, the platform 300 can determine that the operating conditions of the object are undesirable, and can warn the user. In some implementations, the application can include a predetermined set of rules that can be executed by a processor associated with the application. Based on the predetermined set of rules, the application can determine whether the operating conditions (e.g., detected by sensors coupled to the object) are undesirable. Once undesirable operating parameter of the object has been determined, the warning graphical object 802 can be displayed.
The GUI display space 800 can include one or more recommendation graphical objects (e.g., graphical objects 804 and 806). The recommendation graphical objects can include recommendations provided to the application by the platform 300. In some implementations, the recommendation graphical objects can include a schedule for implementations of the recommendation (e.g., several time markers indicative of degree of damage to the water tank and the aquatic animals inside if the recommendation is not implemented). The GUI display space 800 can allow the end user to implement the received recommendation.
The GUI display space 800 can include the identity 806 of the sensor (or the target object) that is under observation by the application. Sensor ID information can be helpful if the application is associated with multiple sensors (or target objects).
The GUI display space 800 can include a query graphical object 810 that can allow the user to interact with the platform 300. For example, the user can transmit questions to the support engine 308 via the query graphical object 810. In some implementations, the end user (or an object associated with the end user) can be registered with the object monitoring system via the GUI display space 800. In some implementations, sensors (e.g., operatively coupled to target objects) can be registered with the object monitoring system via the GUI display space 800.
In view of the above systems, certain water tanks can be monitored using the system as the target object. Some implementations of the current subject matter can include a system to monitor and maintain water tanks including aquatic organisms.
Water tanks (e.g., enclosures of aquatic organisms) may have temperature, water conductivity, and/or water level requirements. For example, it can be desirable to maintain a certain temperature in the water tank (“environment”) and/or maintain the water level in a predetermined range. Additionally or alternately, it can desirable to maintain a certain level of water conductivity in the water tank. This can be achieved, for example, by placing one or more sensors in the water tank that can detect environment conditions (e.g., temperature, conductivity, water level, etc.), and using the detected values to regulate the environment (e.g., by regulating the temperature of heat source, turning on/off a pumps and filters, replacing the light bulbs, etc.). The regulation of various parameters of the environment can include monitoring and maintenance of multiple components (e.g., sensors, lamps, heaters, pumps, filters, etc.) of the water tank. It can be desirable to improve the monitoring system of the environment to detect a current or future need for maintenance of the components in the environment (e.g., change of the water due to high levels of conductivity, clean out of the filter and pump, etc.), and generate an alert signal associated with the maintenance need.
Arranged within the water tank 902 can be water 904. In order to keep the water 904 clean, a pump 906 and a filter 908 can be arranged within the water tank 902 in order to circulate and filter the water 904 within the water tank 902. In order to measure properties of the water 904 within the water tank 902, various sensors 910, 911 can be arranged within the water tank 902. In an exemplary embodiment, the sensors 910 and 911 can be contained within a single housing which is moveable within the water tank 902. Additionally, the control unit 912, including a data processor and a computer readable memory can be communicatively coupled to the sensors 910 and 911 in order to receive measurement data sets related to the properties of the water 904. Also communicatively coupled to the control unit 912 can be dispenser 918, light source 920, and heat source 922. In an exemplary implementation, the dispenser 918 can be configured to dispense food to feed the aquatic organisms within the water tank 902, to dispense chemicals to lower or raise the pH or conductivity of the water 904, and/or to dispense additional water into the water tank 902 if the water level drops below a threshold value.
Sensor 910 can measure the conductivity of the water (e.g., periodically, routinely, etc.). This can be done, for example, by applying an AC signal via a pair of electrodes to the water in the water tank and measuring the voltage drop across the electrodes. In some exemplary implementations, the sensor 910 is a Hall Effect sensor, Tunnel Magneto-Resistance (TMR) sensor, or float sensor. Tracking the trend in conductivity over time can allow for the prediction of various alert conditions before they become critical. For example, as a fish urinates in the tank 902, the ammonia levels increase. Ammonia is an electrolyte which can be measured by an increase in the conductivity of the water. The nitrogen cycle can result in a buildup of nitrates and nitrites in the tank. As one or more of ammonia, nitrite, and nitrate are generated in the tank 902, the conductivity level can increase. Such an increase in conductivity can be indicative of a need for maintenance. Additionally or alternately, a sudden drop in the conductivity can be indicative that maintenance has been performed.
Detecting a change in a property of water 904 (e.g., conductivity) in the water tank 902, and responding to the change (e.g., by changing the water, adding chemical(s) to the water, etc.) in a timely manner can be advantageous. Additionally or alternately, an alert can be generated when the detected change is not attended to in a timely fashion. Once a condition has been identified, ancillary warnings or alerts can be raised. For example, when a conductivity change has been detected a warning/notice to de-chlorinate the water 904 can be generated. By tracking the conductivity over time (e.g., as illustrated in
The accuracy of alerts can be improved by measuring multiple properties of the water 904 (e.g., temperature, water level, etc.) in addition to conductivity measurement (e.g., as described above). For example, conductivity of the water 904 may vary with temperature, and knowledge of temperature can allow for normalization of conductivity measurement. This can allow for accurate comparison of conductivity of water 904 in the water tank 904 over a period. In some implementations, the temperature of the water tank 902 may need to be maintained within a desired temperature range (e.g., based on the occupants of a tank), and temperature measurements may be used to provide alerts when the temperature of the water tank 902 is outside the desired temperature range. In some implementations, the alert can indicate that the temperature control system needs maintenance.
A water level sensor 911 can be added to improve detection of change of water 904 in the water tank 902. If the water 904 is not regularly changed, the health of the aquatic animals may be at risk. A water level sensor 911 can be based on, for example, Hall effect, TMR (which operates based on the magnetoresistance effect, which refers to a change in resistance induced by the application of an external magnetic field), level switches, or other measurements that can generate a signal representative of the height of the water 904 in the water tank 902. The change in water level due to evaporation may be gradual. A sudden change in water level (e.g., a sudden fall in water level followed by a sudden increase in water level) can indicate that the water 904 in the water tank 902 has been replaced. This information can be cross-referenced with the conductivity signal to increase accuracy of water change detection and/or to identify water changes independent of conductivity measurement. Conditions and alerts can be monitored across multiple water change cycles.
An example of additional tank monitoring can include monitoring a water tank 902 during a process in which the water tank 902 builds up its bio-filter in preparation for adding fish (also referred to as “cycling”). The processes of cycling a tank involves adding nitrifying bacteria to the tank followed by hardy fish, including Poecilids such as the guppy, molly, swordtail and platy, most species of betta, zebra danios, and some tetras, to create ammonia to feed nitrifying bacteria within the water tank 902. As the bacteria grows, it can digest more ammonia and generate nitrites that are converted to nitrates by the filter. The nitrates can be removed through water changes. The rate at which the conductivity increases between water changes can be correlated to the growth of the bio-filter. By monitoring these rates over time, a user can be alerted when their tank is properly “cycled.”
The sensors, processing, and alerting functions can be self-contained in a single unit or can be decoupled. A self-contained unit can have the sensors in the water tank 902 connected to a processor 914 that can sound an alarm when an alert condition has been met. Alternatively, a decoupled unit can have sensors in the water tank 902, which can communicate information associated with the water tank 902 (e.g., conductivity, water level, etc.) wirelessly to a remote server or control unit 912, which can processes the data and generate alerts. The generated alerts can be sent to a mobile phone for display to a user. In the self-contained unit and/or the decoupled sensing unit, the alert system may be connected to a maintenance system that can take remediation actions without user intervention. Examples of remediation actions can include adding fresh water to the tank, dispending food within the tank, activating or deactivating lights based on a day/night cycle, activating a heater, or activating the filter and pump.
One or more aspects or features of the subject matter described herein can be realized in digital electronic circuitry, integrated circuitry, specially designed application specific integrated circuits (ASICs), field programmable gate arrays (FPGAs) computer hardware, firmware, software, and/or combinations thereof.
These various aspects or features can include implementation in one or more computer programs that are executable and/or interpretable on a programmable system including at least one programmable processor, which can be special or general purpose, coupled to receive data and instructions from, and to transmit data and instructions to, a storage system, at least one input device, and at least one output device. The programmable system or computing system may include clients and servers. A client and server are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other.
These computer programs, which can also be referred to as programs, software, software applications, applications, components, or code, include machine instructions for a programmable processor, and can be implemented in a high-level procedural language, an object-oriented programming language, a functional programming language, a logical programming language, and/or in assembly/machine language. As used herein, the term, “machine-readable medium” refers to any computer program product, apparatus and/or device, such as for example magnetic discs, optical disks, memory, and Programmable Logic Devices (PLDs), used to provide machine instructions and/or data to a programmable processor, including a machine-readable medium that receives machine instructions as a machine-readable signal. The term, “machine-readable signal” refers to any signal used to provide machine instructions and/or data to a programmable processor. The machine-readable medium can store such machine instructions non-transitorily, such as for example as would a non-transient solid-state memory or a magnetic hard drive or any equivalent storage medium. The machine-readable medium can alternatively or additionally store such machine instructions in a transient manner, such as for example as would a processor cache or other random access memory associated with one or more physical processor cores.
To provide for interaction with a user, one or more aspects or features of the subject matter described herein can be implemented on a computer having a display device, such as for example a cathode ray tube (CRT) or a liquid crystal display (LCD) or a light emitting diode (LED) monitor for displaying information to the user and a keyboard and a pointing device, such as for example a mouse or a trackball, by which the user may provide input to the computer. Other kinds of devices can be used to provide for interaction with a user as well. For example, feedback provided to the user can be any form of sensory feedback, such as for example visual feedback, auditory feedback, or tactile feedback; and input from the user may be received in any form, including acoustic, speech, or tactile input. Other possible input devices include touch screens or other touch-sensitive devices such as single or multi-point resistive or capacitive trackpads, voice recognition hardware and software, optical scanners, optical pointers, digital image capture devices and associated interpretation software, and the like.
In the descriptions above and in the claims, phrases such as “at least one of” or “one or more of” may occur followed by a conjunctive list of elements or features. The term “and/or” may also occur in a list of two or more elements or features.
Unless otherwise implicitly or explicitly contradicted by the context in which it is used, such a phrase is intended to mean any of the listed elements or features individually or any of the recited elements or features in combination with any of the other recited elements or features. For example, the phrases “at least one of A and B;” “one or more of A and B;” and “A and/or B” are each intended to mean “A alone, B alone, or A and B together.” A similar interpretation is also intended for lists including three or more items. For example, the phrases, “at least one of A, B, and C;” “one or more of A, B, and C;” and, “A, B, and/or C” are each intended to mean, “A alone, B alone, C alone, A and B together, A and C together, B and C together, or A and B and C together.” In addition, use of the term “based on,” above and in the claims is intended to mean, “based at least in part on,” such that an unrecited feature or element is also permissible.
The subject matter described herein can be embodied in systems, apparatus, methods, and/or articles depending on the desired configuration. The implementations set forth in the foregoing description do not represent all implementations consistent with the subject matter described herein. Instead, they are merely some examples consistent with aspects related to the described subject matter. Although a few variations have been described in detail above, other modifications or additions are possible. In particular, further features and/or variations can be provided in addition to those set forth herein. For example, the implementations described above can be directed to various combinations and subcombinations of the disclosed features and/or combinations and subcombinations of several further features disclosed above. In addition, the logic flows depicted in the accompanying figures and/or described herein do not necessarily require the particular order shown, or sequential order, to achieve desirable results. Other implementations may be within the scope of the following claims.
This application claims priority under 35 U.S.C. § 119(e) to U.S. Provisional Patent Application No. 63/062,825 filed on Aug. 7, 2020, the entire contents of which is hereby expressly incorporated by reference herein.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/US2021/045112 | 8/6/2021 | WO |
Number | Date | Country | |
---|---|---|---|
63062825 | Aug 2020 | US |