CN111052758A - Detection and analysis of the amount of content - Google Patents

Detection and analysis of the amount of content Download PDF

Info

Publication number
CN111052758A
CN111052758A CN201880045123.3A CN201880045123A CN111052758A CN 111052758 A CN111052758 A CN 111052758A CN 201880045123 A CN201880045123 A CN 201880045123A CN 111052758 A CN111052758 A CN 111052758A
Authority
CN
China
Prior art keywords
container
signal
content
fill level
sensor device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201880045123.3A
Other languages
Chinese (zh)
Inventor
P.C.古鲁莫罕
A.丰布拉
K.贾迪亚拉姆
S.潘迪
A.古拉蒂
S.贝
N.弗拉泽
J.P.阿霍佩尔托
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nectar Inc
Original Assignee
Nectar Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US15/976,779 external-priority patent/US20210262850A9/en
Priority claimed from US15/976,781 external-priority patent/US20180328777A1/en
Application filed by Nectar Inc filed Critical Nectar Inc
Publication of CN111052758A publication Critical patent/CN111052758A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01FMEASURING VOLUME, VOLUME FLOW, MASS FLOW OR LIQUID LEVEL; METERING BY VOLUME
    • G01F23/00Indicating or measuring liquid level or level of fluent solid material, e.g. indicating in terms of volume or indicating by means of an alarm
    • G01F23/22Indicating or measuring liquid level or level of fluent solid material, e.g. indicating in terms of volume or indicating by means of an alarm by measuring physical variables, other than linear dimensions, pressure or weight, dependent on the level to be measured, e.g. by difference of heat transfer of steam or water
    • G01F23/28Indicating or measuring liquid level or level of fluent solid material, e.g. indicating in terms of volume or indicating by means of an alarm by measuring physical variables, other than linear dimensions, pressure or weight, dependent on the level to be measured, e.g. by difference of heat transfer of steam or water by measuring the variations of parameters of electromagnetic or acoustic waves applied directly to the liquid or fluent solid material
    • G01F23/296Acoustic waves
    • G01F23/2962Measuring transit time of reflected waves
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B67OPENING, CLOSING OR CLEANING BOTTLES, JARS OR SIMILAR CONTAINERS; LIQUID HANDLING
    • B67DDISPENSING, DELIVERING OR TRANSFERRING LIQUIDS, NOT OTHERWISE PROVIDED FOR
    • B67D3/00Apparatus or devices for controlling flow of liquids under gravity from storage containers for dispensing purposes
    • B67D3/0041Apparatus or devices for controlling flow of liquids under gravity from storage containers for dispensing purposes with provisions for metering the liquid to be dispensed
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B67OPENING, CLOSING OR CLEANING BOTTLES, JARS OR SIMILAR CONTAINERS; LIQUID HANDLING
    • B67DDISPENSING, DELIVERING OR TRANSFERRING LIQUIDS, NOT OTHERWISE PROVIDED FOR
    • B67D2210/00Indexing scheme relating to aspects and details of apparatus or devices for dispensing beverages on draught or for controlling flow of liquids under gravity from storage containers for dispensing purposes
    • B67D2210/00028Constructional details
    • B67D2210/00081Constructional details related to bartenders
    • B67D2210/00089Remote control means, e.g. by electromagnetic signals
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B67OPENING, CLOSING OR CLEANING BOTTLES, JARS OR SIMILAR CONTAINERS; LIQUID HANDLING
    • B67DDISPENSING, DELIVERING OR TRANSFERRING LIQUIDS, NOT OTHERWISE PROVIDED FOR
    • B67D2210/00Indexing scheme relating to aspects and details of apparatus or devices for dispensing beverages on draught or for controlling flow of liquids under gravity from storage containers for dispensing purposes
    • B67D2210/00028Constructional details
    • B67D2210/00081Constructional details related to bartenders
    • B67D2210/00091Bar management means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B67OPENING, CLOSING OR CLEANING BOTTLES, JARS OR SIMILAR CONTAINERS; LIQUID HANDLING
    • B67DDISPENSING, DELIVERING OR TRANSFERRING LIQUIDS, NOT OTHERWISE PROVIDED FOR
    • B67D3/00Apparatus or devices for controlling flow of liquids under gravity from storage containers for dispensing purposes
    • B67D3/0003Apparatus or devices for controlling flow of liquids under gravity from storage containers for dispensing purposes provided with automatic fluid control means
    • B67D3/0006Apparatus or devices for controlling flow of liquids under gravity from storage containers for dispensing purposes provided with automatic fluid control means responsive to coded information provided on the neck or spout of the storage container, e.g. bar-code, magnets or transponder
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B67OPENING, CLOSING OR CLEANING BOTTLES, JARS OR SIMILAR CONTAINERS; LIQUID HANDLING
    • B67DDISPENSING, DELIVERING OR TRANSFERRING LIQUIDS, NOT OTHERWISE PROVIDED FOR
    • B67D3/00Apparatus or devices for controlling flow of liquids under gravity from storage containers for dispensing purposes
    • B67D3/0058Details
    • B67D3/0077Electronic circuitry
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks

Abstract

The content fill level was measured. An interrogation signal is transmitted. A reflected signal having a plurality of spikes is received. One of the spikes corresponds to a signal reflection of the interrogation signal indicative of the content fill level. A digital analysis is performed on the plurality of spikes to distinguish which spike is indicative of the content fill level.

Description

Detection and analysis of the amount of content
Cross reference to other applications
This application claims priority from U.S. provisional patent application No.62/505,053 entitled "BASE STATION FOR SENSORS detection terminal LEVEL" filed on 11.5.2017, AND from U.S. provisional patent application No.62/505,054 entitled "ultra BEAM cutter" filed on 11.5.2017, AND from U.S. provisional patent application No.62/505,055 entitled "ANALYSIS OF sand OF connection AND pharmaceutical monitoring terminal" filed on 11.5.2017, all OF which are incorporated herein by reference FOR all purposes.
Background
Certain items, such as food and beverages, are commonly sold and stored in product containers. In many instances, the consumer periodically performs a visual inspection to count the contents remaining in the food and beverage containers. In another example, the bar and restaurant operator periodically checks the amount of content remaining in the bottle to determine the amount sold and identifies the amount and type of product to purchase/replenish. Traditionally, the inventory of the contents remaining in the product container is determined manually. This manual process is often laborious, inaccurate and error prone. For example, it is often difficult for a person to visually accurately determine the amount of liquid beverage remaining in a bottle in a reliable manner. In a commercial environment, the amount of time it takes for an employee to manually count the remaining contents represents the actual employment cost that an employer achieves.
Drawings
Various embodiments of the invention are disclosed in the following detailed description and the accompanying drawings.
Fig. 1 is a diagram illustrating an embodiment of a fill level sensor device engaged in a container.
Fig. 2A is an example profile cross-sectional view illustrating an embodiment of the filling level sensor device.
Fig. 2B is an example side cross-sectional view illustrating the sensor apparatus of fig. 2A.
Fig. 2C is an example diagram of an external profile view of the sensor device of fig. 2A.
FIG. 2D is an example diagram of a close-up view of a bottom region of the sensor device of FIG. 2A.
FIG. 3A is a diagram showing the assembly of a pourer (pourer) fill level sensor.
Fig. 3B is a diagram showing the components of the stopper (filler) fill level sensor.
Fig. 3C and 3D are diagrams illustrating cross-sectional profile views of a propagation chamber coupled to a sensor device.
Figure 3E is a diagram illustrating various embodiments of a propagation chamber assembly.
FIG. 4 is a block diagram illustrating an embodiment of a system for an automated container content management environment.
FIG. 5 is a flow chart illustrating an embodiment of a process for providing a configuration of a sensor device.
FIG. 6 is a diagram illustrating an embodiment of a user interface for specifying a container type to be associated with a sensor device.
FIG. 7 is a flow diagram illustrating an embodiment of a process for determining one or more sets of configuration parameters for a container.
FIG. 8 is a flow chart illustrating an embodiment of a process for configuring a sensor device.
FIG. 9 is a flow chart illustrating an embodiment of a process for detecting the filling level of a container using a filling level sensor.
FIG. 10 is a flow chart illustrating an embodiment of a process for measuring the filling level of a container using a filling level sensor device.
FIG. 11 is a flow chart illustrating an embodiment of a process for detecting potential reflections indicated by a received signal.
FIG. 12 is a flow chart illustrating an embodiment of a process for performing an action based on a determined amount of content.
FIG. 13 is a flow chart illustrating an embodiment of a process for conducting inventory management and reporting.
14A-14C are example user interfaces illustrating content reports dispensed.
FIG. 15 is a flow chart illustrating an embodiment of a process for associating a content fill level change event with a corresponding transaction.
Fig. 16A is a diagram illustrating an embodiment of a front view of a base station.
Fig. 16B is a diagram illustrating an embodiment of a side view of a base station.
Fig. 16C is a diagram illustrating an embodiment of internal components of a base station.
Fig. 17 is a flow chart illustrating an embodiment of a process for configuring a base station.
Figure 18 is a flow chart illustrating an embodiment of a process for processing data packets at a base station.
Detailed Description
The invention can be implemented in numerous ways, including as a process; a device; a system; composition of matter; a computer program product embodied on a computer readable storage medium; and/or a processor, such as a processor configured to execute instructions stored on and/or provided by a memory coupled to the processor. In this specification, these implementations, or any other form that the invention may take, may be referred to as techniques. In general, the order of the steps of disclosed processes may be altered within the scope of the invention. Unless stated otherwise, a component such as a processor or a memory described as being configured to perform a task may be implemented as a general component that is temporarily configured to perform the task at a given time or as a special component that is manufactured to perform the task. As used herein, the term "processor" refers to one or more devices, circuits, and/or processing cores configured to process data (such as computer program instructions).
A detailed description of one or more embodiments of the invention is provided below along with accompanying figures that illustrate the principles of the invention. The invention is described in connection with such embodiments, but the invention is not limited to any embodiment. The scope of the invention is limited only by the claims and the invention encompasses numerous alternatives, modifications and equivalents. In the following description, numerous specific details are set forth in order to provide a thorough understanding of the present invention. These details are provided for the purpose of example and the invention may be practiced according to the claims without some or all of these specific details. For the purpose of clarity, technical material that is known in the technical fields related to the invention has not been described in detail so that the invention is not unnecessarily obscured.
A sensor device is disclosed. For example, the sensor device is a container lid (e.g., the sensor device also acts as a bottle cap) that electronically measures the amount of liquid remaining in a container (e.g., a beverage bottle) engaged with the container lid. In some embodiments, the sensor device comprises a content level sensor. For example, a sensor transmits an ultrasonic signal and measures the amount of time it takes for the signal to bounce off of the liquid contents remaining in the container and return to the sensor to determine the level of liquid remaining in the container. The sensor device includes a transmitter that transmits an interrogation signal. For example, a speaker transmits an ultrasonic signal. The sensor device also includes a receiver that receives the interrogation signal that has been reflected within the container. For example, the received interrogation signal is processed to determine the filling level of the container.
In some embodiments, the transmitter and receiver are configured to be located in the interior of the container when the container lid is engaged with the container. Since the transmitter and receiver may be adversely damaged/affected by the contents of the container while inside the container, it may be desirable to protect the transmitter and receiver from the contents of the container. For example, if an alcoholic or acidic beverage directly contacts the receiver/transmitter, the receiver/transmitter may be damaged. In some embodiments, a protective material (e.g., a barrier film) covers at least the transmitter and/or receiver. The protective material may prevent direct exposure of the emitter to the contents of the container. However, the protective material may adversely affect the quality of the transmission signal required to accurately detect the filling level of the container. To enable efficient transmission of the interrogation signal through the protective material, the transmitter and the protective material are positioned to create a designed gap of a preset distance to allow the protective material to efficiently transmit the interrogation signal. For example, effective vibration of the protective material may be achieved at a distance between the emitter and the protective material without directly attaching the emitter to the protective material. In some embodiments, a protective material (e.g., a barrier film) covers the receiver, and the receiver receives the transmitted signal that has been reflected by the contents of the container through the protective material.
In some embodiments, a sensor device comprises: a sensor that detects that the device has been triggered. For example, an accelerometer/motion sensor included in the sensor device detects that the device has been moved. This movement may correspond to consumption of the contents from the container engaged with the sensor device (e.g., removal of a cap with a sensor from the bottle to pour the contents out of the bottle, tipping the bottle to pour the contents out of a spout (spout) on the sensor device that also functions as a pourer, etc.), and the trigger will initiate measurement of the content fill level in the container. Because carrying out the measurement consumes a significant amount of power, using the trigger condition to initiate the measurement allows power to be saved without having to carry out the measurement when the trigger condition is not met.
When the transmitter of the sensor device transmits an ultrasonic signal, the amount of time it takes for the signal to bounce off of the contents remaining in the container and return to the sensor is measured to determine the amount of contents remaining in the container. However, the reflected signal reflects not only in a direct path from the contents remaining in the container, but the transmitted signal reflects in an indirect path from the walls of the container and the contents of the container. Since the receiver of the sensor device receives a plurality of reflections, it is desirable to minimize any reflections that do not indicate the current filling level of the container. In some embodiments, the propagation chamber is placed above the transmitter and/or the receiver such that signals transmitted by the transmitter propagate via the propagation chamber and/or signals received by the receiver are received via the propagation chamber. For example, when a signal is transmitted by a transmitter, the signal spreads out from the transmitter with a certain beamwidth. The propagation chamber helps to narrow the beam width of the transmitted signal by bouncing back the signal that strikes the walls of the propagation chamber, redirecting the signal in a desired direction to the contents of the container.
Despite efforts to reduce unwanted reflections within the container, the signal receiver will still detect unwanted reflections of the walls of the container and the contents of the container in an indirect path. Since the receiver of the sensor device receives a plurality of reflections, it is necessary to identify among the various detected reflections the actual direct reflection indicating the current filling level of the container. For example, each reflection corresponds to a different distance traveled by the interrogation signal, and thus a different potential container fill level. The received signal is digitally analyzed and one of these reflections is selected as the selected reflection corresponding to the selected container filling level. The selected container fill level is utilized to provide a currently detected container fill level.
In some embodiments, the detected container fill level is correlated with transaction data (e.g., sales of an item utilizing the contents dispensed from the container as its constituent). This allows for automatic inventory management and tracking in relation to specific sales. For example, specific product sales data (e.g., cocktail drink sales data) is received from a point-of-sale system. The amount of content dispensed from the tracked container using the sensor device is correlated with the sales data to attribute the particular dispensed container content to a particular transaction/product sale. This correlation may be performed by matching the amount of contents dispensed from the container to at least one of the ingredient contents required for the transaction/product sale.
In some embodiments, the sensor device wirelessly provides the measurement data to a base station device, which relays the received measurement data to a network cloud server. However, since there may be a large number of sensor devices in a deployment environment, transmissions from different sensor devices to a base station may collide with each other. Additionally, it may take too much power for the sensor device to communicate using a bi-directional communication channel established to ensure delivery of measurement data. Thus, rather than using a two-way communication channel, the sensor device may broadcast measurement data in advertisement packets (e.g., advertisement packets using the bluetooth low energy protocol). Because there is no guarantee that the advertisement packet is received by the base station, advertisement packets that include the same measurement data are repeatedly broadcast by the sensor device based at least in part on the likelihood that the advertisement packet will collide with other advertisement packets from other sensor devices. For example, the number of repeated broadcasts of the advertising packet is based on a total number of sensor devices configured to communicate with the base station (e.g., a total number of sensor devices in the deployment environment). This allows for an increase in the repetition of advertising packets with an increase in collision opportunities due to an increase in the number of sensor devices. Once the base station receives the advertisement packet, it may extract payload content from the advertisement packet and provide at least a portion of the payload content to the server.
Fig. 1 is a diagram illustrating an embodiment of a fill level sensor device engaged in a container. The container 102 is filled with a liquid. In the example shown, the filling level sensor device 100 is configured as a container lid (e.g. a bottle cap pourer with a spout). The liquid filling level of the container 102 may be determined by measuring the distance between the sensor device 100 and the liquid surface of the container 102. As shown by line 104, the transmitter of the sensor device 100 emits a signal (e.g., an ultrasonic signal) that is reflected by the surface of the liquid. The reflected signal is detected by a receiver of the sensor device 100.
By measuring the amount of time it takes to receive the reflected signal, the distance the signal traveled before being reflected (e.g., the distance between the sensor device 100 and the liquid surface is half of the total distance the signal traveled) may be determined by multiplying the amount of time by the speed of the signal (e.g., the speed of sound).
In some embodiments, to determine the amount of time it takes to receive a reflected signal, the received reflected signal is filtered to isolate the desired signal (e.g., bandpass filtering the received signal), amplified and analyzed to detect spikes corresponding to the time at which the reflected signal was received. In analyzing the signal, a predetermined beginning portion of the received signal (e.g., a predetermined amount of time at the beginning of the signal) may be ignored for signals detected due to coupling between the transmitter and receiver of the sensor device 100. For example, when the transmitter transmits a signal, the signal may be received by a receiver of the sensor device 100 (e.g., a signal conducted through the sensor device 100 due to an undesired reflection or the like) before the signal is reflected by the contents of the container, and when a desired received reflected signal is identified, the undesired received signal received in the beginning portion of the received signal is ignored.
If the total distance between the bottom of the container 102 and the sensor device 100 is known, the filling height of the container 102 can be determined (e.g., the total distance between the bottom and the sensor device 100 minus the distance between the sensor device 100 and the liquid surface). If the shape and volume of the bottle are known, the volume of liquid contained in the container 102 can be determined. For example, the liquid volume corresponding to the determined filling level is determined using a table/database/data structure mapping the filling level (e.g. filling height, height between the liquid surface and the sensor device 100, etc.) to the liquid volume of the container. Different tables/databases/data structures may exist for different types of containers.
Fig. 2A is an example profile cross-sectional view illustrating an embodiment of the filling level sensor device. Fig. 2B is an example side cross-sectional view illustrating the sensor apparatus of fig. 2A. Fig. 2C is a diagram illustrating an example exterior profile view of the sensor device of fig. 2A. FIG. 2D is a diagram illustrating an example bottom section area close-up view of the sensor device of FIG. 2A. In some embodiments, sensor device 200 is sensor device 100 of fig. 1. In the example shown, the sensor device 200 is configured to function as a bottle stopper with a spout. The sensor device 200 includes a flexible receptacle coupling ridge 220 (e.g., an elastomer/rubber ring), the coupling ridge 220 allowing the sensor device 200 to couple to and seal the opening of the receptacle. However, in other embodiments, the sensor device 200 may be configured as a different lid for the container. For example, the components of the sensor device 200 may be included in a screw cap or any other cap that engages with a container.
Sensor device 200 includes circuit board 212. For example, the circuit board 212 is a printed circuit board. Circuit board 212 may connect together one or more of the following, included in sensor device 200: processors, memory, data storage devices, connectors, integrated chips, transmitters, receivers, accelerometers, tilt sensors, orientation sensors, solar panels, displays, gyroscopes, wireless data communication signal transmitters (e.g., components capable of communicating using bluetooth, Wi-Fi, other wireless protocols, etc.), and other electrical components. For example, a processor connected to the circuit board 212 provides commands to transmit acoustic signals using the transmitter, and processes the received signals to determine the fill level indicator. The filling level indicator may be wirelessly transmitted to another device, such as a mobile device, a computer, a display device or any other computing or display device, using a wireless data communication transmitter. The circuit board 212 is connected to the battery 206. The battery 206 provides power to the circuitry of the circuit board 212. The battery 206 may be rechargeable and/or replaceable. In the embodiment shown, at least a portion of the battery is in the neck of the sensor device 200. For example, when the sensor device 200 is engaged with a container, at least a portion of the battery is positioned inside the container. By placing the battery inside the neck of the sensor device 200 that is configured to be placed inside the container, space within the neck of the sensor device 200 that would otherwise be required for the ridge 220 to engage with the container is effectively utilized. As shown in the example, multiple batteries may be used and positioned longitudinally adjacent to each other in the neck of the sensor device 200. The housing of the sensor device 200 may be composed of one or more materials. Examples of materials include: food grade polymers, elastomers, plastics, rubbers (e.g., synthetic or otherwise), stainless steel, and other metals.
The sensor device 200 includes a spout 208. The spout 208 is a portion of an access channel (e.g., a hollow tube) that allows the container contents (e.g., liquid) to pass through, which is the tip opening from the bottom of the sensor apparatus 200 to the spout 208. The access channels are shown as channel 230 and channel 232. For example, when a container covered by the sensor device 200 is inverted, liquid contained in the container covered by the sensor device 200 can pass through the sensor device 200 and exit the opening of the spout 208. In some embodiments, the circuit board 212 includes an open aperture that accommodates a passage channel that allows the container contents (e.g., liquid) to pass through the circuit board. In other embodiments, the spout 208 may not be present in the sensor device 200. In some embodiments, the sensor device 200 includes a vent tube (vent tube) that allows air to enter the container covered by the sensor device 200 when the contents of the container are poured through the spout 208. In some embodiments, the sensor device 200 includes a motor (not shown) that draws out the contents of the container covered by the sensor device 200. An Air vent 235 allows Air to enter the container as the container contents are poured from the spout 208. The vent 235 allows air to flow to the bottom of the sensor device 200 (e.g., into the container) via the passage of the vent tube 237. The length of the breather tube 237 has been specifically selected to achieve a desired flow rate out of the spout 208. In various embodiments, the length of the snorkel 237 is between 3-12 centimeters. For example, the length of the snorkel 237 is substantially 7 centimeters. The breather tube 237 is sealed/blocked at the end of the breather tube. Instead of allowing air to flow through the blocked end, the vent tube 237 includes a side hole 238 through which air from the vent hole 235 may pass. By forcing air through the side holes 238, the air flow rate from the vent 235 may be controlled (e.g., reduced flow rate as compared to having a simple hollow tube with an open end as a vent tube). For example, the pressure differential created by standing the container upright may force the contents remaining inside the channel 230 as the contents are poured out of the spout 208, and the controlled airflow may reduce the occurrence of this. In some embodiments, by sealing/blocking the end of the vent tube 237, the likelihood that the contents of the container will be forced into the vent tube 237 when the container is tipped is reduced.
The circuit board 212 is electrically connected to the transmitter 204. In some embodiments, the transmitter 204 is an acoustic transmitter (e.g., an ultrasonic signal transmitter). For example, the emitter 204 is a speaker. In some embodiments, the emitter 204 is a piezoelectric speaker. In some embodiments, the transmitter 204 is configured to transmit signals within an ultrasonic frequency. In some embodiments, the transmitter 204 is configured to transmit signals between 1 kHz and 400 kHz, inclusive (e.g., transmitting at 300 kHz). In some embodiments, the transmitter 204 is configured to transmit a 29 kHz to 40 kHz signal. In some embodiments, the transmitter 204 is an acoustic pulse generator. The receiver 214 is electrically connected to the circuit board 212. In some embodiments, the receiver 214 is an acoustic receiver (e.g., an ultrasonic signal receiver). In some embodiments, the receiver 214 is a microphone. In some embodiments, receiver 214 is a microelectromechanical system (MEMS) microphone. For example, the size of the receiver 214 is 2 mm by 3 mm. The receiver 214 and the transmitter 204 are connected to the circuit board 212 via the connector 210. As shown in fig. 2C, connector 210 is routed from the bottom of device 200 to circuit board 212 via the neck of device 200. Examples of the connector 210 include: wires, buses, flexible printed circuit boards, and any other connector capable of transmitting signals. For example, the connector 210 is connected to the rear of the receiver 214 and transmitter 204 via one or more connectors mounted on the receiver 214 and transmitter 204.
In some embodiments, the emitter 204 and receiver 214 are placed in a protected compartment as debris, liquids, and other materials may affect the performance and durability of the emitter 204 and receiver 214 (e.g., when the spout 208 is used to pour the contents of the container). In some embodiments, a protective layer material covers the transmitter 204 and the receiver 214. Ideally, the protective material must not allow the passage of undesired materials while at the same time allowing the passage of signals (e.g., sound signals). A protective material 216 covers the emitter 204 and is attached around the edges of the assembly to form a compartment to house the emitter 204. A protective material 216 covers the receiver 214 and is attached to the edges around the assembly, forming a compartment to house the receiver 214. In some embodiments, the protective material 216 and the protective material 218 are the same continuous material. For example, the single joined sheet includes protective material 216 and protective material 218. In some embodiments, the protective material 216 and the protective material 218 are not continuous materials. For example, to maximize the decoupling of the transmitted signal of the transmitter 204 and the received signal of the receiver 214, the protective material 216 and the protective material 218 are not made of the same continuous material. In some embodiments, the protective material 216 and the protective material 218 are different materials. Examples of protective materials 216 and 218 include one or more of the following: mylar sheet, waterproof mesh, sound absorbing sheet, polytetrafluoroethylene, Gortek, Polytetrafluoroethylene (PTFE), polyethylene terephthalate (PET), polyethylene terephthalate glycol modified (PETG), polycarbonate, and any other suitable mesh or film that may be porous or non-porous. For example, mylar sheet coverings do not allow liquid to pass through, but rather behave like a drum allowing acoustic signals to pass through. In some embodiments, the protective material 216 and/or the protective material 218 is an acoustically transmissive liquid barrier material. In some embodiments, the protective material 216 and/or the protective material 218 are optional. In some embodiments, the protective materials 216 and 218 are attached to the device 200 via a food safe adhesive.
The gap distance has been designed to be between the emitter 204 and the protective material 216. For example, the emitter 204 is mounted in a manner that ensures a predetermined gap between the emitter 204 and the protective material 216. In various embodiments, the gap between the emitter 204 and the protective material 216 is approximately 0.2 millimeters. For example, to enable efficient transmission of an interrogation signal through the protective material, the transmitter and the protective material are positioned to create a designed gap having a preset distance to allow the protective material to efficiently transmit the interrogation signal. Effective vibration of the protective material can be achieved at a particular distance (e.g., a resonant distance) between the emitter and the protective material without directly attaching the emitter to the protective material. In some embodiments, the gap is an air gap between the emitter 204 and the protective material 216. In various embodiments, the gap may include other gases, liquids, and/or solids placed between the emitter 204 and the protective material 216 to achieve desired signal transmission properties via the gap and the protective material.
In some embodiments, the receiver 214 is in direct contact with the protective material 218. For example, the receiver 214 is mounted in a manner that ensures that the receiver 214 contacts the protective material 218. For example, to enable efficient reception of reflected interrogation signals by the protective material, the receiver is in contact with the protective material. In some embodiments, the receiver 214 is attached to the protective material 218 via an adhesive (e.g., a pressure sensitive adhesive). For example, the surface of the receiver 214 is coated with an adhesive and allowed to adhere to the protective material 218.
The transmitter 204 and receiver 214 are sealed and attached to the assembly 242 of the device 200 using potting material. For example, cavities behind the transmitter 204 and receiver 214 within the assembly of the device 200 are filled with potting material to secure the transmitter and receiver from movement, and to minimize/isolate direct signal transmission (e.g., to minimize signals reaching the receiver directly from the transmitter via the housing of the device 200). As shown, potting material 240 fills the cavity behind transmitter 204 and receiver 214. For example, potting material has been injected into the cavity through openings in the assembly of the device 200. The potting material 240 may be a solid or gel-like compound. For example, plastic, silicone, elastomers, epoxies, and/or rubber (e.g., synthetic or otherwise) may be used as potting material 240.
In some embodiments, to suppress signals/vibrations/noise reaching receiver 214 (e.g., from transmitter 204, conducted at least through assembly 242), at least a portion of receiver 214 is placed in contact with (e.g., coupled to) a damping material. For example, at least a portion of one or more sides and/or front of receiver 214 contact the damping material (e.g., placed between assembly 242 and receiver 214). Examples of damping materials include foam, elastomers, rubber (e.g., synthetic or otherwise), silicone, and/or polymers. In some embodiments, damping material is included in at least a portion of area 244 between assembly 242 and receiver 214 (e.g., receiver 214 is located in damping material placed within assembly 242, and damping material contacts both receiver 214 and assembly 242).
Device 200 includes drip (skip) collectors 234 and 236. Since the bottom of the device 200 is exposed to the contents of the container when the device 200 is engaged with the container, the liquid or other contents in the container may bead up on the device 200 and adhere to the device 200 (e.g., when the sensor is flipped to pour the contents out through the spout, or when the contents splash in the container during movement and transportation). The beading of the contents on the device 200 may interfere with the signal transmission and detection required to detect the fill level of the container. For example, when a bead forms on the protective material 216 and/or the protective material 218, it may interfere with signal transmission by the transmitter 204 and/or signal reception by the receiver 214. To reduce the chance of the contents remaining on the surface of the protective material 216 and/or the protective material 218, the drip collectors 234 and 236 must be shaped to remove the contents remaining on the bottom of the device 200. For example, when the device 200 is placed upright, the slope of the drip collector assists the attractive force of any beaded contents to move them away from the drip collector to return downwardly into the container. The bead contents remaining on the protective materials 216 and 218 may also be pulled back down the slope of the drip collector back into the container as the bead contents on the drip collector are pulled down the slope of the drip collector by gravity. In some embodiments, the drip collectors 234 and 236 help break up the surface tension of the contents deposited on the protective material 216 and/or 218 by suctioning the contents through the slope of the drip collectors 234 and 236, which utilizes the force of attraction down the slope of the drip collectors.
As shown, the drip collector 234 is adjacent to the protective materials 216 and 218 and forms a slope that connects the horizontal surface of the protective materials 216 and 218 to the vertical surface. Drip collector 234 is adjacent the opening of channel 232 and helps to remove the contents that bead/form on channel 232 and the lip edges (lip) of protective materials 216 and 218. The cusps (e.g., narrowing surfaces) formed by the shape of the drip collectors 234 and 236 allow for concentration of the contents as they flow down the drip collectors, thereby allowing for concentration of the contents, which helps to increase attraction and reduce surface tension. In some embodiments, the channel 232 (e.g., a stopper sensor device) is not present, and the drip collector 236 is shaped to form a ramp from the plane of the protective materials 216 and 218 to the vertical end of the drip collector 236. The surfaces of drip collectors 234 and 236 have been formed and/or coated to be substantially smooth (e.g., to further reduce friction/tension).
In an alternative embodiment, rather than utilizing a separate transmitter and a separate receiver, a transceiver that functions as both a receiver and a transmitter is utilized. For example, the receiver 214 is not utilized, and the transmitter 204 is a transceiver (e.g., a piezoelectric transceiver).
FIG. 3A is a diagram illustrating an example assembly of a pourer fill level sensor. Fig. 3A shows the components of the filling level sensor device 300. The filling level sensor device 300 is an example of the filling level sensor device 200 with a pouring spout shown in fig. 2A-2D.
The pouring spout 208 is made of metal and coated with metal (e.g., chrome). This may contribute to durability and pour flow rate. The sealing spacer 302 seals the content pouring channel to a vent channel between the components and also acts as a spacer to aid in alignment of the circuit board 212 during assembly. The circuit board 212 includes one or more holes to accommodate the dump channel and the vent channel. The vent tube 237 comprises a metal assembly and extends from a vent hole on the pour spout 208, through the seal spacer 302 and the circuit board 212, and through a drip collector 310 that includes a drip collector 234.
The housing 304 comprises a plastic and elastomeric component. Elastomeric ring 220 fits over the neck of housing 304. The battery holder 306 includes the battery 206 and is inserted inside the neck of the housing 304. The battery holder 306 allows the connector 210 to be routed from one end of the battery holder 306 near the transmitter and receiver to the other end of the battery holder 306 to allow the connector 210 to connect the transmitter and receiver to the circuit board 212. Sensor holder assembly 242 includes a frame to position the transmitter and receiver in assembly 242. The holder assembly 242 includes a raised edge surface with protective material (e.g., materials 216 and 218) adhered therein to cover the transmitter and receiver. The bracket assembly 242 is configured to be coupled to one end of the battery holder 306 such that the back of the transmitter and receiver faces the battery holder 306. After the battery holder 306 and the bracket assembly 242 are coupled together, a potting material may be injected into the cavity therebetween to attach the battery holder 306 and the bracket assembly 242 together and to seal the transmitter and receiver within the bracket assembly 242 (e.g., the back sides of the transmitter and receiver are exposed and attached to the potting material).
In some embodiments, the sealing material seals the edges of the protective material that is adhered to the bracket assembly 242, as well as the outer exposed surfaces of the potting material (e.g., the potting material exposed from the holes is used to inject the potting material between the battery holder 306 and the bracket assembly 242) to prevent them from being damaged by the contents of the container (e.g., alcohol, acidic beverages, etc.).
FIG. 3B is a diagram illustrating example components of a stopper fill level sensor. Fig. 3B shows the components of the filling level sensor device 350. The filling level sensor device 350 is an example of a filling level sensor device 200 without a pouring spout and utilizes many of the same components of the filling level sensor 200 shown in fig. 2A-2D.
The top cap 352 is made of metal. The spacers 354 aid in alignment of the circuit board 212 during assembly. The housing 304 comprises a plastic and elastomeric component. Elastomeric ring 220 fits over the neck of housing 304. The battery holder 306 includes the battery 206 and is inserted inside the neck of the housing 304. The battery holder 306 allows the connector 210 to be routed from one end of the battery holder 306 near the transmitter and receiver to the other end of the battery holder 306 to allow the connector 210 to connect the transmitter and receiver to the circuit board 212. Sensor holder assembly 242 includes a frame to position the transmitter and receiver in assembly 242. The holder assembly 242 includes a raised edge surface in which a layer of protective material (e.g., materials 216 and 218) is adhered to cover the transmitter and receiver. The bracket assembly 242 is configured to be coupled to one end of the battery holder 306 such that the back of the transmitter and receiver faces the battery holder 306. After the battery holder 306 and the bracket assembly 242 are coupled together, a potting material may be injected into the cavity therebetween to connect the battery holder 306 and the bracket assembly 242 together and to seal the transmitter and receiver within the bracket assembly 242 (e.g., the back sides of the transmitter and receiver are exposed and adhered to the potting material). In some embodiments, a sealing material is sealingly adhered to the edges of the protective material of the bracket assembly 242 and to the outer exposed surfaces of the potting material (e.g., the potting material exposed from the aperture is used to inject the potting material between the battery holder 306 and the bracket assembly 242) to prevent them from being damaged by the contents of the container (e.g., alcohol, acidic beverage, etc.).
Fig. 3C and 3D are diagrams illustrating cross-sectional profile views of a propagation chamber coupled to a sensor device. The sensor device 360 is a schematic example of the filling level sensor device 200 with propagation chamber shown in fig. 2A-2D. In some embodiments, the sensor device 360 is an example of the sensor device 300 of fig. 3A with a propagation chamber. In some embodiments, the sensor device 360 is an example of the sensor device 350 of fig. 3B having a propagation chamber. The sensor apparatus 360 includes and/or is coupled to a propagation chamber assembly 362. The propagation chamber assembly 362 forms a surrounding wall of the propagation chamber extending from the end of the sensor device 360 where signals are to be transmitted and/or received. Figure 3E is a diagram illustrating various embodiments of a propagation chamber assembly. In some embodiments, the illustrated propagation chamber assembly 380 is an example of the propagation chamber assembly 362 of fig. 3C and 3D. The propagation chamber assembly 380 is shown in fig. 3E in a view looking up into the propagation chamber from the bottom opening of the propagation chamber (e.g., the signal transmitted by the emitter exits the propagation chamber and the reflected signal enters the propagation chamber) to the top opening (e.g., the signal transmitted by the emitter enters the propagation chamber and the reflected signal exits the propagation chamber). The various propagation chamber components 380 are various different examples of propagation chamber components that may be coupled to the fill level sensor apparatus 200 shown in fig. 2A-2D, the sensor apparatus 300 of fig. 3A, and/or the sensor apparatus 350 of fig. 3B to form a sensor having a propagation chamber (e.g., shown in fig. 3C and 3D).
The sensor device 360 includes an emitter 204 and a receiver 214 covered by a protective material 216 and a protective material 218. In alternative embodiments, the protective material 216 and/or the protective material 218 are not utilized. When the transmitter 204 transmits an interrogation signal, the signal passes through the protective material 216 and into the propagation chamber 364. When the rebounded interrogation signal enters the propagation chamber 364 to pass through the protective material 218 to the receiver 214, the receiver 214 also receives the signal.
Although the embodiment shown in fig. 3D shows both the transmitter and receiver transmitting/receiving via the same propagation chamber, in other embodiments the transmitter and receiver may or may not utilize different propagation chambers. In an alternative embodiment, rather than utilizing a separate transmitter and a separate receiver, a transceiver that functions as both a receiver and a transmitter is utilized. A propagation chamber assembly 362 coupled to the end of the sensor device 360 replaces and functions as a drip collector. For example, the drip collectors 234 and 236 shown in the other figures are at least partially replaced by a propagation chamber assembly 362, the propagation chamber assembly 362 forming a tube through which the transmitted/received signals pass. The sensor device 360 shown in fig. 3C and 3D has been simplified to highlight various aspects of the embodiments. There may be other components not shown in this example. For example, any of the components of sensor devices 200, 300, and/or 350 may be included in sensor device 360.
The propagation chamber assembly 362 forms a wall of the propagation chamber 364 that extends away from the transmitter 204 and the receiver 214. For example, the propagation chamber assembly 362 forms a hollow chamber (e.g., a tube) that directs and propagates the acoustic signal emitted by the emitter 204 from a top end of the propagation chamber to another bottom end of the propagation chamber. The signal emitted by the transmitter 204 enters the propagation chamber 364 at the top end of the hollow chamber and has its output exiting the bottom end (e.g., distal end) of the hollow chamber. In some embodiments, the propagation chamber assembly 362 helps direct the acoustic signal (e.g., ultrasonic signal, acoustic pulse) emitted by the emitter 204 toward the direction of the distance to be measured (e.g., toward the bottom of the sensor 360, which will face the contents of the container covered by the sensor 360).
In some embodiments, it is desirable to reduce and/or attempt to eliminate any signal reflections within the propagation cavity 364 as the signal is directed from one end of the propagation cavity 364 to the other. For example, any undesired reflections may mask and impede the detection of the signal expected to be detected that is reflected by the contents of the container. In some embodiments, the inner walls of the hollow propagation chamber of the propagation chamber assembly 362 are substantially smooth (e.g., to prevent impedance mismatch). In some embodiments, the horizontal cross-sectional area of the hollow propagation chamber 364 formed by the propagation chamber assembly 362 increases in shape and/or size over the vertical distance between its signal input end closest to the transmitter 204 and another signal output end (e.g., distal end). In some embodiments, the shape of the opening at one end of the hollow chamber is different from the shape of the opening at the other end of the hollow chamber. For example, the shape of the opening of the emitter may be different than the desired shape of the signal output end of the propagation chamber assembly 362 (e.g., a desired shape to improve directionality of the signal in the container). In one example, the signal input end of the chamber of the propagation chamber assembly 362 is shaped in a first shape (e.g., oval) and the output open end of the other end of the chamber of the propagation chamber assembly 362 is shaped in a second shape (e.g., circular). The change in the horizontal cross-sectional shape of the hollow signal propagation chamber may be gradual from the first shape to the second shape at least partially across the vertical length of the propagation chamber assembly 362.
In some embodiments, the horizontal cross-sectional area of the hollow cavity of the propagation chamber assembly 362 varies along its vertical length (e.g., is only greater than or equal to the previous horizontal cross-sectional area of the hollow cavity from the input opening to the output opening of the propagation chamber assembly 362). For example, the circular cross-sectional area of the chamber of the propagation chamber assembly 362 is never reduced because the acoustic signal output by the transmitter travels down the chamber of the propagation chamber assembly 362. In some embodiments, the horizontal cross-sectional area of the chambers of the propagation chamber assembly 362 generally increases as the signal emitted by the emitter 204 travels down the propagation chamber assembly 362 toward the distal end of the propagation chamber assembly 362.
In some embodiments, the horizontal cross-sectional area of the hollow propagation chamber of the propagation chamber assembly 362 has one or more transitions in which the rate of change in the horizontal cross-sectional area of the hollow chamber transitions from one rate to another (e.g., a transition in which the slope of the inner wall of the hollow propagation chamber changes from one slope to another). For example, the horizontal cross-sectional area of the chamber of the propagation chamber assembly 362 increases at a constant first rate down the chamber along a first portion, then the horizontal cross-sectional area of the chamber increases at a different constant second rate down the chamber along a second portion, and then increases at a different constant third rate down the chamber along a third portion. This results in the slope of the inner wall of the chamber changing from a first slope to a second slope to a third slope. In the example shown in fig. 3D, two transitions 366 and 368 are shown, wherein the slopes of the inner chamber wall portions 370, 372 and 374 change. The rate of change of the corresponding horizontal cross-sectional area of the chamber 364 will also change down the chamber at transitions 366 and 368 (e.g., the rate of change in horizontal cross-sectional area becomes smaller to correspond to an increase in the slope of the inner wall).
In some embodiments, the slope of the inner wall of the chamber 364 of the assembly 362 redirects the signal emitted by the emitter 204 down to the contents of the container to be measured by reflecting the signal toward a desired direction. For example, when the transmitted interrogation signal has a large beam width and the sensor device is engaged with a container that has a narrow neck and that changes sharply in shape, reflections back from the contents of the container will include other alias names (alias) due to multi-path reflections and impedance changes. By using the cavity 364 to reduce the effective beam width of the signal, unwanted signal reflections can be mitigated. In some embodiments, a minimum beam width is highly desirable. For example, to measure distances in air using sound (such as 10 cm to 100 cm), lower frequencies in the ultrasonic frequency range may be preferred (e.g., 40 kHz). A smaller container opening will typically limit the diameter to no more than 30 mm in diameter. Larger surfaces may be able to generate higher frequencies, but they are generally not suitable for the desired application. For example, a smaller surface is needed to generate higher frequencies (e.g., N =2 fr). The voltage of the interrogation signal generator is proportional to the frequency. Additionally, in the case of a receiver, a smaller surface is less sensitive in detecting the reflected signal than a larger surface. Thus, these conflicting requirements and possible solutions severely constrain the construction of a sensor or signal source that can have a narrow beam width.
The angle of inclination of the inner walls of the chamber 364 helps to focus the signal beam so that the energy is collimated to travel down towards the contents of the container in the desired direction. In some embodiments, the inner wall of the chamber 364 formed by the assembly 362 includes an inner sidewall with a varying slope (e.g., a flat facet with varying different tilt angles, one or more curved facets with different tilt angles, etc.), and when the transmitted signal contacts the inner sidewall, the signal bounces off at an angle that directs the signal toward the desired signal direction. The illustrated chamber assembly 362 surrounds a portion of the transmitter (e.g., acts as a waveguide) and forms an angled wall of at least a portion of the open cavity from which the ultrasonic signal originates. In some embodiments, the end of the propagation chamber assembly 362 at least surrounds the transmission surface interface of the ultrasound emitter (e.g., the protective material/film in front of the emitter). The different slopes/facets of the inner wall of the chamber 364 allow different signal portions radiating from the emitter at different angles to be redirected towards the same desired direction.
In some embodiments, the height of the cavity 364 of the propagation cavity assembly 362 (e.g., the distance between the input opening and the output opening) is approximately 8 millimeters. In some embodiments, the height of the cavity 364 of the propagation cavity assembly 362 (e.g., the distance between the input opening and the output opening) is approximately less than or equal to 20 millimeters (e.g., between 10-20 millimeters). In some embodiments, the width of the cavity 364 of the propagation cavity assembly 362 is less than the opening size of the container (e.g., less than 30 millimeters). In various embodiments, the shape, length, and width of the propagation chamber assembly 362 and the chamber 364 may be any combination of shape, length and width configurations, and sizes.
In some embodiments, the propagation chamber assembly 362 functions as a drip collector. Because the bottom of the device 360 is exposed to the contents of the container when the device 360 is engaged with the container, the liquid or other contents in the container may bead up on the device 360 and adhere to the device 360 (e.g., when the sensor is flipped over to pour the contents out through the spout, due to condensation, or when the contents splash in the container during movement and transportation). Beading of the contents on the apparatus 360 (e.g., on a protective film on the transmitter, receiver, or transmitter receiver) may interfere with the signal transmission and detection required to detect the container fill level. For example, when a bead forms on the protective material 216 and/or the protective material 218, it may interfere with signal transmission by the transmitter 204 and/or signal reception by the receiver 214. To reduce the chance of the contents remaining on the surface of the protective material 216 and/or the protective material 218, the inner wall of the cavity 364 of the propagation cavity assembly 362 must be shaped to remove the contents remaining on the protective material 216 and/or the protective material 218. For example, when the device 360 is placed upright, the slope of the interior side walls of the chamber 364 facilitates the attraction of any beaded contents on the protective material of the emitter/receiver and/or the walls of the chamber 364 to return it downwardly into the container. The bead contents remaining on the protective materials 216 and 218 may also be pulled back down the slope of the drip collector into the container as the bead contents on the inner chamber walls are pulled down the slope of the inner walls of the chamber 364 by gravity. In some embodiments, the chamber wall that functions as a drip collector helps break the surface tension of the contents deposited on the protective material 216 and/or 218 by drawing the contents away via the slope of the inner wall of the chamber 364, which draws an attractive force down the slope that pulls the drip collector. In some embodiments, the surface of the inner wall of the chamber 364 formed by the assembly 362 has been formed and/or coated to be substantially smooth (e.g., to further reduce friction/tension as moisture is drawn away).
Examples of constituent materials of the propagation chamber assembly 362 include: food grade polymers, polycarbonate, polyethylene terephthalate (PETE), Polytetrafluoroethylene (PTFE), plastics, rubber, stainless steel, and other metals. In some embodiments, the interior hollow chamber of the propagation chamber assembly 362 is coated with a damping material. For example, an acoustic signal damping material (e.g., a rubber-like material) coats the plastic walls of the hollow chamber, and this coating can help reduce the amount of signal that bounces off the walls of the chamber.
FIG. 4 is a block diagram illustrating an embodiment of a system for an automated container content management environment.
The sensor devices 402 and 404 each include a sensor for automatically determining the amount of content remaining in the container covered by the sensor device. In some embodiments, sensor devices 402 and 404 each include sensor devices 100, 200, 300, 350, and/or 360 of fig. 1-3D. Although only two sensor devices are shown in fig. 4, any number of sensor devices may be present in various embodiments. Examples of sensor devices 402 and 404 include bottle caps, bottle caps with spouts, container caps, and any other container cap configured to cover at least a portion of an opening of a container.
In some embodiments, the sensor device detects the amount/level of content remaining in the container, and/or the flow output from the container, using one or more of: ultrasonic sensors, sonar sensors, inductive sensors, capacitive sensors, IR sensors, line sensors, video sensors, and the like.
In various embodiments, sensor device 402 and/or sensor device 404 include one or more of the following features:
● are used as threads or another part of the inductive sensor.
● senses the detection of expired contents of chemical composition and nutritional value by using humidity sensors, barometric pressure sensors, light sensors, pH sensors, and/or odor sensors.
● to receive an input mechanism for an identification of a food type classification (e.g., tequila, rum, 5% beer, etc.).
● to notify the user if the temperature is not optimal.
● click wheel input mechanisms based on mechanical and/or electrical components (e.g., capacitive sensors).
● are configured as displays to display quantity, expiration date, product type, nutrient information, temperature, last use information, and the like.
● to identify and connect to a wireless network radio (e.g., Bluetooth, WiFi, etc.).
● use accelerometers to detect motion to allow the ability to automatically turn power on/off on an as needed basis to optimize power consumption (e.g., an optimal power management algorithm to store, manage, and transmit information to minimize power usage).
● provide a touch sensitive screen for an interface for placing an order.
● impeller, flow restriction mechanism, or any conduit used in pouring the contents out of the container.
● mechanical clamp that allows measurement of quantity (quality) enclosed in an enclosure that isolates and protects the electrical system from all forms of liquids (e.g., a very tight seal).
● are resistant to corrosion and can operate at temperatures from-40F to 115F.
● capability to store and transmit only when a network connection is available.
● ability to associate information with a unique bar identity.
● are based on, but not limited to, a touch sensitive screen of resistors or capacitive sensors.
● allow for a one touch re-ordering mechanism (e.g., a screen associated with the sensor device, or as a separate screen or button independent of the sensor device).
● the sensor module, pourer and spout may be combined into a single unit, or the pourer and spout may be independent of the sensor and processor module.
● the impeller, flow restriction mechanism, and any additional conduits attached to the sensor device may also be attached to the sensor.
● hollow wedge configured to be sized to fit the neck size of the container bottle.
● to allow for differentiation of different sensor devices (e.g., based on type of beverage, contents, brand, etc.).
● may be used to clean a mechanical motor or other mechanism of the spout tip (e.g., using suction or air pressure for cleaning).
● may be attached to a mechanical or MEMS motor that generates air suction from within the bottle.
● seal the bottle and block the ability of oxygen to enter the bottle once air is evacuated from the container.
● replaceable and/or rechargeable batteries (e.g., the batteries may be charged using inductive charging (e.g., Qi) and/or resonant wireless charging).
The interface device 406 receives data from one or more sensor devices. For example, the sensor device 404 broadcasts an identifier of the amount of content remaining in the container covered by the sensor device 404, and the interface device 406 receives the identifier for storage and processing. In some embodiments, both sensor devices 402 and 404 need to be configured for a particular type of container to allow each sensor device to be able to more accurately measure the amount of content remaining in the container engaged by the sensor device. For example, the waveform of the ultrasonic signal emitted by the sensor of the container lid is to be specifically configured for the shape/size of the container. In some embodiments, the interface device 406 is paired with the sensor device (e.g., via a wireless bluetooth connection) to transmit configuration data specific to the type of container associated with the sensor device. In some embodiments, the user utilizes the interface device 406 to specify the type of container associated with a particular sensor device. In some embodiments, a user utilizes the interface device 406 to view, manage, and/or configure one or more associated sensor devices. For example, the user utilizes the application of the interface device 406 to configure the sensor device, view an inventory of remaining contents measured by the sensor device, and automatically order low inventory contents. Examples of interface devices 406 include: mobile devices, smart phones, smart watches, wearable computers, laptop computers, desktop computers, and any other type of computer. In some embodiments, the interface device is also a charging station for one or more sensor devices. In some embodiments, the charging station includes a mechanism to disinfect the sensor device (e.g., via a suction cleaning, heating, blow drying, etc. mechanism).
In some embodiments, the interface device 406 (e.g., a base station) acts as a central communication hub for all sensor devices of users within a certain proximity. In some embodiments, the interface device 406 is associated with a particular user. Multiple interface devices may be utilized to manage the same set of sensor devices. For example, multiple interface devices may communicate with each other and/or with a back-end server to synchronize data. In some embodiments, the interface device 406 includes a bluetooth, bluetooth low energy, and/or wireless (402. x) protocol based wireless chipset. In some embodiments, the interface device 406 includes a display to display sensor device status, beverage volume, recipe, order reminder, and the like. In some embodiments, the interface device 406 communicates with a point of sale (POS) system to correlate sales data with measured content utilization/consumption/depletion. In various embodiments, the interface device 406 (e.g., a base station) includes one or more of the following:
● for informing the user about the status of the sensor device, the amount of beverage, the recipe, reminders, etc.
● touch sensor or blinking LED based communicator to pair the sensor devices.
● data storage means to store data from thousands of sensor devices for at least days to a month.
● with point-of-sale systems.
● ability to communicate with the cap sensor device to collect beverage volumes on demand.
● communicate with the cap sensor device to re-pair itself to a new container and provide the ability for new configuration parameters.
● ability to communicate with a sensor device to draw oxygen from the bottle.
The interface device 406 is connected to a server 410 (e.g., a back-end server) over a network 408. In some embodiments, the server 410 remotely stores and/or processes measurement data received from the sensor devices. For example, measurement data periodically broadcast by sensor devices 402 and 404 is received by interface device 406, and interface device 406 provides the received data to server 410 for storage and/or back-end server processing. In some embodiments, the interface device 406 and/or the server 410 utilize the measurement data of the sensor device to calculate the amount of content remaining in the container engaged by the sensor device. For example, the percent fill of the contents remaining in the container is calculated using the round trip signal reflection time measured by the sensor device. In some embodiments, the server 410 processes current and/or historical content measurements to provide analytics (e.g., consumption patterns, determining inventory, analyzing costs of sold goods, identifying popularity trends, etc.) and inventory management solutions (e.g., inventory forecasting, inventory planning, automated inventory ordering, etc.). In various embodiments, the server 410 provides one or more of the following functions:
● storage of beverage related data providing a view of the beverage consumption pattern of the service owner, these data being: beverage name, type of liquid, brand, UPC or bar code, amount, price, distributor, date and time of purchase, serving size per use, time of serving consumption, location, expiration date, chemical composition, odor, color, temperature, humidity, ingredients used, and amount of various nutrients (e.g., sulfite, ethyl, carbohydrate, protein, fat, sugar, etc.).
● to uniquely associate various devices that help collect beverage data with each user and their inventory.
● the ability to listen, collect, and store millions of devices at any given point in time.
● inform the user of the ability to reorder the necessary beverages or to automatically reorder and replenish from the distributor.
● are used to analyze, learn and predict the amount of beverage/food product desired by a user and the consumable status (e.g., expiration date) of the item.
●, the ability to set a threshold level of beverage that triggers notification of a reorder being made.
● provide the ability to notify when the beverage temperature is not ideal and the beverage needs more adequate storage.
● provide the ability to notify when the oxygen level in the bottle exceeds a threshold of the permitted ventilation level.
● the ability to set thresholds for inventory based on category, brand, beverage type, and recipe.
● provide the ability to notify in real time when inventory levels fall below a threshold level.
A user utilizes user device 412 to set up, configure, view, and/or otherwise interact with one or more of the components shown in fig. 4. For example, a user utilizes the user device 412 to set up and/or configure one or more sensor devices 402. In another example, a user utilizes user device 412 to configure, view, and/or interact with data and configurations managed, tracked, and/or analyzed by server 410. Examples of interface devices 406 include: mobile devices, smart phones, smart watches, wearable computers, laptop computers, desktop computers, and any other type of computer. The user device 412 is optional. For example, the interface device 406 may include a touch screen that may be used to perform one or more functions of the user device 412. User device 412 is connected to network 408 and may communicate with any of the other components shown in fig. 4 via network 408. User device 412 may also communicate directly with one or more of the other components shown in fig. 4. For example, the user device 412 may communicate directly with the interface device 406 and/or one or more sensor devices 402 via a bluetooth connection.
In some embodiments, the system shown in fig. 4 is utilized in a bar/restaurant environment to automatically track and manage the inventory of wine remaining in wine bottles. Each wine bottle is capped using a sensor device configured to be a cap for the wine bottle. In some embodiments, the sensor device detects the amount of liquid/beverage remaining in each bottle and broadcasts the detected amount to the interface device 406. The interface device reports the received volume information to the server 410. In some embodiments, the server 410 provides an online interface to manage container content (e.g., beverage) inventory. For example, a bar/restaurant user entity may access the server 410 via the interface device 406, an application of the user device 412, and/or a web interface provided by the server 410 to view and manage the inventory of one or more tracked beverage products. Inventory information (e.g., including inventory remaining in the open container and existing full bottle inventory in storage as measured by the sensor device) may be automatically updated and viewed and derived in real-time. The inventory of products may be categorized by brand, type of beverage (tequila, whiskey, etc.), formula (e.g., the amount of each blended beverage that can be made using the remaining inventory), and/or popularity. In various embodiments, the system provides one or more of the following functions:
● to export or import an entire inventory of beverages categorized by brand, beverage type (e.g., tequila, whiskey, etc.), recipe, and popularity.
● (either physically or through software identifiers) mark the sensor devices' manual or automated processes/techniques for tracking which sensor device corresponds to each beverage listed in the tracked inventory.
● the ability to register and identify a base station for a particular user account.
In some embodiments, the server 410 learns consumption patterns, nutrients, and preferences in various types of beverages, flavors, tastes, and brands for a particular user account associated with one or more sensor devices. In some embodiments, using the interface device 406 and/or the user device 412, the user is able to access information regarding consumption, humidity, oxygen content, inventory, beverage formula, and seasonal recommendations associated with current inventory detected using one or more sensor devices. In some embodiments, using the interface device 406 and/or the user device 412, a user may enter the marketplace to order beverages from various distributors and delivery services. In some embodiments, the user is notified via the interface device 406 and/or the user device 412 that replenishment of beverage inventory is required, and may also be directly notified to one or more distributors to place one or more appropriate orders. In some embodiments, the interface device 406 and/or the user device 412 provide recommendations for various beverage formulas based on the existing inventory detected using the one or more sensor devices. In some embodiments, consumption data obtained across multiple different user entities may allow trend analysis and manufacturing predictions across user entities.
In some embodiments, a sensor device comprises: a mechanism to control and limit the amount of beverage poured through the spout of the sensor device. In some embodiments, the sensor device includes a mechanism to draw oxygen from the container and reseal the container. For example, to maintain wine freshness, the sensor includes an electronic air pump that draws air out of the container. In some embodiments, the sensor device comprises or has more sensors to detect the temperature, humidity, acidity and/or nutritional value of the contents comprised in the container. The detected sensor information may be transmitted to an interface device and/or a server (e.g., interface device 406 and/or server 410). In some embodiments, a notification is provided to the user when the detected content temperature and/or oxygen level is outside of the recommended range.
One or more of the following may be included in network 408: direct or indirect physical communication connections, mobile communication networks, the internet, intranets, local area networks, wide area networks, storage area networks, wireless networks, cellular networks, and any other form of connecting two or more systems, components, or storage devices together. Additional examples of any of the components shown in fig. 4 may exist. For example, the server 410 may be a distributed server and/or may be connected to multiple interface devices. In another example, multiple interface devices may be utilized to manage and/or utilize the same or different container lids. In some embodiments, components not shown in FIG. 4 may also be present.
FIG. 5 is a flow chart illustrating an embodiment of a process for providing a configuration of a sensor device. The process of fig. 5 may be implemented at least in part on the interface device 406 and/or the user device 412 of fig. 4. In some embodiments, the sensor device measures the amount of content included in the container (e.g., the sensor device is a bottle cap that measures the amount of liquid remaining in a bottle capped by the sensor device), and the sensor device must be configured for the particular container type of container so that the sensor device can more accurately measure the amount of content in the container. For example, various types of containers are shaped differently, and the optimal signal waveform used to measure the amount of content included in the container may depend on the shape of the container. In some embodiments, to achieve consistent and accurate measurements, the gains at various depths are varied to help increase the received signal strength. The gain can be varied by varying the frequency and the number of pulses. For example, a higher frequency and lower number of pulses may result in better resolution at the top of the bottle/container, while a lower frequency and higher number of pulses may result in better resolution toward the bottom of the bottle/container (e.g., changing the pulses and frequency acts like tuning of an organ pipe). Bottles and containers may have dead zones where measurements cannot be obtained due to standing waves. The dead zone can be overcome by continuing to pulse at the same frequency or using a large number of pulses. In some embodiments, the depth measurements provided by the sensor device are converted into volumetric and/or percentage measurements using the shape/volume profile of the container type associated with the sensor device. In some embodiments, the process of fig. 5 is initiated when a user initiates a sensor device configuration process using an interface device.
At 502, a sensor device identifier of a sensor device is received. In some embodiments, the sensor device is the sensor device 100, 200, 300, 350, and/or 360 of fig. 1-3D. In some embodiments, the sensor device is sensor device 402 or 404 of fig. 4. In some embodiments, the sensor device identifier has been transmitted wirelessly by the sensor device. For example, the sensor device broadcasts the unique identifier of the sensor device using bluetooth (e.g., bluetooth low energy), WiFi, and/or other local or short range wireless communication protocols/signals. In some embodiments, receiving the sensor device identifier includes listening for signals from a desired type of device (e.g., listening for signals identified as being transmitted by the sensor device). In some embodiments, the sensor device identifier is received via a wired connection. In some embodiments, the sensor device identifier has been transmitted by the sensor device in response to a user indication to the sensor device. For example, when a button on the sensor device is pressed for at least a threshold period of time, the sensor device transmits a sensor device identifier.
At 504, it is determined whether a sensor device identifier has been associated with the container type. For example, at 514 of fig. 5, the sensor device has previously been configured for a particular container type. In some embodiments, the user desires to know which container type has been associated with the sensor device. For example, a user may have multiple sensor devices that have each been configured for use with and are capped on a particular type of container. A user may need to remove all sensor devices from their associated container to clean them. For example, certain food service health regulations may require a restaurant/bar to periodically clean the bottle cap spout and configure the sensor device as the bottle cap spout. However, since each sensor device has been configured for a particular container, once the sensor device has been cleaned, it may be necessary to return the sensor device to the correct particular type of container associated with each sensor device. While an alternative is to reconfigure each sensor device after it has been cleaned, the process of reconfiguring each sensor device may be inefficient and cumbersome to perform after each cleaning as compared to simply returning each sensor device to the correct particular type of container.
In some embodiments, determining whether the sensor device identifier has been associated with the container type comprises: a determination is made whether a storage structure (e.g., a table, database, list, etc., stored locally at the interface device and/or remotely at a back-end server) includes an entry associating the sensor device identifier with the container type. In some embodiments, determining whether the sensor device identifier has been associated with the container type comprises: information received from the sensor device is analyzed. For example, the sensor device provides data indicating that the sensor device has been associated with and configured for a container type.
If it is determined at 504 that the sensor device identifier has been associated with a container type, at 506, an indication of the container type is provided. For example, an identifier of the container type is displayed on the screen of the interface device to allow the user to return the sensor device back to the container belonging to the displayed type. In some embodiments, an indication of the last determined amount/level of remaining content determined using the sensor device is provided. For example, there may be multiple containers of the same type, and using the amount/level information of the contents, the user can return the sensor device back to the identified container type with the identified level of contents. In some embodiments, an indication is received from the user to reconfigure the sensor device, and the process proceeds to 508 (not shown). For example, although the sensor device has been associated with a container type, the user desires to associate the sensor device with a different container type and the user presses a button on the sensor device to reconfigure the sensor device.
If it is determined at 504 that the identifier has not been associated with a container type, then at 508, communication is established with the sensor device. For example, a wireless communication channel is established. In some embodiments, a bluetooth connection is established. For example, the sensor device is paired with the interface device, and the sensor device enters a paired communication mode.
At 510, an identification of a container type to be associated with a sensor device is received. In some embodiments, the container type identifies the type of container to be covered/capped/engaged by the sensor device. For example, an identification of a particular beverage bottle type to be capped by the sensor device is received.
In some embodiments, the container type identification is received via a user indication. For example, the user selects a container type from the list of container types. In some embodiments, receiving the container type comprises: an identification of a product and/or package to be engaged with the sensor device is received. For example, the user indicates a product to be engaged with the sensor device (e.g., a wine product in a designated package). In some embodiments, there is a database of container types for various types of commercially sold beverage packages, and the database is used to determine the container type corresponding to the user identification of the product.
In some embodiments, receiving the identification of the container type includes receiving a camera image. For example, using a camera of the interface device, a user captures an image of at least a portion of a container to be associated with the sensor device and analyzes the image (e.g., an image of a label on a product package) to automatically determine a container type of the container.
In some embodiments, receiving the identification of the container type comprises: a barcode/product identifier associated with a container type is received. For example, using the interface device, a user captures an image of a barcode (e.g., a UPC barcode) on a product container to be associated with the sensor device and analyzes the image to read a barcode identifier of the container. In some embodiments, the container type corresponding to the barcode identifier is identified. For example, the barcode identifier is used to search a database that includes entries that associate the barcode identifier with a corresponding container type. In some embodiments, the barcode identifier is provided to the server, and the server provides the corresponding container type identifier. In some embodiments, there are multiple container types associated with the barcode/product identifier, and the user provides an indication to indicate a particular container type of the multiple container types associated with the sensor device.
In some embodiments, the sensor device measures a distance between the sensor device and a level of liquid remaining in the container to determine the liquid fill level. For example, the transmitter of the sensor device emits a signal (e.g., an ultrasonic signal) that is reflected by the surface of the liquid in the container. The reflected signal is detected by a receiver of the sensor device. By measuring the amount of time it takes to receive a reflected signal, the distance the signal travels before being reflected (e.g., the distance between the sensor device and the liquid surface is half of the total distance the signal travels) can be determined by multiplying the amount of time by the speed of the signal (e.g., the speed of sound).
In order to correctly determine the amount of content included in the container from the distance information, various parameters of the container must be known. For example, the height of the interior of the container, as well as the change in the cross-sectional volume/area of the container across various depths of the container, is required to calculate the amount/percentage of the contents remaining in the container. In one example, if the total distance between the bottom of the container and the sensor device is known, the fill level of the container can be determined (e.g., the total distance between the bottom and the sensor device minus the distance between the sensor device and the liquid surface). If the shape and volume of the container are known, the volume of liquid contained in the container 102 can be determined. In some embodiments, the container type identification is utilized to obtain a formula/table/database/data structure that maps the measured distance (e.g., fill height, height between the liquid surface and the sensor device, etc.) to a corresponding remaining content volume/percentage for a particular container type.
At 512, the identified container type is associated with the sensor device. In some embodiments, associating the container type with the sensor device comprises: a data entry associating the container type with the sensor device identifier is stored (e.g., in a database). For example, a database of associations between various sensor device identifiers and corresponding associated container types is maintained at an interface device (e.g., device 406 of fig. 4) and/or a backend server (e.g., server 410 of fig. 4). The database may also be used to store the determined contents volume/level of the container that the various sensor devices are tracking.
At 514, a configuration corresponding to the identified container type is provided to the sensor device. In some embodiments, a sensor device configuration specific to the identified container type is obtained and provided to the sensor device for configuration. For example, the sensor device needs to be configured for a particular type of container type, so that the sensor device can more accurately measure the amount/level of the content remaining in the container. In some embodiments, the configuration corresponding to the identified container type is provided via the communication established with the sensor device in 508.
In some embodiments, a sensor device comprises: a transmitter for transmitting a signal and a receiver for receiving a signal that has been reflected. It may be necessary to specifically configure the parameters of the transmitted signal for the container containing the contents to be measured. For example, to reduce unwanted reflections within the container, the transmission signal is generated based on parameters specifically configured for a particular container type. In some embodiments, the configuration specifies the waveform/shape of the signal, the length/width (e.g., pulse width) of the signal component, the profile of the signal component, the content of the signal component, the number of pulses in the signal component, the frequency of the signal component, the amplitude/intensity of the signal component, the modulation of the signal component (e.g., the pulse width modulation to be utilized), the duty cycle of the signal component, and so forth. For example, the signal includes one or more component signal pulses, and the configuration specifies the shape/waveform of each signal pulse. In some embodiments, the configuration specifies a plurality of signal pulses to be transmitted sequentially to measure the amount/level of the contents of the container. In some embodiments, varying the frequency and amount of the waves helps to resonate with the microphone at different heights in different bottles. In some embodiments, the configuration specifies a configuration of a receiver of the sensor assembly. For example, the type and/or parameters of one or more signal filters to be used to filter the received reflected signal are specified by the configuration. In another example, the automatic gain controller settings/parameters are specified by the configuration.
In some embodiments, the configuration specifies one or more configurable threshold settings to be used to detect when the receiver receives a reflected signal. For example, a signal transmitted by the transmitter is reflected within the container, and the receiver is listening for the reflected signal. However, noise and other factors may cause the receiver to receive an undesired signal. To detect a desired reflected signal that is stronger than noise, the detection threshold may be adjusted so that a received signal having an amplitude/energy above the threshold is detected as a reflection of the transmitted signal, while signals having an amplitude/energy below the threshold are ignored as noise. However, the ideal threshold may vary in view of the bottle shape and the differences in the transmitted signal. These differences in configurable threshold settings may be specified by the provided configuration to enable the filling level sensor to dynamically adjust the threshold as indicated based on the environment of the filling level detection.
In some embodiments, the provided configuration specifies a plurality of different sets of configuration parameters for different filling levels of the container. In some embodiments, one or more sets of configuration parameters are indexed according to corresponding contents levels. For example, each set of configuration parameters corresponds to a different range of the filling level of the container. In some embodiments, an initial approximate filling level is determined using a default set of configuration parameters, and a more specific filling level is determined with a more specific set of configuration parameters corresponding to the initial approximate filling level based on the initially determined approximate filling level. The default set of configuration parameters may be specific to a particular detected container (e.g., a default set of configurations is provided to the sensor device based on the container type), or the same across multiple different types of containers (e.g., a default set is pre-configured into the sensor device). In some embodiments, each set of configuration parameters may specify one or more parameters for a signal (e.g., an interrogation signal) to be transmitted for reflection from the contents of the container, and/or one or more parameters for receiving and processing the reflected transmitted signal.
In some embodiments, each set of configuration parameters is associated with and indexed by a particular range of content fill levels, the particular range corresponding to a time at which a particular set of configuration parameters is to be utilized. For example, when the detected filling level is between 0-100 mm (e.g. for the bottom region of the container), then a first set of configuration parameters is to be utilized; when the detected filling level is between 101-; and when the detected filling level is above 200 mm (e.g. for the top area of the container), a third set of configuration parameters is to be utilized.
FIG. 6 is a diagram illustrating an embodiment of a user interface for specifying a container type to be associated with a sensor device. In some embodiments, the interface of FIG. 6 is provided on the user device 412 and/or the interface device 406 of FIG. 4. In some embodiments, the interface of FIG. 6 is utilized to provide the container type received in 510 of FIG. 5.
Interface screen 602 instructs the user to turn on the sensor device (e.g., by pressing a button on the sensor device for at least a specified period of time, the sensor device turns on and broadcasts its identifier) and the interface device attempts to detect the sensor device (e.g., listens for a new bluetooth LE signal from the sensor device). When a sensor device has been detected, a connection is established with the sensor device (e.g., the communication established at 508 and the configuration provided in 514 of fig. 5). Interface screen 604 shows a viewfinder display of real-time camera images. Using the displayed viewfinder, the user is to capture an image of the barcode printed on the product container. For example, when a barcode is captured within the parenthetical reference shown, the barcode is read and analyzed to determine if it is a known barcode corresponding to a particular container type. Once a valid barcode is detected, the interface proceeds to interface screen 606. In the example shown, the interface screen 606 confirms that a barcode corresponding to a container type of "3 vodka 750 ml" containing vodka contents has been detected. The user is instructed to place the sensor device on the container containing the contents to be measured. Once the sensor device has been engaged with the container, the user selects the "+" icon and detects the amount/level of the contents of the container. The interface proceeds to an interface screen 608 in which a representative image of the container type, product, and the most recently detected amount/level of remaining contents (e.g., remaining percentage) are displayed.
FIG. 7 is a flow diagram illustrating an embodiment of a process for determining one or more sets of configuration parameters for a container. For example, the configuration provided in 514 of fig. 5 and/or received in 806 of fig. 8 is determined using, at least in part, the process of fig. 7. The process of fig. 7 may be repeated for each different type of container.
At 702, a container to be subjected to profile analysis (profile) is selected. For example, a bottle is selected for profile analysis to determine its configuration parameters. Selecting a container may include: scanning a barcode of the container, capturing a label of the container, selecting/providing an identifier of the container, etc.
At 704, a profile analysis is performed on the selected container at the current fill level. In some cases, the container is initially full, and a contour analysis is performed on the full container. In some embodiments, profiling the container comprises determining an expected current fill level of the container. For example, the expected filling level is determined with an authoritative measuring device. An authoritative measuring device may be a special measuring device that provides a highly accurate measurement of the depth of the filling level of the container. In some embodiments, image processing is used to determine the expected current filling level. For example, an image of the container is captured, and the expected fill level of the container is determined by processing the captured image to identify the depth of the fill level captured in the image. In some embodiments, a scale is used to determine the expected current filling level. For example, the weight of an empty container is known and/or measured, and the weight of a container filled at the current filling level is measured. Based on the difference between these weights and the density of the contents and/or the known shape profile of the container, the expected fill level is determined. Once the expected filling level is determined, the configuration of the sensor device (e.g. device 200) that will produce a filling level measurement closest to the desired filling level may be identified by iterating through various combinations of configuration parameters.
In some embodiments, a sensor device (e.g., device 200) is placed (e.g., covered) on a container, and the sensor device is configured to iterate through various configuration parameters. For example, measurements are carried out using various combinations of interrogation signal parameters and receiver parameters, and corresponding measurements (e.g., identified fill/distance values) for the various combinations are stored. The combination of varying various configuration parameters may include various parameters for one or more of the following for the interrogation signal: the waveform/shape of the signal, the length/width (e.g., pulse width) of the signal component, the profile of the signal component, the content of the signal component, the number of pulses in the signal component, the frequency of the signal component, the amplitude/intensity of the signal component, the modulation of the signal component (e.g., the pulse width modulation to be utilized), the duty cycle of the signal component, and the like. The combination of varying various configuration parameters may include: various parameters for one or more of the following for the signal receiver: automatic gain control, variable gain amplifier, detection threshold, etc. For example, for a given interrogation signal having the same energy, the content reflected signal will be higher in energy (e.g., a higher detection threshold is required) for a higher fill level than for a lower fill level (e.g., a lower detection threshold is required because the reflected interrogation signal must travel a greater distance and undergo greater attenuation).
At 706, it is determined whether the container is empty. For example, whether the container is empty is determined based on the weight of the container.
If at 706 it is determined that the container is not empty, at 708, the contents of the selected container are removed in incremental amounts. For example, the container is emptied of a controlled amount of the contents for the next profile analysis of the container at a new fill level. In some embodiments, the amount of contents removed from the container is a preconfigured amount based on volume, weight, and/or height of the contents. For example, the contents are removed from the container such that the height of the contents in the container drops by 1 mm. In some embodiments, incremental amounts of the contents are automatically removed. For example, a spout and valve/pump have been added to the container (e.g., the container has been drilled near the bottom of the container and the spout/valve/pump has been added), and the valve and/or pump is automatically controlled to empty a predetermined amount of the contents. Once the increased amount of contents has been emptied, the process returns to 704 where a profile analysis is performed on the new fill level of the container at 704.
If at 706 it is determined that the container is empty, at 710 the determined measurements for various combinations of configuration parameters at various content fill levels are analyzed to identify groupings of content fill level ranges and a corresponding set of configuration parameters for each content fill level range. For example, for each profiled content fill level, the various fill level measurements for various configuration parameter combinations are sorted and ordered based on proximity to the expected fill level. Then, a set of configuration parameters is identified which will result in a filling level measurement within an acceptable tolerance of the maximum continuous range of filling levels. Then, for the remaining filling level range, a next set of configuration parameters is identified, which parameters will result in filling level measurements within an acceptable tolerance of the maximum continuous range of the remaining filling levels. This process of identifying the next set of configuration parameters is repeated until all filling levels have been covered by the filling levels of the corresponding set of configuration parameters.
At 712, the content fill level ranges and the corresponding configuration parameters for each range are stored as a configuration of the container type of the selected container. For example, at least a portion of the stored configuration is provided at 514 of FIG. 5 and/or received at 806 of FIG. 8 as a configuration for a particular type of container.
FIG. 8 is a flow chart illustrating an embodiment of a process for configuring a sensor device. The process of fig. 8 may be implemented on sensor devices 100, 200, 300, 350, and/or 360 of fig. 1-3D.
At 802, a sensor device identifier is broadcast. In some embodiments, the sensor device identification is the identification received at 502 of fig. 5. In some embodiments, the sensor device identifier is transmitted in response to entering a pairing mode for the sensor device. For example, the sensor device enters a bluetooth pairing mode to advertise the sensor device's availability for pairing. In some embodiments, the sensor device identifier is broadcast in a bluetooth advertisement/beacon mode. In some embodiments, the sensor device is first operated in a paired mode (e.g., generic attribute profile (GATT) client/server) and then switched to an advertisement/beacon mode. In some embodiments, the sensor device identifier is broadcast in response to engagement of a button of the sensor device. For example, when a user presses a button on the sensor device for at least a threshold amount of time, the sensor device enters a mode that broadcasts the sensor device identification.
At 804, communication with an interface device is established. In some embodiments, establishing the communication includes establishing the communication established in 508 of fig. 5. In some embodiments, a bluetooth connection is established. For example, the sensor device is paired with the interface device and the sensor enters a paired two-way communication mode.
At 806, a configuration is received from the interface device. In some embodiments, the received configuration is the configuration provided in 514 of fig. 5. In some embodiments, the received configuration specifies one or more parameters of an interrogation signal to be reflected from the content within the container to measure the amount and/or the filling level of the content comprised in the container. In some embodiments, the configuration specifies one or more parameters of the receiver of the received reflected interrogation signal. In some embodiments, the configuration specifies one or more reflection detection thresholds.
In some embodiments, the configuration specifies one or more parameters of the filter to apply to the received reflected interrogation signal. In some embodiments, the configuration specifies one or more parameters of an automatic gain controller of the receiver. In some embodiments, the configuration includes an identifier of the profile, which has been stored in the data storage of the sensor device.
In some embodiments, the received configuration specifies a plurality of different sets of configuration parameters. For example, each group corresponds to a different fill level of the container (e.g., each group is indexed to a range of fill levels). In some embodiments, an initial estimated filling level is determined using a default set of configuration parameters (e.g., the default set of configuration parameters is included in the received configuration), and a more specific set of configuration parameters included in the received configuration is identified based on the initial estimate of the filling level to be used to determine a more accurate filling level.
In some embodiments, each set of configuration parameters identified by a received configuration specifies one or more signal parameters to generate a unique interrogation signal corresponding to that set. For example, each set of configuration parameters specifies one or more of the following parameters of the signal to be transmitted: the waveform/shape of the signal, the length/width (e.g., pulse width) of the signal component, the profile of the signal component, the content of the signal component, the number of pulses in the signal component, the frequency of the signal component (e.g., changing the frequency of the input signal to the speaker changes the frequency spectrum of the speaker output), the amplitude/intensity/energy of the signal component, the modulation of the signal component (e.g., the pulse width modulation to be utilized), the duty cycle of the signal component, and so forth. In some embodiments, each set of configuration parameters is identified/indexed for use with a specified range of container fill levels. For example, because the shape of the empty portion of the container (e.g., resulting in different reflection patterns) and the distance that the interrogation signal must travel may vary with the fill level of the container, different interrogation signals, detection thresholds, and/or receiver settings are to be used for various different fill levels, and the signal parameters of these different interrogation signals are specified as different sets of configuration parameters. In some embodiments, the same interrogation signal may be used for a particular container regardless of the fill level.
In some embodiments, the interrogation signal is shaped to produce an interrogation signal that is: the interrogation signal will result in a received signal having signal properties for more accurate and consistent threshold detection to detect reflections of the interrogation signal. In some embodiments, the interrogation signal is shaped to produce an interrogation signal that is: the interrogation signal will result in a received signal with narrow spikes for more accurate and consistent spike detection of the received reflected signal. When multiple pulses are included in the interrogation signal, the received signal is a convolution of the received signal components of the pulses. The resulting signal may be shaped by varying the number, amplitude, width, etc. of the pulses to produce narrow spikes (e.g., correlated spikes that detect the time/length of interrogation signal travel to determine the fill level). For example, the pulse width modulation to be performed is specified by a received set of configuration parameters.
In some embodiments, while the manufacturer/supplier specification of the speaker to be used to transmit the interrogation signal specifies the minimum energy of the input signal to the speaker, the configuration parameters specify the signal energy; the signal energy is below the specified rated energy of the speaker manufacturer/supplier. For example, while the manufacturer specifies that the nominal voltage that should be supplied to the speaker is 6 volts, the configuration parameters to be supplied to the speaker specify a voltage between 2-2.8 volts. In another example, a voltage as low as 1 volt is provided to the speaker.
In some embodiments, the received configuration specifies configuration parameters of the signal receiver. For example, parameters of automatic gain control, variable gain amplifiers, detection thresholds, etc. are specified in the received configuration for receiving and processing the reflected interrogation signal. In some embodiments, the received configuration specifies a plurality of different sets of receiver configuration parameters. For example, each set of receiver configuration parameters corresponds to a different current fill level (e.g., range) of the container (e.g., different receiver configuration parameters corresponding to different sets of interrogation signal configuration parameters for various different fill level ranges).
FIG. 9 is a flow chart illustrating an embodiment of a process for detecting the filling level of a container using a filling level sensor. The process of fig. 9 may be implemented on sensor devices 100, 200, 300, 350, and/or 360 of fig. 1-3D. At least a portion of the process of fig. 9 may be continuously carried out to detect an updated fill level of the container.
At 902, it is determined whether a filling level measurement trigger is detected. For example, an accelerometer, a motion detector, a tilt/orientation sensor or another detector/sensor (which detects the movement and/or orientation of the fill level sensor device) comprised in the fill level sensor device detects a trigger condition to start the fill level measurement. In some embodiments, data provided by the accelerometer, the motion detector and/or the tilt/orientation sensor is received and analyzed to detect whether the detected movement meets a specified threshold that triggers the filling level measurement. For example, it is determined whether the magnitude of the detected movement is at least for a threshold amount of distance, acceleration, force, time, and/or angle. In an example of a filling level sensor device comprising an integrated pourer spout, a filling level measurement trigger is detected when the filling level sensor is tilted beyond a threshold angle (e.g. corresponding to a tilting of the bottle to pour the content out of the bottle via the pourer). In an example of a fill level sensor apparatus that functions as a stopper that needs to be removed from a bottle before pouring the contents out of the bottle, a fill level measurement trigger is detected when a detected z-direction (e.g., upward direction) acceleration exceeds a threshold (e.g., corresponding to removal of the stopper with sufficient force/acceleration). By using the trigger to initiate the filling level measurement, the device can be placed in a low power state while waiting for the trigger to save power.
If at 902 it is detected that a filling level measurement trigger is detected, at 904 the process waits until a detection criterion is fulfilled. For example, the measurement trigger may have caused movement associated with pouring the contents out of the spout of the device, and to obtain an accurate measurement, a wait time is required to ensure that the liquid contents of the container have settled from the movement.
In some embodiments, the detection criteria specify orientation criteria. For example, before a fill level measurement is to be carried out, the accelerometer, gyroscope and/or tilt/orientation sensor must indicate that the fill level sensor is in the correct orientation associated with carrying out an accurate fill level measurement. In one example, when the user still tilts the sensor and container upside down to pour the contents out of the spout of the device, the device fails to measure the fill level correctly and the detection criteria are not met. In another example, if the user uncaps the filling level sensor from the container and places the filling level sensor with its side face down on a table, the sensor device is detected as not being in the desired upright orientation and the detection criterion has not been met.
In some embodiments, the detection criteria specify movement criteria. For example, before filling level measurement is to be carried out, the accelerometer, gyroscope and/or orientation sensor must indicate that the movement/orientation of the filling level sensor device is relatively stable (e.g. the movement detected within a specified time period is within a specified range or below a threshold). In one example, if the apparatus is still in the process of being moved, accurate filling level measurements cannot be achieved due to the movement of the contents within the container.
These detection criteria in combination may specify: in order to meet the detection criteria, the fill level sensor must be oriented upright and move stable for at least a set period of time. In some embodiments, if the detection criteria are not met and/or an error is detected for at least a threshold amount of time of the error, an error/message is provided (e.g., provided to the server 410 and/or the user of fig. 4) to allow the user to correct the error (e.g., the user forgets to cover the container with the sensor device after pouring the contents from the container and provides a reminder to the user to place the sensor device back on the container after a preconfigured amount of time).
At 906, fill level measurement is performed. For example, an interrogation signal is transmitted and its reflection is detected and analyzed to determine the content fill level of a container coupled to the fill level sensor device. In various embodiments, at least a part of the process of FIG. 10 is used to carry out the filling level measurement.
At 908, it is determined whether a periodic detection time has been reached. The filling level measurement is carried out periodically to ensure correct filling level detection and to determine whether it is time to carry out the periodic filling level measurement, instead of relying only on the filling level measurement trigger. For example, errors in detecting a filling level measurement trigger and/or detecting an incorrect filling level may be corrected by periodically carrying out the filling level measurement. The amount of time between periodic detections may be at regular intervals and/or based on dynamic factors. For example, the periodic detection time is periodically reached every set time (for example, every ten minutes). In another example, the periodic detection time is reached after a set amount since a previous filling level measurement (e.g., a set amount of time after a trigger measurement). In some embodiments, the periodic detection time is dynamically adjusted based on one or more of: time of day, day of week, battery power, magnitude of change in previous measurements, sensor data, etc. In alternative embodiments, periodic detection is optional and/or not implemented. In some embodiments, once a threshold number of consecutive periodic detections have been conducted and/or measurements that result in agreement with each other, the periodic detections are not conducted again to conserve power until a triggering criterion is detected (e.g., a change in motion, acceleration, orientation, etc.) is detected. In some embodiments, the periodic detection time triggering of the filling level measurement is only carried out during a specified time window (e.g. during business hours).
If it is determined at 908 that the periodic detection time has been reached, then at 910, a filling level measurement is carried out. For example, an interrogation signal is transmitted and its reflection is detected and analyzed to determine the content fill level of a container coupled to the fill level sensor device. In various embodiments, at least a part of the process of FIG. 10 is used to carry out the filling level measurement.
FIG. 10 is a flow chart illustrating an embodiment of a process for measuring the filling level of a container using a filling level sensor device. The process of fig. 10 may be implemented on sensor devices 100, 200, 300, 350, and/or 360 of fig. 1-3D. In some embodiments, at least a portion of the process of FIG. 10 is included in 906 and/or 910 of FIG. 9.
At 1002, a fill level measurement is performed to determine a measure of the fill level. In some embodiments, performing the filling level measurement comprises sending an interrogation signal (e.g. a sound/ultrasound signal) and detecting/receiving a reflection of the interrogation signal. By measuring the time it takes for an interrogation signal to travel from a sensor device engaged at the top of a container to the contents (e.g., liquid) remaining in the container and reflect back to the sensor device, the distance the interrogation signal traveled before being reflected (e.g., the distance between the sensor device 100 and the liquid surface is half of the total distance the signal traveled, as shown in fig. 1) may be determined by multiplying the amount of time by the speed of the signal (e.g., the speed of sound when the interrogation signal is an ultrasonic signal). If the total distance between the bottom of the container and the sensor device is known, the fill level of the container can be determined (e.g., the total distance between the bottom and the sensor device minus the distance between the sensor device and the surface of the contents). If the shape and volume of the bottle is known, the volume/amount of the content contained in the container can be determined.
The determined measure of the filling level corresponds to the amount of content comprised in the container engaged by the filling level sensor device. For example, the measure of the filling level is indicative of a measured distance between the sensor device and the content in the container. In some embodiments, the determined measure of the filling level is determined by adjusting the measured distance between the receiver of the sensor device and the content in the container by a predetermined and/or dynamically determined adjustment distance value. For example, an adjusted distance value is added to the measured distance, and the adjusted distance value is determined based on the distance between the receiver of the sensor device and the top of the container engaged by the sensor device, and/or the transmitter/receiver time delay (e.g., delay in initiating transmission and actual signal transmission, delay in signal arrival at the receiver and detection of the signal by the receiver, etc.). In another example, the measure of the filling level specifies the detected time it takes for the transmitted signal to bounce back from the content contained in the container to the sensor device. In another example, the measure of the fill level specifies a volume of the content remaining in the container (e.g., an absolute volume or a difference in volume from a previous measurement).
At 1004, another measure of the filling level is determined by performing another filling level measurement. By performing another measurement of the filling level at a time immediately after the previous measurement in response to the same filling level measurement trigger (e.g. the trigger in 902 of fig. 9), the previously determined measure of the filling level in 1002 can be verified against a new measure of the filling level (e.g. when the measurements are performed back-to-back without any intermediate filling level measurement trigger, the measure of the filling level should ideally be the same) to ensure repeatability of the filling level measurement before the content filling level of the container is updated using the measurement data. In various other embodiments, the measurement of the filling level may be carried out more than twice for additional verification.
At 1006, it is determined whether a reliable measure of the filling level has been determined. For example, if the last two consecutive measures of the filling level are successfully determined (e.g. in two consecutive iterations of 1002 and 1004, or 1004) and the last two determined measures of the filling level are the same/similar (e.g. within a threshold difference value), it is determined that a reliable measure of the filling level has been determined. By verifying whether the last two determined measures of the filling level are identical/similar, the repeatability of the measurements is verified when it is determined that a reliable measure of the filling level has been detected.
In some embodiments, determining whether a reliable measure of the filling level has been determined comprises: the last two measurements of the filling level are compared (e.g. the measure of the filling level determined in 1002 is compared with the measure of the filling level determined in 1004, or the measures of two different filling levels determined in two consecutive iterations of 1004 are compared). For example, if the difference (e.g. a value difference or a percentage difference) between the already determined measures of the filling level is within a threshold range (e.g. a threshold value of less than 3 mm), it is determined that a reliable measure of the filling level has been determined, otherwise it is determined that a reliable measure of the filling level has not been determined.
If at 1006 a measure of the filling level that is determined to be reliable has not been determined, then at 1008 it is determined whether a filling level measurement stop criterion has been fulfilled. For example, the filling level measurements are to be repeated until a consistent measure of the filling level has been detected in the last two consecutive measurements, or a limit is reached regarding the number of filling level measurements to be repeated (a maximum of up to five filling level measurements may be carried out before a measure is derived for which a reliable filling level cannot be determined). Thus, in some embodiments, determining whether the filling level measurement stop criterion has been fulfilled comprises: it is determined whether the total number of filling level measurements carried out in an attempt to determine a reliable measure of the filling level (e.g. the filling level measurements carried out in response to the same trigger condition instance to determine the filling level corresponding to the trigger condition instance) has reached a specified limit. If the specified limit is reached, it is determined that the filling level measurement stop criterion has been fulfilled. In some embodiments, determining whether the filling level measurement stop criterion is fulfilled comprises: it is determined whether a stopping error has been detected during the filling level measurement. For example, certain detected errors (e.g., low battery error, sensor failure, sensor misalignment, sensor device orientation error, etc.) indicate that a reliable measure of the fill level cannot be determined without user or other intervention.
If it is determined at 1008 that the filling level measurement stop criterion has not been met, the process returns to 1002, at 1002 another filling level measurement is carried out to determine another measure of the filling level.
If it is determined at 1008 that the filling level measurement stop criterion has been fulfilled, then at 1010 a measure determining a reliable filling level cannot be determined. For example, an error indication (e.g., identifying a cause of the error) is transmitted via a wireless signal to a hub or other computer device. The indication may be provided to a user to allow the user to troubleshoot or replace the sensor device.
If it is determined in 1006 that a reliable measure of the filling level has been determined, then at 1012, it is determined whether to report a measure of the selected filling level. For example, if the measure of the selected filling level is sufficiently different from the measure of the previously reported filling level (e.g. the difference between the measure of the selected filling level and the measure of the previously reported filling level determined to be reliable is larger than a threshold difference value), the measure of the selected filling level is reported. In this example, if it is determined that the difference between the measure of the selected filling level and the measure of the previously reported filling level (e.g. previously determined to be reliable) is smaller than or equal to the threshold difference value, then it is determined that a measure of reliable filling level has been determined, and if it is determined that the difference between the measure of the selected filling level and the measure of the previously reported filling level is larger than the threshold difference value, then it is determined that a measure of reliable filling level has not been determined. This only allows to report meaningful differences in the filling level, allowing to save power/energy in order to avoid transmitting values that are not sufficiently different from previously reported measures of the filling level (e.g. not reporting subtle variations between the measures of the filling level caused by detection measurement noise, which variations cannot be attributed to meaningful differences in the container filling level).
The selected filling level may be a measure of the filling level determined at 1002 and/or 1004. For example, the measure of the last determined filling level is selected as the selected filling level. In another example, among the measures of the filling level determined in the iterations of 1002 or 1004, the measure of the filling level that is closest to the measure of the previously reported filling level is selected. In some embodiments, the selected filling level is determined based on a measure of the filling level determined in one or more iterations of 1002 and/or 1004. For example, the average of the measures of the last two filling levels is calculated and selected as the measure of the selected filling level. Thus, the selected filling level (e.g. the last determined value, average value, etc.) may be chosen among the measures of filling levels that have been identified as identical/similar (e.g. within a threshold difference value) in 1006.
If, at 1012, it is determined that a measure of the selected filling level is to be reported, then, at 1014, the measure of the selected filling level is reported. Reporting the measure of the selected filling level may comprise: the identifier of the sensor device, the value indicating when the associated filling level measurement was carried out (e.g. timestamp, instance number, etc.), and the value of the measure of the selected filling level are transmitted to the interface device 406 and/or the server 410 of fig. 4.
In some embodiments, a previously reported measure of the selected filling level (reported in a previous iteration of 1012) is also reported (e.g. together with an associated timestamp or instance value), together with data reported for the newly determined/selected measure of the filling level.
By sending a previously reported measure of the selected filling level together with a newly determined/selected measure of the filling level, the recipient of the report can determine whether no previously reported measure of the filling level was received and obtain the previously reported measure of the filling level via the new report if the recipient happens to have not previously received it. The receiver uses the reported measure of the selected filling level to track the current filling level of the container. For example, the measure of the selected filling level (e.g. together with an identifier of the filling level sensor device and the associated time/iteration/instance value) is provided by the filling level sensor device to the interface device 406, which interface device 406 updates the server stored record of the filling level and/or the content volume of the container measured by the filling level sensor device.
If it is determined at 1012 that the measure of the selected filling level is not to be reported, then at 1016 the measure of the selected filling level is not to be reported. Although no measure of the filling level is reported, other indications may be sent (e.g. an indication to the interface device 406 of fig. 4 that a measurement has been carried out but not reported). In some embodiments, a heartbeat message may be sent, although no measure of the actual filling level is reported to indicate the operational status of the sensor device.
In some embodiments, if an error is detected by the fill level sensor device during any step in the process of fig. 10, the process ends and an indication of the error is provided. For example, a detected error (such as a detected movement during the filling level measurement, an incorrect positioning/latching of the filling level sensor to the container, a blocked receiver/sensor (e.g. liquid beading on the sensor or receiver and hampering the detection) etc. is indicated and the process is stopped to allow the user to correct the error.
FIG. 11 is a flow chart illustrating an embodiment of a process for carrying out a filling level measurement using a filling level sensor device, thereby determining a measure of the filling level of a container. The process of fig. 11 may be implemented on sensor devices 100, 200, 300, 350, and/or 360 of fig. 1-3D. In some embodiments, at least a portion of the process of FIG. 11 is included in 1002 and/or 1004 of FIG. 10. For example, at least part of the process of fig. 11 is performed by the fill level sensor each time a fill level measurement is carried out by the sensor device to determine a measure of the fill level, which is indicative of the amount of content comprised in the container engaged by the sensor device.
At 1102, an interrogation signal to be transmitted is selected. In some embodiments, the interrogation signal to be transmitted is selected based on the received configuration. For example, the configuration received in 806 of FIG. 8 specifies a default set of configuration parameters of the default interrogation signal to be used to determine the initial approximate fill level. The received configuration may also specify one or more configuration parameters of a specific set of filling level ranges, which specify a specific interrogation signal to be used for a specific filling level. For example, for each range of filling levels, a different set of configuration parameters for a particular interrogation signal to be used for a particular range of filling levels is specified in the received configuration. In one example, once the initial approximate filling level is determined using a default set of configuration parameters, a specific set of configuration parameters corresponding to a specific filling level range comprising the initial approximate filling level is selected as configuration parameters of the interrogation signal to be used for determining a more specific filling level. In some embodiments, the received configuration specifies a plurality of sets of configuration parameters, and each set is used to generate and transmit a corresponding interrogation signal one or more times until a set has been identified that results in a consistent filling level measurement. The set of configuration parameters resulting in a consistent filling level measurement may be used for subsequent measurements of different filling levels, and/or this search for consistent results yielding a set of configuration parameters may be carried out periodically, and/or the filling level measurements are carried out each time. In some embodiments, the measured filling levels of the identified group are used to select the set of configuration parameters to be used to determine a more accurate filling level. For example, the set of configuration parameters for the filling level range corresponding to the measured filling level is selected.
In some embodiments, the interrogation signal to be transmitted is identified based on a previous fill level. For example, a previously utilized interrogation signal (e.g., corresponding to a previously selected set of configuration parameters) is selected for use unless a previously determined filling level indicates that another interrogation signal (e.g., corresponding to another set of configuration parameters) should be utilized (e.g., a next filling level range interrogation signal is selected because the previously determined filling level is at or exceeds a limit of the effective filling level range of the previously utilized interrogation signal).
In some embodiments, the interrogation signal is uniform across all fill levels of the container. For example, although the interrogation signal is specific to a particular type of container, the interrogation signal is consistent for all fill levels of the container. In some embodiments, the interrogation signal is a pulse. In some embodiments, the interrogation signal is an acoustic signal. In some embodiments, the interrogation signal is an ultrasonic signal. In an alternative embodiment, the selected interrogation signal is a standard default interrogation signal to be used when carrying out the filling level measurement.
At 1104, the selected interrogation signal is transmitted. In some embodiments, the transmitted interrogation signal is generated using a selected set of configuration parameters within the received configuration. In some embodiments, the selected interrogation signal includes one or more signal pulse components specified by the selected set of configuration parameters. For example, each signal pulse may be the same, and the signal pulses are transmitted sequentially with selectable periods of no signal (e.g., silence) between the signal pulses.
The number of signal pulses, the length of the signal pulses, the frequency of the signal pulses, the signal content of the signal pulses, the strength/magnitude of the signal pulses, the profile of the signal pulses, the waveform of the signal pulses, the length of the nulls between the signal pulses, the length/width of the signal components, the pulse width, the amplitude/strength of the signal components, the modulation of the signal components (e.g., the pulse width modulation to be utilized), and/or the duty cycle of the signal components, etc., may be specified by the received configuration.
The variation of the interrogation signal may be due to the type of container containing the content to be measured and/or the filling level range of the container. For example, the thickness of the container, the material of the container, the shape of the container, the length of the container, the width of the container, the size of the container, and/or the amount/type of content included in the container may all affect how and where the interrogation signal propagates within the container, and the received configuration is specific to the type of container and/or the fill level of the container to improve the amount/volume/level measurement of the content of the sensor device.
In some embodiments, the interrogation signal is uniform across all fill levels of the container. In some embodiments, the interrogation signal is a pulse generated by a speaker. In some embodiments, the interrogation signal is an acoustic signal. In some embodiments, the interrogation signal is an ultrasonic signal.
In some embodiments, by measuring the amount of time it takes for an interrogation signal to travel from a sensor device engaged at the top of a container to the contents (e.g., liquid) remaining in the container and reflect back to the sensor device, the distance the interrogation signal traveled before being reflected (e.g., the distance between the sensor device 100 and the liquid surface is half of the total distance the signal traveled, as shown in fig. 1) may be determined by multiplying the amount of time by the speed of the signal (e.g., the speed of sound when the interrogation signal is an ultrasonic signal). If the total distance between the bottom of the container and the sensor device is known, the fill level of the container can be determined (e.g., the total distance between the bottom and the sensor device minus the distance between the sensor device and the surface of the contents). If the shape and volume of the bottle is known, the volume/amount of the content contained in the container can be determined.
At 1106, the receiver receives the received signal and processes the received signal for analysis. For example, after the interrogation signal is transmitted, the receiver (e.g., microphone) of the sensor device begins to detect the received signal. When the interrogation signal is reflected off of the contents contained in the container, a reflected signal is detected in the received signal. In some embodiments, preparing to receive the signal comprises: the received signal is filtered to improve the signal-to-noise ratio. For example, the received signal is affected by noise, and the received signal is filtered to isolate the desired signal (e.g., bandpass filtering the received signal), and amplified (e.g., to improve signal-to-noise ratio). In some embodiments, preparing the received signal includes obtaining an envelope of the received signal. The upper envelope of the received signal is obtained, for example, using hardware circuitry (e.g., analog) and/or other (e.g., digital) signal envelope detectors. Preparing the received signal includes performing analog-to-digital conversion. For example, the analog signal output of an envelope detector receiving the signal is converted to a digital signal for analysis by a digital signal processor. The digital signal may be stored in a memory for subsequent analysis.
In some embodiments, due to the coupling between the transmitter and receiver of the sensor device, a predetermined beginning portion of the received signal (e.g., a predetermined amount of time at the beginning of the signal) may be modified/ignored/removed/attenuated. For example, when the transmitter transmits an interrogation signal, the signal may be received by a receiver of the sensor device (e.g., conducted directly from the transmitter to the receiver via the housing of the sensor device) before the signal is reflected by the contents of the container, and the undesired signal portion received at the beginning of receiving the signal will not be identified as a reflection.
In some embodiments, it is determined that the measure of the filling level cannot be successfully determined if an error is detected when carrying out steps 1104 and/or 1106. For example, it is expected that the container and the filling level sensor device do not physically move during the filling level measurement (e.g., the movement may disturb the contents inside the container, and the contents may already be moving when the measurement is carried out). When the sensor device detects an error during the fill level measurement (e.g., using data from an accelerometer, gyroscope, orientation sensor, received signal, etc.), it may be determined to abort the process of FIG. 11 or that the fill level measurement should be carried out again, and the process of FIG. 11 may return to 1104 to repeat the interrogation signal transmission.
At 1108, an initial analysis is carried out to attempt to determine a measure of the filling level. For example, an initial analysis (e.g. an analog analysis) is carried out using an analog version of the received signal in an attempt to determine a measure of the filling level using an analysis technique that utilizes a high signal resolution of the analog signal. Additionally, analog analysis may utilize fewer resources than other more advanced digital analysis techniques that may require more resources.
In some embodiments, an initial simulation analysis is utilized to identify candidate locations in the simulated version of the received signal that may correspond to receipt of reflections of the interrogation signal at the receiver. More advanced techniques (e.g., digital signal analysis) may then be utilized to identify which of the identified candidate locations (if any) in the analog version of the received signal most likely corresponds to the receipt of a reflection of the interrogation signal. If the initial analog analysis results in a single candidate location in the analog version of the received signal that corresponds to the receipt of a reflection of the interrogation signal, then that candidate location in the analog version of the received signal may be utilized without the need to perform more advanced techniques (e.g., digital signal analysis).
The measure of the filling level corresponds to the amount of content comprised in the container engaged by the filling level sensor device. For example, the measure of the filling level is indicative of a measured distance between the sensor device and the content in the container. In another example, the measure of the filling level specifies the detected time it takes for the transmitted signal to bounce back from the content contained in the container to the sensor device. In another example, the measure of the fill level specifies a volume of the content remaining in the container (e.g., an absolute volume or a difference in volume from a previous measurement).
The reflection of the interrogation signal to the receiver may be characterized as follows: an increase in signal amplitude corresponding to when the reflected signal arrives at the receiver. In some embodiments, determining the measure of the filling level using the initial analysis comprises: when the signal strength satisfies a detection threshold (e.g., a reflection detection threshold), an instance (instance) in the received signal (e.g., in the processed received signal from 1106) is identified (e.g., a time value at which it occurs). For example, reflections are identified by detecting one or more instances in the received signal, in which the amplitude increases, transitioning from below the detection threshold to meeting the threshold. The detection threshold may be dynamically set and may be identified in the configuration received in 806 of fig. 8. In some embodiments, determining a measure of the filling level comprises: the envelope of the received signal (e.g., the processed received signal in 1106) is analyzed to identify when the reflected signal reaches the receiver. For example, the envelope of the analog signal is analyzed to detect when the amplitude of the envelope of the received signal reaches a detection threshold corresponding to the detected reflection. In some embodiments, an analog envelope detector (e.g., an analog circuit component built into the envelope detector) is included in the fill level sensor apparatus and is used to obtain an envelope of the received analog signal that is analyzed to identify when the reflected signal reaches the receiver.
The detection threshold may be dynamically varied based on the type of container comprising the content to be measured and/or the filling level of the container. For example, the shape of the container and the amount of distance that the interrogation signal has to travel to detect the filling level may affect the strength of the reflected signal received at the receiver of the filling level sensor, and the detection threshold is adjusted and set based on one or more factors. In some embodiments, the specification of the detection threshold is received in 806 of FIG. 8. For example, based on the type of container to be associated with the filling level sensor, during the filling level detection one or more detection thresholds specific to a particular container are provided to the filling level sensor device. In some embodiments, the detection threshold is based at least on a previously detected container fill level, and the reflection detection threshold is selected using a previously determined container fill level and/or an estimated container fill level. For example, for different ranges of the filling level, different detection thresholds are to be utilized, and the detection threshold corresponding to the last measured filling level is selected for utilization. In various embodiments, the reflection detection threshold may be a fixed value, a relative value, a difference value, an offset value, or a percentage value.
In some embodiments, determining whether the selected amplitude values of the signal satisfy a detection threshold comprises: the method further includes determining a difference between the baseline signal amplitude and the selected amplitude value, and determining whether the difference satisfies a reflection detection threshold (e.g., the set reflection detection threshold is a relative value). For example, rather than directly using the original magnitude value of the selected signal amplitude, the relative difference between the baseline signal amplitude and the selected amplitude value is used to compensate for the increase in amplitude caused by other signal sources (e.g., the difference better measures the increase in signal amplitude caused by reflections). The baseline signal amplitude may be preconfigured, specified in the received configuration, and/or dynamically determined. For example, the baseline signal amplitude is determined by averaging the signal amplitude (e.g., frequency low pass filter) of the received signal (e.g., the envelope of the received signal) for a time window (e.g., a set amount of lag for the latest signal envelope). When the difference is compared to a reflection detection threshold (e.g., a threshold selected/determined for comparison to the difference value), the selected amplitude value is determined to satisfy the reflection detection threshold if the difference is greater than or equal to the reflection detection threshold. Otherwise, it is determined that the reflection detection threshold is not satisfied. In some embodiments, the selected amplitude value is only able to satisfy the reflection detection threshold (e.g., only the detection signal increases to the threshold) if the selected amplitude value is greater than the previously selected amplitude value.
In some embodiments, once it has been determined that the selected amplitude value has met the reflection detection threshold, the next amplitude value in the signal is not eligible to meet the reflection detection threshold until the amplitude of the signal falls below (or meets) the detection reset threshold. This reduces the likelihood of detecting another potential reflection within a period of time after the potential reflection has been identified/detected. For example, the amplitude of the received signal may continue to increase or remain high for the same reflection event, although the detection threshold has been met. To prevent subsequent selected amplitude values for the same reflection event from being detected as new potential reflections, once the selected amplitude values have been determined to satisfy the reflection detection threshold, the subsequent values of the signal are not eligible to satisfy the reflection detection threshold until the amplitude of the signal has fallen below (or otherwise satisfied) the detection reset threshold.
In some embodiments, the value of the detection reset threshold is equal to the value of the reflection detection threshold, while in other embodiments, the value of the detection reset threshold is less than the value of the reflection detection threshold. In some embodiments, the detection reset threshold is a value that is set (e.g., dynamically changed) with the reflection detection threshold. For example, the detection reset threshold is related to the reflection detection threshold (e.g., a fixed amount less, a percentage less, etc.).
In some embodiments, the measure of the filling level comprises a time value corresponding to when the reflected signal reaches a detection threshold (e.g. when the amplitude of the received signal or the envelope of the received signal reaches a corresponding threshold). For example, the determined measure of the filling level comprises the duration between transmission of the interrogation signal and reception of the signal portion corresponding to the received reflection. In some embodiments, the measure of the filling level is associated with the filling height (e.g., identifying a distance value). For example, if the total distance between the bottom of the container and the filling level sensor device is known, the filling height of the container can be determined (e.g. the total distance between the bottom and the sensor device minus the distance between the sensor device and the liquid surface, which is determined by multiplying the speed of the signal by half of the signal travel time, i.e. the amount of time between transmission of the interrogation signal and reception of the signal portion corresponding to the received reflection). In some embodiments, the measure of the filling level comprises a volume value. For example, the content/liquid volume corresponding to the determined filling height/distance is determined using a table/database/data structure mapping the filling length/distance (e.g., the distance between the content/liquid surface and the sensor device, etc.) to the content/liquid volume of the container. For different types of containers, different tables/databases/data structures may exist, and data specific to that container is received in 806 of FIG. 8.
At 1110, it is determined whether the initial analysis resulted in a successful determination of the measure of the filling level. For example, if the amplitude of the received signal (e.g. the processed received signal) does not reach the threshold of the initial analysis, it is determined that the measure of the filling level has not been successfully determined.
In some cases, the transmitted interrogation signal is not only reflected directly from the contents of the container, but is also reflected back out of the contents of the container at other, indirect angles, as well as from the container walls and other components of the filling level sensor apparatus when the interrogation signal is spread apart and bounced multiple times. The detected reflections may not actually be due to reflections of the container contents but may instead be due to noise or false detection. In some embodiments, if multiple reflections are detected (e.g. the amplitude of the received signal or the envelope of the received signal indicating a pattern of the multiple detected reflections crossing the corresponding threshold multiple times), it is determined that the measure of the filling level cannot be successfully determined using only the initial analysis.
If it is determined at 1110 that the initial analysis did not result in a successful determination of the measure of the filling level, then at 1112, a digital analysis is performed on the processed received signals to attempt to determine the measure of the filling level. In some embodiments, the numerical analysis in 1112 is carried out regardless of whether the initial analysis results in a determination of a measure of the filling level. In an alternative embodiment, no initial analysis is performed and the result of the numerical analysis is used to determine a measure of the filling level.
The processed received signal is analyzed to identify one or more spikes in the processed received signal. An example of a processed received signal is a digital signal that has been detected by performing an analog-to-digital conversion on an envelope signal of a received analog signal. The processed received signal has been stored in the memory/storage of the sensor device for digital analysis. A spike in the processed received signal is likely to correspond to a reflection of the interrogation signal detected within the container, and one of the identified one or more spikes is indicative of the fill level of the container. The total amount/length of processed received signals that are analyzed and qualified for spike detection may be dynamically limited based on the physical length/configuration of the associated container. For example, since the amount of distance the signal travels directly down the interior of the container and back is limited by the length of the interior size of the container, the total length of the processed received signal analyzed for spike detection is limited to an amount corresponding to the round trip signal travel time for the container interior length plus a buffer amount. In some embodiments, identifying a spike in the processed received signal comprises: when the amplitude of the processed received signal is above the spike detection threshold, instances in the processed received signal are identified (e.g., within a limited signal length based on the physical length of the associated container). In some embodiments, the spike threshold is dynamically determined based on one or more parameters of the processed received signal (e.g., minimum amplitude value, maximum amplitude value, average amplitude value, etc.). For example, the spike detection threshold value is ((minimum amplitude value + average amplitude value)/2 + maximum amplitude value)/2.
After the amplitude of the processed received signal rises above the spike detection threshold, the amplitude may remain above the spike detection threshold for a period of time/number of samples until it falls below the spike detection threshold. Each different period of the signal is identified as a different spike when the amplitude of the processed received signal remains above the spike detection threshold. For example, once the signal amplitude drops below a spike detection threshold, the next spike is eligible to be detected. For each of these spikes, a length of the period (e.g., an amount of time or number of samples in the spike period), a start time value associated with when the amplitude increases to cross the spike detection threshold for the corresponding spike (e.g., a time value corresponding to the beginning of the spike crossing the spike detection threshold, a duration from transmission of the signal to receipt of the portion of the signal corresponding to the beginning of the spike, etc.), and a rate of change of the amplitude of the processed received signal at the start time value of the corresponding spike are determined. If the length of the period is less than the selected threshold, the spike may be deemed ineligible to be selected to correspond to the fill level of the container because the shorter spike length is likely to correspond to noise, rather than due to a reflection of the received signal from the contents of the container.
One of the one or more identified and qualified spikes is selected as corresponding to a fill level of the container. It is desirable to identify a spike corresponding to a direct reflection of the interrogation signal from the contents of the container directly back to the receiver, because the signal travel time of the spike corresponds to the content fill level of the container. In some embodiments, selecting the selected spike includes: a spike associated with a maximum determined rate of amplitude change is identified (e.g., when a spike detection threshold is crossed at the determined start time value). If there is a tie among the eligible spikes for the determined rate of change, selecting a spike associated with the longest/largest determined cycle length among the tied spikes. If there is a further tie among the qualifying spikes for rate of change and cycle length, then the first occurring spike (e.g., the earliest start time value) among the tied spikes is selected. Indeed, in various embodiments, selecting the selected spike may include: a corresponding energy associated with each spike is determined, and the spike with the largest energy is selected as the selected spike.
Then, a measure of the filling level is determined based on the selected spike. For example, the start time value associated with the selected spike is utilized in determining the measure of the filling level. In some embodiments, the distance value corresponding to the selected spike is determined as a measure of the filling level. For example, when a selected spike corresponds to a reflection of the interrogation signal from the contents of the container reaching the signal receiver, and by measuring the amount of time it takes to receive the selected spike corresponding to that reflection, the distance traveled by the interrogation signal to reach the contents of the container (e.g., the distance between the sensor device and the liquid surface is half of the total distance traveled by the interrogation signal) may be determined as a measure of the fill level by multiplying that amount of time by the speed of the signal (e.g., the speed of sound) divided by 2 (e.g., plus an adjustment factor value to account for the distance between the receiver of the sensor device and the top of the container, and/or the transmitter/receiver time delay). Finally, the start time value and/or the signal travel distance associated with the selected spike may be used to determine a volume value of the content remaining in the container.
Although the identified instances in the analog signal determined in 1108 may ideally correspond to detected spikes in the digital signal because they both measure attempts to detect the same instance of reflection, differences in detection thresholds and/or methods (e.g., instances in the analog signal attempt to detect the onset of reflection, while spikes in the digital signal also attempt to detect the highest energy point of reflection) may yield different associated time values. Moreover, due to the higher resolution of the analog signal, the time values detected in the analog signal may be more accurate than the time values detected in the digital signal. By using the analog signal to select candidate time values corresponding to potential reflections and using digital signal analysis to select one of the candidate time values from the analog signal (e.g., using an analysis that takes into account the corresponding total energy associated with each associated reflection spike), a more accurate measure of reflection signal travel time and associated fill level may be determined.
In some embodiments, the start time value associated with the selected spike is used to select a corresponding one of the identified instances in the analog signal determined in 1108. For example, each identified instance specifies a time in the received analog signal when the signal strength reaches a detection threshold, and one of these identified instances is identified as corresponding to the fill level of the container. Selecting one of the identified instances comprises: determining whether any time values of the identified instances in the analog signal are the same or within a threshold range of start time values associated with the selected spike, and selecting the identified instances having the following time values: the time value is within a threshold range and closest to the start time value of the selected spike. Then, in determining the measure of the filling level, the time value of the selected identified instance in the analog signal is utilized instead of the start time value associated with the selected spike. In some embodiments, the distance value corresponding to this selected identified instance in the analog signal is determined as a measure of the filling level. For example, the time value of the selected identified instance in the analog signal is multiplied by the velocity of the signal (e.g., the speed of sound) and then divided by 2 (e.g., plus an adjustment factor value to account for the distance between the receiver of the sensor device and the top of the container, and/or the transmitter/receiver time delay). Finally, the time value and/or signal travel distance associated with the selected identified instance in the analog signal may be used to determine a volume value of the contents remaining in the container. If none of the time values of the identified instances is within the threshold range of the start time value associated with the selected spike, then determining that the numerical analysis has not resulted in successfully determining the measure of the fill level.
At 1114, it is determined whether the digital analysis results in a successful determination of the measure of the fill level. For example, if no spike is identified or a selected spike cannot be identified, the digital analysis does not result in a successful determination of the measure of the filling level, and if the selected spike has been successfully identified, the digital analysis does result in a successful determination of the measure of the filling level. In another example, if an error occurs during the digital analysis, the digital analysis does not result in a successful determination of the measure of the filling level. In another example, if no identified instance in the analog signal corresponding to the selected spike can be identified, the digital analysis does not result in a successful determination, and if an identified instance in the analog signal corresponding to the selected peak has been identified, the digital analysis results in a successful determination. For example, if none of the time values of the identified instances in the analog signal is within a threshold range of the time value associated with the selected spike, then the determination that the digital analysis did not result in a successful determination of the measure of the filling level.
If it is determined in 1114 that the digital analysis did not result in a successful determination of the measure of the filling level, then, at 1116, the processed received signal is dynamically modified based on the previously reported indication of the filling level.
For example, the amount/level of content typically removed from the container each time the content is dispensed from the container is typically within the range of the previous fill level (e.g., the amount of liquid content poured from the spout of the fill level measurement device is typically constant for each pour). Based on this assumption, the dynamically selected beginning portion of the processed received signal may be modified to reduce/ignore/attenuate the selected beginning portion of the processed received signal corresponding to the portion of the processed received signal that is unlikely to include a signal spike reflected by the interrogation signal corresponding to the fill level of the container. For example, the amplitude of the selected beginning portion of the received signal processed in 1106 is reduced or set to zero. The length/duration of the selected start portion is dynamically determined based on the previously reported filling level indication. For example, a time value associated with a previously reported filling level indication (e.g. a time value indicating when an interrogation signal reflection of interest was detected in the received signal of the previously reported filling level indication) is used as the length/duration of the selected starting portion. In another example, a time value associated with the previously reported filling level indication (which is reduced by the buffer percentage or buffer value) is used as the length/duration of the selected starting portion to allow detection of the received signal characteristic of the previously reported filling level indication without a change of the filling level. The decrease in the filling level corresponds to a longer interrogation signal reflection travel distance and time, which will be detected in the received signal at a time after the time corresponding to the previous higher filling level. Thus, in some embodiments, dynamically modifying the processed received signal comprises: determining a time value associated with a previously reported filling level indication; decreasing the time value by the buffered amount (e.g., by a predetermined percentage or a predetermined length value); and reducing the amplitude of the beginning portion of the processed received signal for the length of the reduced time value.
At 1118, a digital analysis is performed on the modified processed received signal in an attempt to determine a measure of the filling level. The modified processed received signal is analyzed instead of the original processed received signal to identify one or more spikes in the modified processed received signal. The remaining spikes in the modified processed received signal are likely to correspond to interrogation signal reflections detected within the container, and one of the identified spikes is indicative of the fill level of the container. By modifying the received signal to remove/reduce a portion of the signal, the number of detected spikes may also be reduced. In some embodiments, identifying a spike in the modified processed received signal comprises: instances in the modified processed received signal are identified (e.g., also limited within a limited signal length based on a physical length of the associated container) when the amplitude of the modified processed received signal is above a spike detection threshold. In some embodiments, the spike threshold is dynamically determined based on one or more parameters (e.g., minimum amplitude value, maximum amplitude value, average amplitude value, etc.) of the modified processed received signal. For example, the spike detection threshold value is ((minimum amplitude value + average amplitude value)/2 + maximum amplitude value)/2.
After the amplitude of the modified processed received signal rises above the spike detection threshold, the amplitude may remain above the spike detection threshold for a period of time/number of samples until it falls below the spike detection threshold. Each different period of the signal is identified as a different spike when the amplitude of the modified processed received signal is maintained above the spike detection threshold. For example, once the signal amplitude drops below a spike detection threshold, the next spike is eligible to be detected. For each of these spikes, a length of the period (e.g., an amount of time or number of samples in the spike period), a start time value associated with when the amplitude increases to cross the spike detection threshold for the corresponding spike (e.g., a time value corresponding to the start of the spike crossing the spike detection threshold, a duration from transmission of the signal to receipt of the portion of the signal corresponding to the start of the spike, etc.), and a rate of change of the amplitude of the modified processed received signal at the start time value of the corresponding spike are determined. If the length of the period is less than the selected threshold, the spike may be deemed ineligible to be selected to correspond to the fill level of the container.
One of the one or more identified and qualified spikes is then selected as corresponding to the fill level of the container. In some embodiments, selecting the selected spike includes: a spike associated with a maximum determined rate of amplitude change is identified (e.g., when a spike detection threshold is crossed at the determined start time value). If there is a tie among the eligible spikes for the determined rate of change, selecting a spike associated with the longest/largest determined cycle length among the tied spikes. If there is a further tie among the qualifying spikes for rate of change and cycle length, then the first occurring spike (e.g., the earliest start time value) among the tied spikes is selected. Indeed, in various embodiments, selecting the selected spike may include: a corresponding energy associated with each spike is determined, and the spike with the largest energy is selected as the selected spike.
Then, a measure of the filling level is determined based on the selected spike. For example, the start time value associated with the selected spike is utilized in determining the measure of the filling level. In some embodiments, the distance value corresponding to the selected spike is determined as a measure of the filling level. For example, by measuring the amount of time it takes for the selected spike to be received, the distance traveled by the interrogation signal to reach the container contents (e.g., the distance between the sensor device and the surface of the contents is half of the total distance traveled by the interrogation signal) may be determined as a measure of the fill level (e.g., by multiplying the amount of time by the speed of the signal, divided by 2, plus an adjustment factor, if applicable). Finally, the start time value and/or signal propagation distance associated with the selected spike may be used to determine a volume value of the contents remaining in and/or dispensed from the container.
In some embodiments, the start time value associated with the selected spike is used to select a corresponding one of the identified instances in the analog signal determined in 1108. For example, each identified instance specifies a time in the received analog signal when the signal strength reaches a detection threshold, one of the identified instances being identified as corresponding to the fill level of the container. Selecting one of the identified instances comprises: determining whether any time values of the identified instances in the analog signal are the same or within a threshold range of start time values associated with the selected spike, and selecting the identified instances having the following time values: the time value is within a threshold range and closest to the start time value of the selected spike. Then, in determining the measure of the filling level, the time value of the selected identified instance in the analog signal is utilized instead of the start time value associated with the selected spike. In some embodiments, the distance value corresponding to this selected identified instance in the analog signal is determined as a measure of the filling level. For example, the time value of the selected identified instance in the analog signal is multiplied by the velocity of the signal (e.g., the speed of sound) and then divided by 2 (e.g., plus an adjustment factor value to account for the distance between the receiver of the sensor device and the top of the container, and/or the transmitter/receiver time delay). Finally, the time value and/or signal travel distance associated with the selected identified instance in the analog signal may be used to determine a volume value of the contents remaining in the container. If none of the time values of the identified instances is within the threshold range of the start time value associated with the selected spike, then determining that the numerical analysis has not resulted in successfully determining the measure of the fill level.
At 1120, it is determined whether the digital analysis performed using the modified processed received signal resulted in a successful determination of the measure of the filling level. For example, if no spike is identified or a selected spike cannot be identified in the modified processed received signal, the digital analysis does not result in a successful determination of the measure of the filling level, and if the selected spike has been successfully identified, the digital analysis does result in a successful determination of the measure of the filling level. In another example, if an error occurs during the digital analysis, the digital analysis does not result in a successful determination of the measure of the filling level. In another example, if no identified instance in the analog signal corresponding to the selected spike can be identified, the digital analysis does not result in a successful determination, and if an identified instance in the analog signal corresponding to the selected peak has been identified, the digital analysis results in a successful determination. For example, if none of the time values of the identified instances in the analog signal is within a threshold range of the time value associated with the selected spike, then the determination that the digital analysis did not result in a successful determination of the measure of the filling level.
If it is determined in 1120 that the digital analysis did not result in a successful determination of the filling level measure, it is determined in 1122 whether a new interrogation signal is sent. For example, the strength of the received signal corresponding to a reflection from the container contents may be too weak to be reliably used to determine a measure of the filling level. This may be due to liquid/condensate beading/bubbling/blocking the emitter and preventing full intensity transmission of the interrogation signal. To penetrate, interfere with and/or remove liquid/condensate blocking/beading/foaming on the emitter, a stronger interrogation signal may be utilized in the new interrogation signal to be emitted by the emitter. A stronger interrogation signal may include an increase(s) in signal length, number of pulses, and/or signal amplitude.
In some embodiments, determining whether to send a new interrogation signal comprises: the number of times a new interrogation signal has been sent is determined in order to attempt to determine a measure of the filling level in an execution example of the process of fig. 11. This allows a limited number of attempts of the interrogation signal before deriving a measure that is not capable of determining the filling level (e.g. a limit on an additional number of new interrogation signals in addition to the initial interrogation signal). For example, if the number of times an interrogation signal has been previously transmitted for an executing instance of the process of fig. 11 exceeds a predetermined threshold number, it is determined that a new interrogation signal is not to be transmitted, and if the number of times an interrogation signal has been previously transmitted for an executing instance of the process of fig. 11 does not exceed the predetermined threshold number, it is determined that a new interrogation signal is to be transmitted.
In some embodiments, determining whether to send a new interrogation signal comprises: it is determined that the amplitude (e.g., highest amplitude, average amplitude, amplitude of identified spikes, etc.) of the received signal (e.g., original received signal, processed received signal, modified processed received signal, etc.) is less than a threshold amplitude, and if the amplitude of the received signal is less than the threshold amplitude, it is determined that a new interrogation signal is to be transmitted, and if the amplitude of the received signal is greater than or equal to the threshold amplitude, it is determined that no new interrogation signal is to be transmitted. This may allow to identify a received signal that is too weak to be reliably used to determine a measure of the filling level, and to dynamically send a new interrogation signal in order to attempt to receive a better received signal.
If it is determined at 1122 that a new interrogation signal is to be transmitted, then at 1124, a new interrogation signal is selected to be transmitted. The process then proceeds to 1104 where a new interrogation signal selected as the selected interrogation signal is transmitted and the signal received in response is analyzed in a subsequent step 1104. In some embodiments, a predetermined and/or dynamic amount of time passes/waits before proceeding to 1104. This waiting time may allow any movement of the contents of the container to settle before another measurement attempt is carried out.
In some embodiments, the new interrogation signal includes a stronger transmission/signal component to be transmitted in order to disturb and remove liquid/condensate blocking/beading/foaming on the emitter. The amplitude, length and number of the multiple pulses of the clear/remove transmission/signal are selected to be large enough to attempt to remove the liquid/condensate so as not to block the transmitter's future interrogation signal. In some embodiments, the clean-up/clean-up transmission/signal component may act to remove liquid so as not to impede transmission, and the individual signal components of the new interrogation signal that are subsequently transmitted (e.g., transmitted after a pause/delay to allow the clean-up/clean-up signal component to dissipate) are to be used to detect their reflections for fill level measurement. In some embodiments, instead of or in addition to clearing/removing transmission/signals, the intensity/energy/amplitude of the portion of the new interrogation signal that is reflected and detected for filling level determination is increased from the amplitude of the initial interrogation signal selected in 1102 to help remove and/or transmit through the liquid/condensate that affects the emitter.
In some embodiments, the new interrogation signal is another transmitted instance having the same signal parameters as at least a portion of the interrogation signal selected in 1104. In some embodiments, at least a portion of the new interrogation signal includes one or more parameters of the interrogation signal selected in 1102. For example, a portion of the interrogation signal selected in 1102 may be included in the new interrogation signal, or one or more signal parameters of the interrogation signal selected in 1102 may be used as a starting basis in selecting the new interrogation signal. In some embodiments, the new interrogation signal has one or more different signal parameters than the interrogation signal selected in 1104. For example, the number of signal pulses, the length of the signal pulses, the frequency of the signal pulses, the signal content of the signal pulses, the intensity/magnitude of the signal pulses, the profile of the signal pulses, the waveform of the signal pulses, the length of the nulls between the signal pulses, the length/width of the signal components, the pulse width, the amplitude/intensity of the signal components, the modulation of the signal components (e.g., the pulse width modulation to be utilized), and/or the duty cycle of the signal components, etc. may be different. The variation in the interrogation signal may allow different reflection patterns of the interrogation signal to be tested to ensure consistency of the measurement of the filling level despite variations in the interrogation signal.
If it is determined in 1122 that no new interrogation signal is sent, then at 1124, an indication is provided that a measure of the reliable fill level cannot be determined. For example, the indication may be used to indicate an error to a user. In some embodiments, the indication is used to make a determination to carry out another filling level measurement at a later time. In some embodiments, if an error is detected by the filling level sensor device during any step in the process of fig. 11, the process ends and an indication of the error is provided. For example, a detected error (such as a detected movement during the filling level measurement, an incorrect positioning/latching of the filling level sensor to the container, a blocked receiver/sensor (e.g. liquid beading on the sensor or receiver and hampering the detection) etc. is indicated and the process is stopped to allow the user to correct the error.
If the measure of the filling level has been successfully determined in 1110, 1114 or 1120, the determined measure of the filling level is provided 1126. For example, a measure of the determined filling level is provided for use in 1002 or 1004 of FIG. 10.
FIG. 12 is a flow chart illustrating an embodiment of a process for performing an action based on a determined amount of content. The process of fig. 12 may be at least partially implemented on the interface device 406 and/or the server 410 of fig. 4.
At 1202, a content fill identifier associated with a detected amount/level of content within a container is received. In some embodiments, the received content fill identifier is the current fill level provided in 1012 of FIG. 10 and/or 1126 of FIG. 11 (e.g., determined in 1108, 1112, or 1118 of FIG. 11). In some embodiments, the content fill identifier has been received, along with the associated sensor device identifier for the particular sensor device. The content fill identifier may be used to track changes in the amount/level of content of a particular container as measured by the sensor device.
In some embodiments, the content-fill identifier has been received via a local wireless communication protocol (e.g., Wifi, bluetooth low energy, etc.). In some embodiments, the content fill identifier is received by the interface device 406 of fig. 4. In some embodiments, the server 410 receives the content fill identifier via the network 408 of FIG. 4. In various embodiments, the received content fill identifier is one of a plurality of content fill identifiers received from the same sensor device over time for the same container and/or from different sensor devices for different containers. In some embodiments, the content fill identifier comprises: a time value associated with an amount of time it takes to receive the reflected interrogation signal, and/or a distance value associated with a distance traveled by the received reflected interrogation signal. Other data received along with the content fill identifier includes one or more time values (e.g., a timestamp of when the content fill measurement was taken, a timestamp of when the content fill measurement was sent, a timestamp of when the content fill measurement was received, etc.), a detected temperature value (e.g., a temperature measured by the sensor device), a previously measured content fill identifier (e.g., which may be used without receiving the previous measurement and used to verify receipt of the previous measurement), an identifier of the sensor device that provided the content fill identifier (e.g., a media access control identifier assigned to the sensor device), a power level indicator (e.g., which indicates an amount of battery power remaining in the sensor device), and/or a status flag/indicator associated with the provided content fill identifier (e.g., indicating any errors, messages, or status associated with the provided content fill identifier).
At 1204, a fill value corresponding to the received content fill identifier is determined. For example, a percentage value and/or a value of a volume amount corresponding to the received content fill identifier is determined. In some embodiments, the identifier of the sensor device associated with the received content fill identifier is used to identify the container type associated with the received content fill identifier. For example, the identification of a particular container type received in 510 of FIG. 5 has been previously associated with a sensor device identifier, and the sensor device identifier is used to retrieve the identification of the container type. In some embodiments, the sensor device identifier and the received content level identifier are provided by the interface device 406 to the server 410, and the server 410 determines the corresponding fill volume/level. In some embodiments, the received content fill identifier identifies the associated container type of the sensor device that transmitted the received content fill identifier.
In some embodiments, a particular container type is associated with a particular table/database/data structure/formula that maps an identifier of a received content fill identifier to a quantity/level of content included in a container of the associated container type. For example, a fill percentage and/or volume value corresponding to the received content fill identifier is determined. In some embodiments, the received content fill identifier is modified before being used to obtain a quantity/level value using a particular table/database/data structure/formula for a particular container type.
At 1206, an action associated with the content fill identifier is performed. For example, the determined fill value is stored. For example, the server 410 of FIG. 4 uses one or more sensor devices to track the content remaining within each container being tracked. In some embodiments, performing the action includes performing inventory management. For example, inventory of the alcoholic beverage remaining in the opened bottle is tracked, as well as new bottles of existing inventory, to provide reports of consumption, cost of goods sold, consumption patterns, inventory forecasts, and the like. In some embodiments, the determined fill value is recorded. For example, the filling value is recorded in a data structure (e.g. a database) tracking the current and historical filling levels of the container of the determined filling value. Recording the determined padding values may include: the method includes tracking a history of dispensed amounts of the contents of the container (e.g., a previous fill level minus a current fill level), and recording each content dispensing event with an associated amount and time.
In some embodiments, performing the action comprises: an alert is provided when a low inventory of contents is detected. For example, a mobile application alert is provided on the interface device when the amount/level of the content reaches below a threshold for a single container and/or inventory of all existing inventory across the content. In another example, the alert is provided on a sensor device (e.g., a flashlight). In some embodiments, the alert is only provided when the amount/level of the content reaches below a threshold value. The threshold may be dynamically determined based on historical depletion patterns of the contents. In some embodiments, an interface device application and/or web page is used to display and manage the inventory of contents.
In some embodiments, the database tracks the remaining contents in each container measured by the sensor device, and stores, for each tracked content, one or more of: sensor device identifier, liquid type, product brand, UPC, bar code identifier, amount remaining, amount utilized over a period of time (e.g., minutes/days/weeks/months/years, etc.), existing new product container/bottle, price, distributor, date and time of purchase, portion per use, time of portion consumed, location, expiration date, chemical composition, odor, color, temperature, humidity, composition of the contents, and various contents composition information (e.g., sulfite, ethyl, etc.). This may result in millions of sensor devices being tracked and providing measurement data at any given point in time. In some embodiments, once sufficient padding values have been collected over time, performing the action includes: the recommended time to reorder, rate of consumption, average amount consumed per pour/use, etc. are determined. In some embodiments, a user can establish and specify one or more inventory thresholds based on product category, brand, beverage type, cost, and/or recipe. For example, a notification may be provided in real-time when the inventory of products falls below a threshold. Consumption and/or inventory data may be tracked per individual user/consumer, organization, business, distributor, account, brand, and/or geographic area.
In some embodiments, performing the action comprises: it is determined whether the newly determined fill value is greater than a previously determined fill value detected using the same sensor device. For example, assume that the container is not refilled with contents and when the contents of the container have been completely consumed, the user is to replace the empty container with a new full container of the same container type and transfer the sensor device from the empty container to the new full container. The use of new product containers is automatically determined and tracked by detecting whether the newly determined fill value is greater than a previously determined fill value. In some embodiments, if a user desires to use a different container type with a sensor device that is already associated with an existing container type, the user is to reconfigure the sensor device for the new container type.
In some embodiments, performing the action comprises: point-of-sale data is obtained for the item sold (e.g., mixed drink, bullet cup, glass, etc.) and the POS data is correlated to the tracked depletion of the contents inventory. This may provide a view as to which type of beverage is in demand, how the beverage is consumed, and the pairing (e.g., food pairing) between different products. Based on this information, user entity profiles can be developed to enable insights into past performance and future predictions of sales metrics for user entities. In some embodiments, by analyzing consumption patterns across user entities, a geographic area analysis may be conducted to analyze product trends. This information may be used to provide recommendations about items to sell based on seasonality, real-time consumption data, and trends for particular geographic areas and across larger areas.
The combination of POS data and the type and amount of beverage sold, views as to which type of beverage is in demand, how the beverage is consumed, and how the beverage is paired with other products (e.g., food) provided, may be analyzed and reported. Based on this information, a "profile" can be developed for the user that provides insight into how the user's business operates in terms of beverage consumption, ordering, and future demand. Regional analysis of beverage consumption may be provided based on analysis of various beverage consumption patterns across the country. Such data can then be provided to various establishments based on geographic location to help them make an informed choice on the beverage to be provided (e.g., the beverage in demand), which helps them maximize their revenue. In some embodiments, one or more of the following functions are provided:
● ability to track beverage consumption by time period (e.g., minutes/days/weeks/months) by content, brand, and various classifications.
● the ability to associate the sale of various types of beverages paired with food items by connecting to the POS in real time.
● the ability to build a "profile" for a bar by combining consumption patterns with POS data.
● summarize the ability of beverage consumption patterns across various geographic locations.
● the ability to make recommendations about possible ways to maximize revenue by providing certain types of beverages or recipes based on seasonal, real-time consumption, and geographic trends.
In some embodiments, a formula (e.g., a mixed drink formula) is recommended based on an inventory supply of ingredients (e.g., determined amount/level of contents), season, consumer profile, holiday, social recommendation, and the like. For example, the recipe recommendation service may detect the serving of an ingredient beverage in real-time, analyze an applicable seasonal/time-based recipe demand profile, and recommendations from the consumer to recommend the most likely beverage recipe to be provided. In some embodiments, the inventory forecast is adjusted to provide a recommendation for additional quantities of products/containers ordered from one or more distributors based on a current recipe provided by the user entity and/or a new recipe to be provided by the user entity. For example, when a new recipe is added, missing ingredients and/or low stock ingredients are automatically ordered from the most appropriate distributor (e.g., the distributor/merchant selected based on price) in amounts predicted based on detected product content depletion patterns of the user entity as well as other user entities (e.g., similar user entities that have provided the new recipe).
In some embodiments, the recommended beverage formula is based on various factors: supply of beverages, season, ethnic character, holidays, social recommendations, etc. For example, the recipe recommendation service analyzes the serving of beverages in real time, checks the seasons, considers recommendations from friends, and will recommend the most likely beverage recipe to be offered to the bar. In addition to the recommendation, a notification for ordering the missing beverage/beverage ingredient is sent to the bar (e.g., so it is delivered on time for service as specified by the user).
In some embodiments, the prepared recipe for a meal may be provided based on various factors, such as: food and beverage supply, season, age, dietary needs, ethnic characteristics, holidays, social recommendations, and the like. In some embodiments, the recipe recommendation service analyzes the available amounts of food and beverages in real time, checks the seasons, considers suggestions from friends, etc., and will recommend recommended recipes to the user. In addition to the recipe recommendations, a notification for ordering missing food and beverages may also be sent to the user.
In some embodiments, performing the action comprises: facilitating ordering of additional amounts of content being tracked. For example, the consumption and pattern of the contents and the amount of a full product container present are analyzed to determine how many additional containers of the contents should be ordered to replenish the container's stock in stock. In some embodiments, orders for additional product containers may be automatically provided to a preferred or pre-set distributor/merchant/sales representative for the product container to automatically place orders for the contents. For example, by allowing the user to automatically send inventory reports to the distributor periodically, the user is provided with the option to reorder products from the distributor. In some embodiments, a notification is provided to the user to order the additional amount of product/content, and the user may provide an associated confirmation to automatically place an order for the recommended additional amount of product/content from the recommended/preset distributor. When an order is automatically placed, the order configuration, such as distributor preferences, payment information, preferred delivery time, etc., may be stored and utilized. This may allow for a "one-click" reorder, wherein upon tapping the reorder notification on the user interface, a series of such services is initiated in the background and the desired product is delivered on time at the preferred location without any further reorder action from the user.
In some embodiments, a mobile application is used to provide queries for information related to a consumer. The application may then display the supply of food, various notifications such as reordering, health improvement, recipe recommendations, and the consumer's food role (e.g., nutrient analysis). In various embodiments, the mobile application is used to provide a tap food reordering that helps users deliver food to their preferred location and preferred time without any further action. In some embodiments, the mobile application provides access to a delivery service marketplace that provides users with a choice to choose from among a number of delivery services. When the user is notified of a reorder of a food item, the user can tap on the mobile device notification to confirm that the reorder was made, and the food item will be automatically delivered from its preferred source to its preferred physical address without any further action or step from the consumer. When a user downloads a mobile application or subscribes to a food analysis and tracking service, the user's preferences for delivery address, payment, and preferred delivery time may be received and stored. Various delivery service options may be aggregated (e.g., Amazon Fresh, Google Shopping Express, Instacart, other food markets, local farmers, etc.). The consumer's preferences for delivery services may be stored along with payment, delivery location, and delivery time preferences. In some embodiments, once the reorder notification is indicated, one or more services are initiated in the background and the food is delivered at the time and location as specified without any further action from the consumer.
In some embodiments, a product marketplace with various distributor/merchant options for a product may be accessed via a device (e.g., user device 412 and/or interface device 406 of fig. 4). In some embodiments, the equipment/server can be in a delivery truck or service of a distributor located nearby and automatically order/request delivery of one or more products/containers that are preferred to be restocked immediately. For example, when an additional amount of product is detected as being needed before a normal product ordering/delivery schedule, an immediate delivery from a nearby source is automatically requested. A notification may be provided to the user prior to subscription/delivery to obtain authorization from the user.
In some embodiments, the analysis system tracks food contents inventoried by the user. In some embodiments, the mobile application tracks the current location of the user using a GPS location provided by a mobile device (e.g., a smartphone, a tablet, a wearable computer, etc.). When the user location is near a merchant with food and beverages, recommendations are provided with information about whether a food item is nearing exhaustion or is about to expire, and information about the current location of the user device to select those food and beverages. In some embodiments, the mobile application locates the user's presence in or near the store and detects that the user is nearing depletion of a particular food item and notifies the user to pick up the food item while at the store.
In some embodiments, performing the action includes providing a nutritional recommendation. For example, the analysis system provides nutritional facts and recommendations associated with each food item tracked using the sensor device. This may be provided using a UPC and nutrient fact database or an existing database with similar information. Using such UPCs and nutrient databases, the food consumption pattern of each consumer can be summarized by tracking various nutrient information (e.g., 500 grams of sugar per week, 300 grams of protein per month, 20 grams of trans fat, etc.) over a specified time period. Based on quantitative profiling of food consumption, a "food role" can be determined. The analysis may be provided to consumers to allow them to make an informed choice in consuming certain foods and beverages. The analysis may be used to determine healthy nutrient levels and may inform the user of excessive consumption or lack of certain nutrients for optimal health conditions.
The consumer may integrate and connect aggregated data collected from wearable devices (such as FitBit, Jawbone, etc.) to the analysis system. In combination with fitness data from various wearable devices, the analysis system may also suggest which nutrients/foods and beverages may lead to a degradation or improvement in health. The analysis system may provide a mechanism for consumers to provide allergy and other disease information. The analysis system may then examine various food and beverages ordered and consumed that may lead to allergies and medical problems, and alert the user to possible hazards or potentially beneficial aspects.
In some embodiments, the user's social graph is obtained (with permission from the user) from a social network such as a facebook and associated with a food role built by the analytics system. Based on the food roles that provide insight into the consumer's interests and consumption of various foods, the analytics system can identify food consumption recommendations with connected friends of the network. Based on the food role, the analytics system can mine similar roles and recommend beneficial foods and beverages, determine suggested inventory (e.g., shopping lists), suggest consumption patterns, and suggest recipes. By connecting users based on food roles, a user graph based on food roles, called a "food graph," can be determined. Such a consumer network based on food roles may form a community to allow for the discussion of various health benefits. Farmers, food brands and chefs, etc. may then recommend foods and beverages that match a certain food role. Sensor devices may be used to track food consumption patterns and habits to calculate nutrient intake per time period (e.g., minutes/days/weeks/months). Using this information, a unique "food role" can be developed for each user, identifying the food consumed and its nutritional impact. The "food roles" of the various users can be linked together to form a "food map". Certain food and beverage, formula and nutritional education from brands, farmers, chefs and educators may be recommended/provided based on the user's "food role". Health data from various other fitness devices of a given consumer may also be aggregated and integrated (e.g., fitness tracker data for analysis is used along with food intake data collected from devices such as fill level sensor devices and formula scanners to make recommendations regarding various types of nutrients and food intakes). The user may provide information about allergies and special needs related to food products and may analyze this information using food intake data collected from the content fill sensor device and the recipe scanner and notify/alert the user about possible problems with certain food products that they have purchased, ordered or may order.
FIG. 13 is a flow chart illustrating an embodiment of a process for conducting inventory management and reporting. The process of fig. 13 may be at least partially implemented on the interface device 406 and/or the server 410 of fig. 4.
At 1302, content fill level change events (e.g., content dispense events) for one or more content items are tracked. For example, the time (e.g., time value) and amount of liquid poured for each pour event from the bottle is tracked. In some embodiments, using the content fill sensor apparatus 100, 200, 300, 350, and/or 360 of fig. 1-3D, a measurement of the current fill level is measured after each dispensing of content from the container. For example, using at least a portion of the process of fig. 9-11, the content fill level of the container is tracked, and using at least a portion of the process of fig. 12, measurements of the dispensed content for one or more content items are recorded. By tracking the difference between the current filling levels, a history of the amount of content dispensed from or added to the container each time the content is dispensed/refilled is determined and recorded. Thus, when the content level is changed for each content item being tracked, what content level is changed for each content item being tracked, and how much content level is changed for each content item being tracked may be tracked and stored as a list of content fill level change event entries. Content fill level change event entries may be aggregated per individual user/consumer, organization, enterprise, distributor, account, brand, and/or geographic area.
At 1304, the content fill level change event is associated with a corresponding transaction. For example, point of sale (POS) transaction information is related to a content fill level change event. This may allow for the identification of any content fill level change events that cannot be matched with the associated POS transaction, thereby allowing for the identification of any unauthorized content fill level change events. The correlation may be effectuated by identifying an item sold in the transaction, determining the type and amount of the constituent component(s) of the sold item, and matching the constituent component(s) to one or more corresponding entries in the content fill level change event based at least in part on the matched associated time values.
At 1306, inventory management and reporting is effectuated. For example, bars and restaurants sell wine, beer, and hand cocktails. All drinks have a formula and especially hand cocktails have a formula where several brands of spirits and ingredients are used to make a particular drink. At the end of the business day, one can use all sales data and calculate the total amount of content that is poured in bottles, brands, and totals. Generally, there is no way to confirm whether the total amount of liquor dispensed matches the total amount sold. For various reasons, the actual total amount of product that is utilized/poured to make a marketed drink product may differ from the theoretical amount that should be used to make the marketed drink product. There may have been over or under pour compared to the recipe, the actual beverage produced may not have been recorded for sale, and another brand of similar type of wine may have been substituted for what is needed for the recipe, etc.
Along with the calculated performance score or metric value, the following are provided: results of the correlation between content fill level change events and corresponding transactions, information, reports, and/or alerts regarding the amount of content dispensed and/or the amount of content that is over/under dispensed (e.g., too much poured, too little poured, etc.) according to the theoretical amount of content that should be dispensed, which is aggregated for a particular content item, transaction, product (e.g., a drink product comprising many compositional ingredients), fill level change event, container, brand, type, category, physical location, geographic area, time period, employee (e.g., bar attendant), and/or content consumer. Thus, the inventory management system not only automatically tracks the fill level of the container and the inventory amount of full containers remaining, but also tracks each content fill level change event (e.g., indicating the content, the time of the fill level change event, and the amount), along with statistical information about the fill change as compared to the amount of content sold. This may also allow users to not only track sales popularity and patterns across various metrics (e.g., terms, transactions, fill level change events, products, containers, brands, types, categories, physical locations, geographic areas, time periods, employees, content consumers, etc.), but also identify and investigate unexpected content losses (e.g., review reports of content fill level change events not attributed to corresponding sales).
14A-14C are example user interfaces illustrating content reports dispensed. In some embodiments, an example user interface is provided in 1306 of FIG. 13. In some embodiments, the example user interface is provided using inventory, sales, and content dispensing event data tracked by the server 410 of FIG. 4.
Interface 1402 of fig. 14A lists items of a particular category (e.g., gin). Each item lists an associated total amount of the sold content, a total measure of the dispensed content, a difference between the sold content versus the dispensed content, and an associated total amount of the complimentary content provided for the particular item for a particular time period (e.g., one day). Additionally, a performance metric (shown as the percent of near Rating calculated by dividing sales by allocation) for each listed item is also provided for the allocated versus the sales.
Interface 1404 of fig. 14B shows a circular graph that displays and graphs the total metered amount of the sold content, the amount of change in the filling of the content, the difference between the sold content versus the dispensed content, and the total amount of complimentary content provided across all items on a given day. Performance metrics (shown as the% nectarating calculated by dividing sales by allocation) for the allocated versus the sales are also provided for a given day. Additionally, the term exhibiting the highest loss (e.g., the ratio of lowest sales versus dispensing), the best selling term, the number of new bottles opened, and the number of full bottles remaining across all terms are indicated.
Interface 1406 of fig. 14C shows a circular graph showing and graphically representing the total amount of sold contents, the amount of dispensed contents, the difference between the sold contents versus the dispensed contents, and the total amount of complimentary contents provided for a given item type (gin) on a given day. Performance metrics (shown as near Rating% calculated by dividing sales by allocation) for the allocated versus sales are also provided for a particular item type on a given day. Additionally, the item exhibiting the highest loss (e.g., the ratio of lowest sales versus dispensing), the best selling item, the number of new bottles opened, and the number of full bottles remaining for the specified item type are indicated.
FIG. 15 is a flow chart illustrating an embodiment of a process for associating a content fill level change event with a corresponding transaction. The process of fig. 15 may be at least partially implemented on the interface device 406 and/or the server 410 of fig. 4. In some embodiments, at least a portion of the process of fig. 15 is carried out in 1304 of fig. 13.
At 1502, one or more transaction records are received. Examples of transactions include product sales or food/beverage/product consumption or preparation. In some embodiments, a sales transaction record for a bar or restaurant is received from a POS system or other sales data system. In some embodiments, a transaction record is received from a user. For example, using an application of the mobile device, the user enters the prepared food consumed by the user. Each transaction record may identify one or more of the following: product (e.g., identifier of beverage sold), product type (e.g., mixed beverages), quantity of product (e.g., beverage size and beverage quantity), transaction time (e.g., date and time of sale), location (e.g., location of sale), price (e.g., price charged, tip amount, etc.), seller (e.g., identifier of bar attendant, cashier, etc.), and other information associated with the transaction. In some embodiments, transaction records are accumulated over a period of time and periodically received together for analysis (e.g., a full day of records received together after the end of each day of business). In some embodiments, one or more transaction records are dynamically received as each transaction or set of transactions is completed.
At 1504, qualifying match candidates between the fill level change event and the transaction are identified. For example, for each transaction, one or more candidate content fill level change events (if any) corresponding to the transaction are identified. Candidate content fill level change events are identified based on content fill measurements determined using a content fill sensor device (e.g., content fill sensor devices 100, 200, 300, 350, and/or 360 of fig. 1-3D). For example, the content fill sensor device provides a content fill identifier that indicates a current amount/level of content detected within the container (e.g., periodically and/or dynamically provided when triggered by an accelerometer or other sensor), and stores and tracks a history of the content fill identifier. Each fill identifier is associated with a time value of the fill level measurement associated with that fill identifier (e.g., a timestamp of when the associated measurement was carried out/determined/triggered, a timestamp of when the content fill indicator was received, etc.). The content fill level change event may be determined by calculating a difference from a previous content fill level for each content fill level, taking into account the history of the content fill level. If the difference between the new filling level measurement and the previous filling level measurement is larger than the threshold value, the difference is identified as a content filling change amount of the new content filling level change event and associated with the time value of the new filling level measurement. In another example, for each content fill level change event, one or more candidate transactions (if any) corresponding to the content fill level change event are identified.
Because each transaction is associated with a transaction time value (e.g., which indicates a time of sale), the following assumptions are made: any associated content fill changes (e.g., dispensing the content to make a traded product) may occur near the time of the trade. Thus, for each transaction, one or more candidate content fill level change events (if any) corresponding to the transaction may be identified by identifying any content fill level change events having an associated time value within a threshold time range of transaction time values. An example of a threshold time range is 25 minutes, but other threshold time range values may be utilized in other embodiments. In another example, for each candidate content fill level change event, one or more candidate transactions (if any) corresponding to the candidate content fill level change event may be identified by identifying any transactions having an associated time value within a threshold time range of the candidate content fill level change event time value.
At 1506, an attempt is made to match each constituent item of the transaction with a selected content fill level change event, if applicable, among the candidate content fill level change events for the transaction.
Each product/item of the transaction is made using one or more component items, and these component items are identified using stored information about the product/item. For example, beverage products are made using specified compositional items that are individually tracked using individual content fill sensor devices. When the transaction identifies a beverage product, a database of component items of the tracking product is used to identify any tracked component items and associated quantities that are designated to make the beverage product. By identifying the constituent components and their respective specified amounts, the filling level change event can be matched to each of the specified amounts.
In some embodiments, among the candidate content fill level change events identified for the transaction at 1504, the content fill level change events are sorted by first a content fill change amount (e.g., from a maximum pour size to a minimum pour size), and then by a time difference from the transaction time (e.g., sorted by a closest time to a farthest time from the transaction time for equally sized content fill changes).
In carrying out the match, an attempt is made to match the specified component items of the transaction product with candidate content fill level change events for the same item. For example, candidate content fill level change events for a transaction are filtered to identify only the following candidate content fill level change events: the candidate content fill level change event is for a corresponding item that is the same as a component item of the product of the transaction to be matched. Thus, in some embodiments, for each specified/required component item of the transaction, corresponding qualifying candidate content fill level change event(s) (if any) that match the component item and are within a threshold time range are identified, and one of the corresponding qualifying candidate content fill level change events is matched to the specified component item based on the associated quantity, time difference, and/or item match/type comparison. In another embodiment, for each content change event, the corresponding qualifying required/specified component item(s) (if any) of the transaction that match the content item of the change event and are within a threshold time range are identified, and one of the corresponding specified/required component items of the transaction is matched to the content change event based on the associated quantity, time difference, and/or item match/type comparison.
When a match is made between the specified/required component item of the transaction and the filling level change event, the component item of the transaction and the filling level change event are flagged to prevent the filling level change event or the specified/required component item of the transaction from being matched to a different match again. The matching process is then repeated for each content change event or designated/required component item of the transaction until a match can no longer be made. Traversing the order of the specified/required component items of the content change event or transaction to make a match may be based on the number or qualifying matches of the specified/required component items of the content change event or transaction. For example, the matches are performed in order of minimum number of qualifying matches to maximum qualifying matches (e.g., first matching a specified/required component item having a minimum number of qualifying matches for a content change event or transaction). Of an equal number of matches, a content change event or specified/required component item associated with a larger quantity is matched before a content change event or specified/required component item associated with a smaller quantity is matched.
At 1508, an attempt is made to match the entries that do not match using the alternative criteria. In some embodiments, matching using the alternative criteria comprises: attempts are made to match not only by specific terms but also by categories of terms. For example, the bar attendant may have replaced the originally specified component items with substitute component items that belong to the same item category as the originally specified component items (e.g., replacing one brand of gin with another brand of gin). In some cases, the originally specified component items of the transaction may have been identified by item category rather than by specific item (e.g., the recipe of the drink requires any brand belonging to the gin category). To detect such a substitution, for any fill level change event or specified/required component items of a transaction that have not yet been matched, their corresponding qualifying matches are extended to include any corresponding specified/required component items or fill level change events (but still within a threshold time range of each other) not only for the particular matching item, but also for transactions of all items belonging to the same item category. In some embodiments, matching using the alternative criteria comprises: the threshold time range is increased to increase the number of qualifying matches. Once the number of qualifying matches is increased, matches may be assigned in a specified order (e.g., as previously described in 1506) until no other matches can be assigned.
At 1510, the match(s) are adjusted, if applicable. In some embodiments, a single fill level change event may be associated with multiple specified/required component instances (e.g., a single pour across multiple glasses, a missing fill level measurement, a measurement error, etc.) of one or more transactions, and the single fill level change event is split among the multiple specified/required component instances of the one or more transactions. For example, when it is detected that the amount of the fill level change event is larger than the amount of the matching specified/required component item of the transaction by an amount of a threshold percentage, any other non-matching specified/required component item instances (of the same specific item or item type) of the transaction within a threshold time of the fill level change event are matched with the same fill level change event. However, the number of fill level change events attributable to each of the different matching compositional component instances is based on the relative ratio of the specified/required quantity to each other (e.g., the total number of fill level change events is split based on the relative size of the specified/required quantity of the matching instance). In another example, when a filling level event is identified as "weak" due to an associated sensor measurement that detects a received "weak" reflected signal or missing signal, the amount of the subsequent filling level event is split among matches of one or more previous filling level events based on the relative ratio of the specified/required amounts of the matching compositional component instances.
In some embodiments, multiple fill level change events may be associated with the same specified/required component item instance of a transaction (e.g., a bottle has run out before the pour is completed, a sensor error, etc.), and the multiple fill level change events are combined and assigned to the same specified/required component item instance. For example, when a bottle exchange is detected, and/or a non-matching fill level change event for the same item occurs near the time value associated with a match identified as being out of phase associated with a quantity difference greater than a threshold, the non-matching fill level change event is also matched and assigned to the same specified/required component item instance. In another example, the amount of content item remaining in the container is added to an amount associated with a fill content level change event that occurs before or after bottle replacement (e.g., depending on which event occurs closer to bottle exchange).
In some embodiments, the fill level change event may indicate an increase in the fill level of the content item of the container (e.g. a recalibration measurement carried out without accelerometer trigger). This may be due to a previous filling level measurement result in which an "overshoot" error occurred in the measurement, but later the sensor recovered from the error and indicated an increase in the filling level due to the correction. The corrected amount is to be distributed across one or more previous filling level change events. For example, instead of matching an increased filling level change event with a transaction, the amount of filling level change is distributed among the previous filling level change event(s) to reduce its associated amount. These previous fill level change event(s) may be identified by identifying any previous fill level change event (e.g., within a threshold time range) that has been matched with a lower specified/required amount of constituent item instances than the amount of that fill level change event. The reduced total amount of increased filling level change events is distributed among the identified previous filling level change event(s) based on the relative ratio of the specified/required amounts of the corresponding matching composition instances.
At 1512, analysis is performed based on the identified matches. For example, the results of the matching may be used to provide one or more reports, indications, and/or other analysis (e.g., used to provide the information shown in fig. 14A-14C). In some embodiments, any unmatched filling level change events and/or unmatched assigned/required component item instances are indicated. This may allow a user to investigate the cause of a mismatched filling level change event. The identified matches are used to effectuate the inventory management and reporting of 1306 of FIG. 13. For example, the ratio between the theoretically required content amount versus the actual content dispensed is determined for various measures. In various embodiments, events are detected such as no pour events (e.g., transaction does not match fill level change events), over pour events (e.g., amount dispensed is greater than ideal amount in the recipe), under pour events (e.g., amount dispensed is less than ideal amount in the recipe), off-hours pour events (e.g., contents dispensed outside business hours), unmatched pour events (e.g., contents dispensed without corresponding recorded transaction), and the like. In some embodiments, the average ring time (e.g., the average time between the transaction input and the start or end of the corresponding matching fill level change event (s)) is calculated for one or more users and/or establishments (e.g., the average ring time value calculated for each bar attendant and/or store). For example, an average of the time between the transaction timestamp and the content dispensing timestamp for a plurality of related transactions matching the corresponding content dispensing event is calculated. The establishment may want to encourage users (e.g., bar attendants) to enter transactions into the POS system as soon as possible before or after making the corresponding beverage product, averaging the amount of time between transaction times and corresponding matching fill level change event times for all identified matches, for each user's transactions (e.g., average ring time value for each bar attendant) and/or across all users of the establishment (e.g., average ring time value for all users across establishment location and/or business entity).
Fig. 16A is a diagram illustrating an embodiment of a front view of a base station 1600. Fig. 16B is a diagram of an embodiment illustrating a side view of a base station 1600. Fig. 16C is a diagram illustrating an embodiment of internal components of a base station 1600. In some embodiments, the base station 1600 is included in the interface device 406 of fig. 4. For example, the base station 1600 wirelessly receives content level measurement data from a sensor device (e.g., sensor devices 100, 200, 300, 350, 360, 402, and/or 404 of fig. 1-4) and transmits the measurement data to a back-end server (e.g., server 410 of fig. 4). For example, the base station 1600 wirelessly receives content level measurement data from the sensor device via bluetooth low energy wireless transmission and transmits the measurement data to a server via a wireless WiFi connection to the internet.
As shown in fig. 16A-16C, a base station 1600 includes: a housing 1602 with status indicators 1604. The receptacle prongs 1606 plug directly into electrical wall outlets to obtain power and physically support the device on a wall. The housing 1602 houses a battery 1608, a battery housing 1610, a circuit board 1612, and a power module 1614. Battery 1608 provides a backup power source if power from a wall outlet becomes unavailable. In some embodiments, data received from the sensor devices while operating on backup power from the battery 1608 is stored in storage of the base station 1600 for later transmission to a server upon restoration of power from the wall outlet. When plugged into a wall outlet, the battery 1608 is charged. The power module 1614 conditions and transforms the power received from the wall outlet for use by the base station 1600. The circuit board 1612 includes wireless communication (e.g., bluetooth and Wi-Fi communication), processing (e.g., processor) and storage (e.g., solid state memory) components, and other electronic components.
An example deployment environment (e.g., restaurant, bar, home, etc.) may contain anywhere from a few bottles to hundreds of bottles to track content levels. Some may have as many as 500 bottles in one environment. A sensor device (e.g., sensor devices 100, 200, 300, 350, 360, 402, and/or 404 of fig. 1-4) may measure the remaining volume of liquid in the bottle and transmit them to a server in the network cloud. In some embodiments, the sensor device transmits data using a bluetooth low energy (i.e., BLE) protocol that minimizes energy usage of the sensor device running on a battery power source. To transmit data included in a BLE packet to the cloud, the base station 1600 obtains the BLE packet, extracts measurement data included in the packet, and transmits the measurement data to the server.
However, there are limitations to using BLE. This protocol may limit the number of concurrent connections that a device may manage when communicating using a BLE bidirectional communication mode, referred to as a GATT mode. Typically no more than 20 concurrent connections at a time. In some embodiments, the sensor device may be caused to conduct unidirectional communication using another BLE communication mode, referred to as an advertising mode. However, a receiving device with BLE listening capability is typically unable to handle more than a dozen broadcast devices that concurrently send packets, since typically the operating system of the receiving device will suspend BLE transmission listening in order to handle other work. This may result in the loss of several BLE transmissions from the broadcasting device. Even if the operating system is modified to listen only for BLE transmissions, packets will be lost due to packet collisions or without the ability to store and process them.
In some embodiments, a base station (e.g., interface device 406 of fig. 4) may listen for over 300 sensor devices (e.g., sensor devices 100, 200, 300, 350, 360, 402, and/or 404 of fig. 1-4) that communicate simultaneously with a 99.99% success rate. The base station includes the capability to communicate in both Wi-Fi 802.11 and BLE communication protocols simultaneously.
In some embodiments, potential consumers in the deployment environment (e.g., customers who come to order at a bar) are provided coupons or promotional offers via mobile applications by a certain product brand, or by identifying user profiles through their unique MAC addresses of social networks, phone numbers, phones, or other personal devices. For example, the presence of a potential consumer may be detected by detection of the consumer's user mobile device by the base station (e.g., detecting a Wi-Fi and/or bluetooth communication identifier of the user device). Based on consumer preferences, previous purchasing habits, social recommendations, etc. collected over the Web/internet, targeted promotions can be provided for potential consumers. Each potential consumer may be identified using near field communication or BLE by detecting devices of the potential consumer via a base station located at the deployment environment.
In an example, a purchase of a beverage associated with a promotion may be detected via data from a point-of-sale system. In some embodiments, the particular ingredient products and their amounts used to make the purchased beverage may be detected via the sensor devices described herein. For example, in addition to knowing that a certain beverage is purchased, a sensor device may be used to associate ingredient measurements of the purchased beverage with the particular brand of bottle used to make the beverage. This can be used to gauge the effectiveness of a promotion by measuring whether the beverage is actually made with the brand for which the promotion is offered. This information is carried in real time to the service/server through the base station. The base station may also be used as a means of communicating back with the user's personal device to provide further promotions directly upon detection of consumption/use via the sensor device. For example, the user equipment is directly connected to the base station via a Wi-Fi or bluetooth connection.
In some embodiments, the base station includes a display that indicates which drink was last drunk, or which sensor device's lid should be placed on which bottle/container, or even serves as a front end system that provides the same bar details as the smartphone application or web application. For example, a base station is used to pair a sensor device with a particular container/bottle. In some embodiments, the base station provides wireless internet connectivity (e.g., acts as a wireless router) to clients desiring wireless online services. In a deployment environment where other sensor devices are used to track items of food cabinets and other household consumables, the base station may serve as a hub for various other activities. In these cases, the base station may include a display and have other functions such as receipt scanning, UPC scanning, recognizing voice commands, and the like.
Fig. 17 is a flow chart illustrating an embodiment of a process for configuring a base station. The process of fig. 17 may be at least partially implemented on the interface device 406 of fig. 4 and/or the base station 1600 of fig. 16A-16C.
At 1702, a configuration mode is entered. For example, when a user plugs a base station device (e.g., base station 1600 of fig. 16A-16C) into an electrical outlet, the base station automatically enters a configuration mode to initiate configuration of the device.
At 1704, communication is established with a configuration device. For example, the base station and the configuration device (e.g., user device 412 of fig. 4) enter a bluetooth generic attribute for two-way communication (i.e., GATT) mode. The configuration device may have initiated the communication when the configuration device initiates a bluetooth personal area network connection with the base station device.
At 1706, a configuration is received from a configuration device. For example, the configuration data specifies network settings (e.g., Wi-Fi router SSID and password, cellular network configuration, etc.) and a user account identifier (e.g., a user account using inventory management services provided by a cloud network server). The user may have specified the configured settings using a mobile application running on the configuration device.
At 1708, a network connection is established. For example, a Wi-Fi connection is established with a wireless network router using credentials provided via the received configuration to connect the base station to the internet. The base station is associated with a user account using the established network connection. For example, the base station device communicates with the backend server via a network connection and provides the user account information received in the configuration along with an identifier of the base station. This will pair the base station with the user account. The server may also provide additional configuration data to the base station. For example, current time information (e.g., UTC time) is received. Configuration data associated with the sensor device associated with the user account may also be received from the server. For example, at least a portion of the sensor device configurations utilized in 514 of fig. 5 and/or 806 of fig. 8 are received from a server. In some embodiments, the base station receives a token to be used to securely establish communication with the sensor device. In some embodiments, the base station receives test data from the sensor device (e.g., for use during a manufacturing process to verify that the sensor device passed a self-administered verification test).
At 1710, a broadcast advertisement data reception mode is entered. For example, the two-way communication GATT mode is exited and the base station enters the advertisement packet listening mode. The sensor device is to use BLE advertisement packets to transmit the filling level measurement data in a one-way communication mode. The base station in the broadcast advertisement data reception mode listens for these advertisement packets from the sensor device. Once an advertisement packet is detected and received, payload data (e.g., including fill level measurement data) in the advertisement packet is extracted and sent, at least in part, to a server via the established network connection. In some embodiments, the advertisement packets are based, at least in part, on apple's iBeacon protocol. For example, the advertisement packet of the iBeacon protocol has been modified to include payload data (e.g., including fill level measurements).
In some embodiments, the sensor device transmits the measurement data in an advertising mode, which is a one-way broadcast communication mode in which reception of the transmission data by the receiving party cannot be guaranteed. Since hundreds of sensor devices may potentially transmit at the same time, several advertisement packets may collide. In some embodiments, to overcome this conflict, each sensor device broadcasts the same measurement data multiple times. The number of times the broadcast is repeated varies based at least in part on the chance of a conflict with another broadcast of another sensor device in the same deployment environment. For example,chance of collision = e ^ -2GWhereinGIs the average transmission attempt per time frame. In some embodiments, based at least in part onChance of collision ^ -2GRepeatedly broadcasting the same packet data for a certain predetermined duration, whereinGIs the average transmission attempt per time frame.
In some embodiments, the advertisement interval for the theoretical maximum chance/second may be determined based at least in part on the following relationship:ad interval = 2 × N ad timeWhereinNIs the number of sensor devices and the advertisement time is the amount of time required to send the advertisement packet. For example, the number of broadcasts to the same current fill level measurement is based at least in part on the total number of sensor devices deployed in the deployment environment of the base station(e.g., the total number of sensor devices associated with the user account and identified as operating simultaneously in the same environment). This allows the number of repeated broadcasts to be dynamically adjusted, since an increase in the number of sensor devices increases the number of repeated transmissions, while a decrease in the number of sensor devices decreases the number of repeated transmissions. In some embodiments, in order for the sensor device to determine/calculate the number of repetitions and/or the advertising interval, a total number of sensor devices is assigned to the sensor device via wireless communication (e.g., via a two-way GATT bluetooth connection with the base station and/or the user device). In some embodiments, rather than using a dynamically specified total number of sensor devices, a theoretical maximum or constant value is utilized.
Figure 18 is a flow chart illustrating an embodiment of a process for processing data packets at a base station. The process of fig. 18 may be at least partially implemented on the interface device 406 of fig. 4 and/or the base station 1600 of fig. 16A-16C. In some embodiments, at least a portion of the process of fig. 18 is carried out in 1710 of fig. 17. The process of fig. 18 may be repeated for each received data packet.
At 1802, a data packet is received. In some embodiments, the data packet is an advertisement packet of a personal area network protocol, the advertisement packet including an identifier of the sensor device and the sensor measurement data. For example, a sensor device (e.g., sensor devices 100, 200, 300, 350, 360, 402, and/or 404 of fig. 1-4) broadcasts a one-way BLE communication advertisement packet that has been configured to encode sensor measurement data in a payload portion of the packet. In some embodiments, the received data packet is one of multiple repeated broadcasts of the same payload data content by the sensor device. The number of times the broadcast is repeated may vary based at least in part on the chance of a collision with another broadcast from another sensor device in the same environment. For example, the number of times that the same sensor data and/or same data packets for a particular sensor device are repeatedly broadcast is based at least in part on a total number of sensor devices deployed in the deployment environment of the base station (e.g., a total number of sensor devices associated with the user account and/or identified as operating simultaneously in the same environment).
In some embodiments, the received data packet includes one or more of the following data components: a device identifier, a current measurement, a previous measurement (e.g., that may be used if a previous packet was never received), a measurement status, a battery status, a temperature, a time value associated with the current measurement, a time value associated with the previous measurement, a measurement counter/iteration value(s), a packet number, and so forth. An example of a device identifier is a Universally Unique Identifier (UUID) that uniquely identifies a particular sensor device (e.g., a 6-byte value). An example of a current measurement is a measure of the current fill level (e.g., a 12-bit depth value) in 1014 of FIG. 10 and/or 1126 of FIG. 11. An example of a previous measurement is a measure of the immediately previous fill level (e.g., a 12-bit depth value) in the previous iteration of 1014 of FIG. 10 and/or 1126 of FIG. 11. An example of a battery state is a battery voltage value (e.g., a 2-byte value). An example of a time value associated with a current measurement is a value associated with the time at which the current measurement was carried out. An example of a time value associated with a previous measurement is a value associated with a time at which the previous measurement was carried out. An example of a time value associated with a previous measurement is a value associated with a time at which the previous measurement was carried out. An example of a measurement counter/iteration value that is included is an ordering identifier that identifies a relative ordering in a current measurement in a series of measurements (e.g., may be used instead of a time value to identify an ordering). Examples of packet numbers are counter numbers and/or time values that identify the relative ordering of packets in a series of packets sent by a sensor device (e.g., for repeated broadcasts of the same packet/measurement data, the packet number is the same, and when new measurement data in a new packet is broadcast, the packet number is incremented).
The measurement state, which may be included in the packet, identifies the state associated with the current measurement. For example, the measurement state is an 8-bit value, where:
bit 0: 1-measurement ofType of quantity
Bit 1 Bit 0 Type of measurement Details of
0 0 First of all Identifying that the current measurement occurred immediately after the sensor device has been paired with the user application.
0 1 Accelerometer The identification current measurement is triggered by an accelerometer interrupt.
1 0 Periodic Identifying that the current measurement is triggered by a timer that is interrupted every 1 hour for 45 minutes
1 1 Diagnosis of Is used for debugging purposes.
Bit 2-weightThe trial limit has been reached
○ if set, the current measurement has been repeated a maximum number of times to detect the effective depth.
Bit 3-Not latch (Not Latched)
○ if set, no valid depth measurement is detected.
Bit 4-unresolved (Not Settled)
○ if set, the back-to-back measurements are not within a threshold of each other (e.g., +/-3 mm).
Bit 5-all-zero
○, if set, the microphone will not detect any reflections from the interrogation signal, this is also set when the sensor device is placed at an angle on a table but is stable, in which case it is used to report a cap-off condition.
Bit 6-reset
○ if set, the current measurement has been carried out immediately after the sensor device is reset.
Position 7-new bottle
○ if set, the latching algorithm detects that the previous depth is within a threshold (e.g., +/-25 mm) of the container height and the current measurement is within a threshold (e.g., 125 mm) from the top of the bottle.
At 1804, a determination is made whether the currently received data packet is a duplicate of a previously received data packet. Since the sensor devices broadcast the same measurement data multiple times, the base station may receive multiple identical packets of the same measurement from the same sensor device. In some embodiments, it is determined whether the currently received data packet is a duplicate of a previously received data packet by comparing a device identifier and a time value or counter/iteration value included in the currently received data packet with corresponding identifiers of previously received data packets. For example, if a set of values that uniquely identifies an instance of measurement data in a currently received data packet matches a corresponding set of values in a previously received data packet, it is determined that the currently received data packet is a duplicate of the previously received data packet.
If at 1804, it is determined that the currently received data packet is a duplicate of a previously received data packet, at 1806, the data packet is discarded.
If at 1804, it is determined that the currently received data packet is not a duplicate of a previously received data packet, at 1808, the currently received data packet is stored in a buffer for processing. For example, data packets are stored in a first-in-first-out buffer queue. In an alternative embodiment, all received data packets are stored in a buffer, and as each packet is obtained from the buffer storage, duplicate packets are detected and discarded for further processing.
At 1810, data packets are obtained from the buffer and at least a portion of the content of the data packets are processed for reporting. In some embodiments, when there is a packet stored in the buffer, the microcontroller handling the packet wakes up another microcontroller handling the wireless communication. This allows packets in the buffer to be dynamically processed one at a time from the buffer, as received packets are placed in the buffer and removed from the buffer one by one for processing. By being in a sleep state (in addition to the presence of pending packets), the wireless microcontroller is able to save power. Processing the content of the data packet for reporting may include: extracting measurement data and associated identifiers and other data in a payload of a data packet; and formatting/processing/packetizing the extracted data for network transmission to a server.
At 1812, the processed content of the data packet is reported. For example, the measurement data is reported to the server 410 of fig. 4. In some embodiments, the contents of the data packet are published to the service API via the RESTful protocol. Prior to reporting the content, it is determined whether the network connection is in a valid state. For example, the wireless microcontroller checks (at wake-up) to ensure that there is a valid Wi-Fi connection with the desired server. If there is no connection, it will attempt to establish a connection using the cached credentials. If it fails to connect, it continues to attempt to connect until a connection is established. If a wireless connection cannot be established to process packets at wake-up, the wireless controller may continue to process data packets in addition to attempting to make a connection. Due to the lack of connectivity, instead of transmitting the packet, the wireless controller stores the processed data of the packet in a data storage device, such as an EEPROM. In some embodiments, the data store is designed to hold the packets for up to one week during normal operation of the organization (e.g., assuming a deployment environment with up to 500 sensor devices).
Although the foregoing embodiments have been described in some detail for purposes of clarity of understanding, the invention is not limited to the details provided. There are many alternative ways of implementing the invention. The disclosed embodiments are illustrative and not restrictive.

Claims (80)

1. A method for measuring a content fill level, comprising:
transmitting an interrogation signal;
receiving a reflected signal having a plurality of spikes, wherein one of the spikes corresponds to a signal reflection of the interrogation signal indicative of a content fill level; and
a digital analysis is performed on the plurality of spikes using a processor to distinguish which spike indicates a content fill level.
2. The method of claim 1, wherein the processor is further configured to: a time value corresponding to a spike indicative of the content fill level is determined and the time value is adjusted by an adjustment factor.
3. The method of claim 1, further comprising: an identifier of the content filling level is determined.
4. The method of claim 3, wherein the identifier comprises a distance value associated with a length of travel of the interrogation signal.
5. The method of claim 1, further comprising:
determining a first identifier of the content fill level based on a digital analysis of a plurality of spikes of the reflected signal to distinguish which spike indicates the content fill level;
transmitting a second interrogation signal;
receiving a second reflected signal having a plurality of spikes, wherein one of the spikes corresponds to a signal reflection of the second interrogation signal indicative of a content fill level;
digitally analyzing, using a signal processor, a plurality of spikes of the second reflected signal to distinguish which spike of the plurality of spikes of the second reflected signal is indicative of a content fill level;
determining a second identifier of the content fill level based on a digital analysis of a plurality of spikes of the second reflected signal to distinguish which spike indicates the content fill level; and
the first identifier of the content fill level and the second identifier of the content fill level are compared to verify the content fill level.
6. The method of claim 5, wherein comparing the first identifier of the content fill level to the second identifier of the content fill level to verify the content fill level comprises: determining that the first identifier of the content fill level and the second identifier of the content fill level are within a threshold difference.
7. The method of claim 6, further comprising: responsive to determining that the first identifier of the content fill level and the second identifier of the content fill level are not within the threshold difference, another measurement of the content fill level is effectuated.
8. The method of claim 5, further comprising: in response to determining that the first identifier of the content fill level and the second identifier of the content fill level are within the threshold difference, reporting the determined content fill level.
9. The method of claim 1, wherein the measuring of the content fill level is initiated in response to determining that the magnitude of the detected movement is at least a threshold amount for distance, acceleration, force, time, or angle.
10. The method of claim 1, wherein the measuring of the content fill level is initiated in response to determining that a periodic amount of time has elapsed since a previous measurement.
11. The method of claim 1, further comprising: determining whether to report an identifier of the content fill level determined based on a digital analysis of a plurality of spikes of the reflected signal to distinguish which spike indicates the content fill level includes determining by determining whether the identifier of the content fill level differs from a previously reported content fill level identifier by more than a threshold.
12. The method of claim 1, further comprising:
performing analog signal analysis on the reflected signal having the plurality of spikes to determine a plurality of candidate analog measurements of the content fill level; and
based on a digital analysis of a plurality of spikes of the reflected signal, one of the plurality of candidate analog measurements is selected to distinguish which spike is indicative of a content fill level.
13. The method of claim 12, wherein performing analog signal analysis comprises: an instance is identified in the reflected signal when the amplitude of the reflected signal exceeds a threshold.
14. The method of claim 1, wherein digitally analyzing the plurality of spikes comprises: the envelope signal of the received reflected signal is analyzed.
15. The method of claim 1, wherein digitally analyzing the plurality of spikes to distinguish which spike indicates a content fill level comprises: a rate of change associated with each of the plurality of spikes is determined, and a spike associated with a maximum rate of change is selected as the spike indicative of the content fill level.
16. The method of claim 1, further comprising: the predetermined length of the beginning portion of the received reflected signal is modified to ensure that no spike is detected within the predetermined length of the beginning portion of the received reflected signal.
17. The method of claim 1, further comprising: modifying a dynamically determined length of the beginning portion of the received reflected signal, wherein the dynamically determined length is based on a previously determined content fill level to ensure that no spike is detected in the dynamically determined length of the beginning portion of the received reflected signal.
18. The method of claim 1, further comprising: in response to determining that the reflected signal cannot be used to successfully determine the content fill level, transmitting a modified interrogation signal having increased energy as compared to a previously transmitted interrogation signal.
19. A sensor device for measuring a content filling level, comprising:
a transmitter configured to transmit an interrogation signal;
a receiver configured to receive a reflected signal having a plurality of spikes, wherein one of the spikes corresponds to a signal reflection of an interrogation signal indicative of a content fill level; and
a processor configured to digitally analyze the plurality of spikes to distinguish which spike is indicative of the content fill level.
20. The sensor device of claim 19, wherein the components of the sensor device are included in a container lid.
21. A system, comprising:
a communication interface configured to establish a network connection with a server; and
a processor coupled with the communication interface and configured to:
receiving an advertisement packet of a broadcast of a wireless communication protocol from a remote device, wherein the remote device repeatedly broadcasts content of the advertisement packet based at least in part on a total number of remote devices designated to broadcast to the system;
extracting payload content from the advertisement packet; and
sending at least a portion of the extracted payload content to the server via a network connection.
22. The system of claim 21, wherein an advertisement interval for repeatedly broadcasting content of the advertisement packets is twice a total number of remote devices times an advertisement time.
23. The system of claim 21, wherein the system is a base station configured to relay data from the remote device to the server.
24. The system of claim 21, wherein establishing a network connection with the server comprises establishing a Wi-Fi connection.
25. The system of claim 21, wherein the wireless communication protocol of the broadcasted advertisement packet is bluetooth low energy.
26. The system of claim 21, wherein the advertisement packet includes a unique identifier of the remote device.
27. The system of claim 21, wherein the advertisement packet includes a current content fill level measurement.
28. The system of claim 21, wherein the advertising packet comprises a previous content fill level measurement.
29. The system of claim 21, wherein the advertisement packet includes a time value.
30. The system of claim 21, wherein the advertisement packets comprise an iteration number.
31. The system of claim 21, wherein the remote device is a sensor device configured as a lid of a container and the sensor device is configured to measure a content fill level of the container.
32. The system of claim 21, wherein extracting payload content from the advertisement packet comprises: obtaining data from the advertisement packet, and reformatting the obtained data.
33. The system of claim 21, wherein the total number of remote devices is assigned to the remote devices via wireless communication.
34. The system of claim 21, wherein the server updates a data structure with the provided at least a portion of the extracted payload content, the data structure tracking a current content fill level of the container.
35. The system of claim 21, further comprising a battery.
36. The system of claim 21, wherein the processor is further configured to: it is determined whether the received advertisement packet is a duplicate of a previously received data packet.
37. The system of claim 21, wherein the processor is further configured to: the received data packets are stored in a first-in-first-out buffer queue.
38. The system of claim 21, wherein the processor is further configured to: the presence of a user mobile device in the vicinity of the system is detected.
39. A method, comprising:
establishing network connection with a server;
receiving an advertisement packet of a broadcast of a wireless communication protocol from a remote device, wherein the remote device repeatedly broadcasts content of the advertisement packet based at least in part on a total number of remote devices designated to broadcast to the system;
extracting payload content from the advertisement packet; and
sending at least a portion of the extracted payload content to the server via a network connection.
40. A computer program product, the computer program product being embodied in a non-transitory computer readable storage medium and comprising computer instructions for:
establishing network connection with a server;
receiving an advertisement packet of a broadcast of a wireless communication protocol from a remote device, wherein the remote device repeatedly broadcasts content of the advertisement packet based at least in part on a total number of remote devices designated to broadcast to the system;
extracting payload content from the advertisement packet; and
sending at least a portion of the extracted payload content to the server via a network connection.
41. A sensor apparatus, comprising:
a transmitter located in a container lid configured to engage an opening of a container;
a propagation chamber having a first opening configured to receive a signal emitted by the emitter and to direct the signal out of the propagation chamber via a second opening, wherein a cross-section of the propagation chamber varies along at least a portion of a length of the propagation chamber and the propagation chamber comprises one or more transitions in which a rate of change of a property of the propagation chamber changes; and
a signal processor included in the container lid and configured to determine an identifier of a content fill level of the container using data associated with the reflection of the transmitted signal.
42. The apparatus of claim 41, wherein the emitter is located in a portion of the container configured to be inside the container when the container lid is fully engaged with the container.
43. The apparatus of claim 41, wherein a cross-section of the propagation chamber increases along a length of the propagation chamber.
44. The apparatus according to claim 41, wherein the propagation chamber comprises a plurality of transitions in which a rate of change of a property of the propagation chamber changes.
45. The apparatus of claim 41, wherein the rate of change of the property of the propagation chamber that changes at one or more transitions comprises a rate of change of a cross-sectional area of the propagation chamber.
46. The apparatus of claim 41, wherein the rate of change of the property of the propagation chamber that changes at one or more transitions comprises a slope of an inner wall of the propagation chamber.
47. The apparatus of claim 41, wherein the propagation chamber is configured to: the transmitted signal is collimated downward toward the contents of the container via the different angled facets of the inner wall of the propagation chamber.
48. The apparatus of claim 47, wherein at least a portion of the different angled facets are flat.
49. The apparatus of claim 47, wherein at least a portion of the different angled facets are curved.
50. The apparatus of claim 41, wherein the propagation chamber is less than 30 millimeters in diameter.
51. The apparatus of claim 41, wherein the inner wall of the propagation chamber is shaped to: pulling the beaded contents on the barrier of acoustically transmissive liquid barrier material covering the first opening of the propagation chamber apart and destroying its surface tension.
52. The apparatus of claim 41, wherein a signal emitted by the emitter passes through a barrier of acoustically transmissive liquid blocking material before entering a first opening of the propagation chamber.
53. The apparatus of claim 41, further comprising a signal receiver configured to receive a reflection of the transmitted signal from contents included in the container via the propagation chamber.
54. The apparatus of claim 53, wherein a reflection of the transmitted signal passes through an acoustically transmissive liquid barrier of blocking material before being received by the signal receiver.
55. The apparatus of claim 41, wherein the length of the propagation chamber is between 10 millimeters and 20 millimeters.
56. The apparatus of claim 41, further comprising a spout.
57. The system of claim 41, further comprising a snorkel.
58. The apparatus of claim 41, wherein the propagation chamber is configured to reduce a beam width of the transmitted signal.
59. The apparatus of claim 41, further comprising a wireless transmitter included in the container lid and configured to transmit an identifier of a content fill level.
60. The apparatus according to claim 41, further comprising a battery and a data storage device.
61. A method, comprising:
receiving an event identifier identifying an amount of contents dispensed from a container detected using a sensor device, the sensor device including a transmitter configured to transmit an interrogation signal, and a receiver configured to receive an interrogation signal that has been reflected within the container;
receiving a transaction identifier for a transaction associated with an amount of a different constituent item; and
automatically correlating the amount of the contents dispensed from the container with the transaction at least in part by matching the amount of the contents dispensed from the container to at least one of the component items associated with the transaction.
62. The method of claim 61, wherein the transaction identifier is received from a point-of-sale system.
63. The method of claim 61, wherein the transaction identifier identifies a beverage or food consumed by the user.
64. The method of claim 61, wherein the transaction identifier identifies one or more of: product, amount of product, time, and price.
65. The method of claim 61, wherein the transaction identifier is received with other transaction identifiers of other transactions of the entity completed during a time window period.
66. The method of claim 61, wherein automatically correlating the amount of contents dispensed from the container with the transaction comprises: identifying all eligible matching candidate transactions for the event identifier.
67. The method of claim 61, wherein automatically correlating the amount of contents dispensed from the container with the transaction comprises: identifying all eligible matching candidate content distribution events for the transaction.
68. The method of claim 61, wherein the event identifier is determined based on a history of content fill levels of the container detected using the sensor device.
69. The method of claim 61, wherein matching the amount of contents dispensed from the container to at least one of the component items associated with the transaction comprises: determining that a time value associated with the event identifier is within a threshold time period from a time value of the transaction identifier.
70. The method of claim 69, wherein the threshold period of time is dynamically increased as a result of determining that a transaction match for the event identifier was not found.
71. The method of claim 61, wherein the different constituent items and associated amounts are identified by identifying records in the recipe database for the traded product.
72. The method of claim 61, wherein automatically correlating the amount of contents dispensed from the container with the transaction comprises: determining that the content item of the event identifier matches at least one of the component items associated with the transaction.
73. The method of claim 61, wherein automatically correlating the amount of contents dispensed from the container with the transaction comprises: determining that the content item of the event identifier does not exactly match at least one of the component items associated with the transaction, but does match an item category associated with at least one of the component items of the transaction.
74. The method of claim 61, further comprising: marking the event identifier as having been matched to the transaction to prevent the event identifier from matching to a different transaction.
75. The method of claim 61, wherein the amount of dispensed content of the event identifier is split among a plurality of different transactions that match the event identifier.
76. The method of claim 61, wherein one of the component items associated with a product of the transaction matches a plurality of different content dispensing events of a plurality of different event identifiers.
77. The method of claim 61, wherein a ratio of sales versus dispensed amounts is calculated based at least in part on an amount of contents dispensed from the container that matches at least one of the component items associated with the transaction.
78. The method of claim 61, further comprising identifying one or more of: a mismatched content dispensing event of the container that does not correspond to any received transaction data; unmatched transaction data that does not match any content dispensing events; a non-working hours content dispensing event occurring after a designated business hours; an over-poured content dispensing event associated with an amount greater than a specified amount for a corresponding transaction; an under-poured content dispensing event associated with an amount less than a specified amount for a corresponding transaction; or an average of the time between the transaction time stamp and the content dispensing time stamp of a plurality of related transactions that match the corresponding content dispensing event.
79. A system, comprising:
a processor configured to:
receiving an event identifier identifying an amount of contents dispensed from a container detected using a sensor device, the sensor device including a transmitter configured to transmit an interrogation signal, and a receiver configured to receive an interrogation signal that has been reflected within the container;
receiving a transaction identifier for a transaction associated with an amount of a different constituent item; and
automatically correlating the amount of contents dispensed from the container with the transaction at least in part by matching the amount of contents dispensed from the container to at least one of the component items associated with the transaction; and
a memory coupled to the processor and configured to provide instructions to the processor.
80. A computer program product, the computer program product being embodied in a non-transitory computer readable storage medium and comprising computer instructions for:
receiving an event identifier identifying an amount of contents dispensed from a container detected using a sensor device, the sensor device including a transmitter configured to transmit an interrogation signal, and a receiver configured to receive an interrogation signal that has been reflected within the container;
receiving a transaction identifier for a transaction associated with an amount of a different constituent item; and
automatically correlating the amount of the contents dispensed from the container with the transaction at least in part by matching the amount of the contents dispensed from the container to at least one of the component items associated with the transaction.
CN201880045123.3A 2017-05-11 2018-05-11 Detection and analysis of the amount of content Pending CN111052758A (en)

Applications Claiming Priority (15)

Application Number Priority Date Filing Date Title
US201762505055P 2017-05-11 2017-05-11
US201762505054P 2017-05-11 2017-05-11
US201762505053P 2017-05-11 2017-05-11
US62/505053 2017-05-11
US62/505054 2017-05-11
US62/505055 2017-05-11
US15/976,779 US20210262850A9 (en) 2014-04-04 2018-05-10 Analysis of content dispense events and corresponding transactions
US15/976778 2018-05-10
US15/976,776 US11237036B2 (en) 2017-05-11 2018-05-10 Base station and advertising packets of sensors detecting content level
US15/976,778 US20180328776A1 (en) 2017-05-11 2018-05-10 Beam focuser
US15/976776 2018-05-10
US15/976,781 US20180328777A1 (en) 2014-04-04 2018-05-10 Content quantity detection using digital signal analysis
US15/976781 2018-05-10
US15/976779 2018-05-10
PCT/US2018/032367 WO2018209266A1 (en) 2017-05-11 2018-05-11 Content amount detection and analysis

Publications (1)

Publication Number Publication Date
CN111052758A true CN111052758A (en) 2020-04-21

Family

ID=64105063

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880045123.3A Pending CN111052758A (en) 2017-05-11 2018-05-11 Detection and analysis of the amount of content

Country Status (3)

Country Link
EP (1) EP3622727A4 (en)
CN (1) CN111052758A (en)
WO (1) WO2018209266A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022232570A1 (en) * 2021-04-30 2022-11-03 Darling Ingredients Inc. Fluid storage systems and monitoring

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102019109215A1 (en) * 2019-04-08 2020-10-08 Kautex Textron Gmbh & Co. Kg Operating fluid container with ultrasonic level sensor
FR3116336B1 (en) * 2020-11-19 2023-08-04 Ijinus Method for processing a measurement signal to obtain a signature and associated measurement device

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100070208A1 (en) * 2008-09-18 2010-03-18 Enraf B.V. Apparatus and method for dynamic peak detection, identification, and tracking in level gauging applications
US20160146659A1 (en) * 2014-07-25 2016-05-26 Trago, Inc. Liquid consumption tracker
US20160198246A1 (en) * 2014-06-04 2016-07-07 Nectar, Inc. Interrogation signal parameter configuration
CN106441500A (en) * 2015-08-12 2017-02-22 珠海任驰光电科技有限公司 Electric-conductive liquid level sensor applied to severe environments
CN106444771A (en) * 2016-10-25 2017-02-22 吉林大学 ZigBee-based simulated multi-agent coordination controlling method
CN106687031A (en) * 2014-06-04 2017-05-17 尼科达公司 Sensor device configuration

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6801157B2 (en) * 2002-10-02 2004-10-05 Magnetrol International, Inc. Guided wave radar level transmitter
EP1628119A3 (en) * 2004-08-16 2012-07-25 VEGA Grieshaber KG Radar level measurement device with automatic echo signal determination
US7541969B2 (en) * 2007-05-31 2009-06-02 Rosemount Tank Radar Ab Radar level gauging system for use at sea

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100070208A1 (en) * 2008-09-18 2010-03-18 Enraf B.V. Apparatus and method for dynamic peak detection, identification, and tracking in level gauging applications
US20160198246A1 (en) * 2014-06-04 2016-07-07 Nectar, Inc. Interrogation signal parameter configuration
CN106687031A (en) * 2014-06-04 2017-05-17 尼科达公司 Sensor device configuration
US20160146659A1 (en) * 2014-07-25 2016-05-26 Trago, Inc. Liquid consumption tracker
CN106441500A (en) * 2015-08-12 2017-02-22 珠海任驰光电科技有限公司 Electric-conductive liquid level sensor applied to severe environments
CN106444771A (en) * 2016-10-25 2017-02-22 吉林大学 ZigBee-based simulated multi-agent coordination controlling method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022232570A1 (en) * 2021-04-30 2022-11-03 Darling Ingredients Inc. Fluid storage systems and monitoring

Also Published As

Publication number Publication date
WO2018209266A1 (en) 2018-11-15
EP3622727A4 (en) 2021-06-09
EP3622727A1 (en) 2020-03-18

Similar Documents

Publication Publication Date Title
US11237036B2 (en) Base station and advertising packets of sensors detecting content level
US10267667B2 (en) Sensor device configuration
US10670444B2 (en) Content quantity detection signal processing
US11012764B2 (en) Interrogation signal parameter configuration
US11016072B2 (en) Transmitter and receiver configuration for detecting content level
US20200249070A1 (en) Automatically detecting container depletion and switch
US20200033179A1 (en) Using a provided indication of fill level to track amount of content in a container
US10591345B2 (en) Sensor device configuration
US11593779B2 (en) Radio transmitter device for use in method and system for monitoring, controlling and optimizing flow of products
US20180328777A1 (en) Content quantity detection using digital signal analysis
US11274955B2 (en) Fouling mitigation and measuring vessel with container fill sensor
US7573395B2 (en) System and method for managing the dispensation of a bulk product
US20150317756A1 (en) Systems and methods for analysis of beverage dispensing data
CN106163971A (en) Draught beer supply chain system and method
CN111052758A (en) Detection and analysis of the amount of content
WO2018165326A1 (en) Transmitter and receiver configuration and signal processing for detecting content level
WO2020033890A1 (en) Using a provided indication of fill level to track amount of content in a container
US20200249066A1 (en) Dispense sensor device

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20200421