Food preparation control systems
Through the processor-based food preparation guidance system, the interaction between user computing equipment and cooking equipment is used to generate and adjust the cooking program, the problem of difficult to control the texture and taste of food during the cooking process is solved, and precise control of food preparation and user satisfaction is achieved.
Patent Information
- Application Number
- CN202211123780.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2015-07-21
- Filing Date
- 2016-07-19
- Publication Date
- 2025-08-08
- Estimated Expiration
- 2036-07-19
AI Technical Summary
When cooking food, it is difficult to accurately control the cooking time and temperature to achieve the texture and taste required by the user, resulting in the food preparation results that do not meet personal taste preferences.
Through the processor-based food preparation guidance system, the user's computing device receives food preparation guidance, displays graphic prompts and selection prompts, generates cooking programs, and controls the cooking device to perform the cooking process, adjusts parameters in real time to achieve the food characteristics expected by the user.
It achieves precise control of food texture and taste according to user preferences, and improves the accuracy and satisfaction of food preparation.
Smart Images

Figure CN115462678B_ABST
Abstract
Description
[0001] This application is a divisional application of Chinese invention patent application No. 201680054960.3, which is based on international application PCT / US2016 / 042924, filed on July 19, 2016, and is entitled “Food Preparation Control System.” Background Art Technical Field
[0003] The present application relates generally to food preparation and, more particularly, to providing useful food preparation control in, for example, sous vide cooking devices.
[0004] Related technical notes
[0005] Cooking is the art of using heat to prepare food for consumption. There are many cooking methods, most of which have been known for many years. These include baking, roasting, frying, grilling, roasting, smoking, boiling, steaming, and stewing. Each method uses different levels of heat and humidity and has different cooking times. Because some foods are better suited to certain methods than others, the specific method chosen often affects the outcome.
[0006] A cooking recipe is a set of instructions that describes how to prepare or make food. Recipes typically include various information about the food product, such as the ingredients needed to prepare the food product, the quantities and proportions of each ingredient, the equipment required, a list of steps and techniques, one or more cooking times, one or more cooking temperatures, etc.
[0007] When cooking some food products, such as eggs, meat, and vegetables, variations in cooking time and temperature can significantly affect the resulting texture and flavor. Because people have diverse tastes, different people have different preferences for the texture, flavor, or other characteristics of their cooked food products. Often, it is difficult for a cook to accurately know how to cook food to achieve a desired result, such as a desired texture, consistency, or doneness of a food product. Summary of the Invention
[0008] An operating method of a processor-based food preparation guidance system can be summarized as follows: receiving a food preparation guidance request through a user computing device; in response to the received request, causing the user computing device to display at least one of a first group of at least two graphic prompts, each of the first group of two graphic prompts describing a respective level of at least one first characteristic of a food; the respective levels are different from each other; receiving a selection of at least one level of at least one first characteristic of a food through the user computing device; in response to the received selection, generating a cooking program through at least one processor, the cooking program including at least one group of instructions or data for a cooking device to perform a food cooking process; and controlling a cooking device through the at least one processor to perform the cooking process, the process cooking the food according to the cooking program.
[0009] The method of operating the processor-based food preparation guidance system further includes causing a user computing device to display at least two food selection prompts, each of the at least two food selection prompts being associated with a different food; and receiving one of the at least two food selection prompts via the user computing device.
[0010] The method for operating the processor-based food preparation guidance system further includes causing the user computing device to display at least one instructional picture or an instructional video related to the selected food in response to receiving one of the at least two food selection prompts.
[0011] The method of operating the processor-based food preparation guidance system further includes causing the user computing device to display a notification instructing the user to place food on a food receiving portion of the cooking device.
[0012] The method of operating the processor-based food preparation guidance system further includes causing the user computing device to display a notification instructing the user to remove the food from the food receiving portion of the cooking device.
[0013] The method of operating a processor-based food preparation guidance system further includes causing a user computing device to display at least one food preparation parameter.
[0014] Causing the user computing device to display at least one food preparation parameter further includes causing the user computing device to display at least one of a temperature, a planned cooking time, or a planned cooking completion time. Receiving a selection of at least one level associated with at least one first characteristic of at least one food includes receiving a selection of a temperature associated with at least one level of the at least one first characteristic of at least one food. Receiving a selection of at least one level associated with at least one first characteristic of at least one food includes receiving a selection of a temperature between a first temperature associated with the first level and a second temperature associated with a second level, the second level being adjacent to the first level on the temperature scale.
[0015] The method of operating the processor-based food preparation guidance system further includes: receiving, via a user computing device, a selection of a desired cooking completion time indicating a time at which a user desires food to be fully cooked; and causing the user computing device to display a first notification based at least in part on the received selection of the desired cooking completion time, the first notification instructing the user to start a cooking device.
[0016] The method of operating a processor-based food preparation guidance system further includes causing the user computing device to display a second notification based at least in part on the received selection of the desired cooking completion time, the second notification instructing the user to place food in a food receiving portion of the cooking device.
[0017] Causing the user computing device to display at least one of the first set of at least two graphical prompts includes causing the user computing device to display at least one of the first set of at least two graphical prompts, each graphical prompt in the first set of at least two graphical prompts depicting a different texture, consistency, and doneness of the food. Receiving a selection of one of the levels of at least one first characteristic of the food includes receiving the selection of one of the levels of food by a processor-based food preparation guidance system via a data network, and generating a cooking procedure includes generating the cooking procedure by the food preparation guidance system. Causing the user computing device to display at least one of the first set of at least two graphical prompts includes causing the user computing device to display at least one of a first set of images or videos. Causing the user computing device to display at least one of the first set of at least two graphical prompts includes causing the user computing device to display at least one of the first set of images or videos depicting user interaction with the food. Causing the user computing device to display at least one of the first set of images or videos includes causing the user computing device to display at least one of the first set of images or videos depicting at least one of the following: cutting the food, breaking the food into one or more pieces, stirring the food, pouring the food, or manipulating the food. Causing the cooking program to be generated includes causing the cooking program to be generated at a food preparation guidance system, the method further comprising: transmitting the generated cooking program from the food preparation guidance system to the cooking device via a data channel. Transmitting the generated cooking program from the food preparation guidance system to the cooking device includes transmitting the generated cooking program from the food preparation guidance system to the cooking device over the data channel via a user computing device coupled to each of the food preparation guidance system and the cooking device.
[0018] The method for operating a processor-based food preparation guidance system further includes obtaining, by at least one processor, at least one parameter measurement indicative of a cooking process characteristic during control of a cooking device; and determining, by at least one processor, an update to a cooking program or at least one cooking plan parameter associated with the cooking process based, at least in part, on the at least one parameter measurement obtained.
[0019] Obtaining at least one parameter measurement indicative of a characteristic of the cooking process may include obtaining a temperature measurement of a fluid bath of the cooking device and obtaining a measurement of heat transferred to the fluid bath. Obtaining at least one parameter measurement indicative of a characteristic of the cooking process may include obtaining a plurality of temporally spaced parameter measurements. Obtaining at least one parameter measurement indicative of the cooking process may include obtaining a plurality of temporally spaced temperature measurements and a plurality of corresponding temporally spaced measurements of heat transferred to the fluid bath. Obtaining at least one parameter measurement indicative of the cooking process may include obtaining a measurement indicative of at least one of the temperature of the fluid bath of the cooking device or the power delivered by the cooking device. Obtaining at least one parameter measurement indicative of the cooking process may include obtaining a temperature measurement from a temperature sensor at least one of a surface of the food product or an interior of the food product. Obtaining the temperature measurement from the temperature sensor may include obtaining a temperature measurement from at least one of a resistance temperature detector, a thermocouple, a thermistor, a positive temperature coefficient element, or a blackbody / infrared emission detector. Obtaining at least one parameter measurement indicative of the cooking process may include obtaining a measurement indicative of power from a voltage sensor, a current sensor, a resistance sensor, a magnetic field sensor, a Hall effect sensor, or a giant magnetoresistance sensor. Determining at least one of an update to the cooking program or a cooking prediction parameter related to the cooking process may include determining an evaluation time until the food product reaches a specific state.
[0020] The method of operating a processor-based food preparation guidance system further includes displaying, by the user computing device, at least one of an update to the cooking program or a cooking prediction parameter associated with the cooking process.
[0021] Causing an update to the cooking program or at least one of a cooking prediction parameter associated with the cooking process to be presented by the computing device user computing device may include transmitting data to the computing device user computing device via a data channel. Generating the cooking program may include generating a cooking program comprising at least one of instructions or data usable by a cooking device to perform a cooking process for a food product, the cooking device comprising an immersion circulator. Receiving a preparation request for the food product may include receiving, by at least one processor, the preparation request for the food product from a remotely located client computing device. Generating the cooking program may include determining at least one of a cooking temperature or a cooking time for the food product.
[0022] The method for operating a processor-based food preparation guidance system may further include: presenting at least one supplemental prompt by a computing device user computing device following receipt of a preparation request for a food product; receiving a response to the at least one supplemental prompt via the computing device user computing device; and determining at least one food preparation parameter for a cooking program based at least in part on the received response to the supplemental prompt.
[0023] Presenting, by the computing device user, at least one supplemental prompt may include presenting, by the computing device user, at least one supplemental prompt related to at least one of a physical characteristic of the food product, an environmental condition, or a food preparation condition. Presenting, by the computing device user, at least one supplemental prompt may include presenting, by the computing device user, at least one supplemental prompt related to at least one of a size of the food product, a shape of the food product, a type of food product, a temperature of the food product, an altitude, a geographical location, or a cooking method.
[0024] A processor-based food preparation guidance system can be summarized as follows, comprising at least one processor; and at least one non-transitory processor-readable medium, which is communicatively coupled to the at least one processor and stores at least one of instructions or data executable by the processor, wherein, in use, the at least one processor can: receive a request for food product preparation guidance from a user computing device; in response to the received request, cause the user computing device to display at least one of a first set of at least two graphical prompts, each of the first set of two graphical prompts describing a respective level of at least one first characteristic of the food; the respective levels are different from each other; receive a selection of at least one level of at least one first characteristic of the food through the user computing device; in response to the received selection, generate a cooking program, the cooking program including at least one of instructions or data that can be used by a cooking device to perform a cooking process for the food product; and control the cooking device to cook the food product according to the cooking program.
[0025] At least one processor may cause a user computing device to display at least two food selection prompts, each of the at least two food selection prompts being associated with a different food; and receive a selection of one of the at least two food selection prompts. In response to receiving the selection of one of the at least two food selection prompts, the at least one processor may cause the user computing device to display at least one instructional image or instructional video associated with the selected food. The at least one processor may cause the user computing device to display a notification instructing a user to place food in a food receiving portion of a cooking device. The at least one processor may cause the user computing device to display a notification instructing the user to remove food from the food receiving portion of the cooking device. The at least one processor may cause the user computing device to display at least one food preparation parameter. The at least one processor may cause the user computing device to display at least one of a temperature, a planned cooking time, or a planned cooking completion time. The at least one processor may receive a selection of a temperature associated with at least one level of at least one first characteristic of the food. The at least one processor may receive a selection of a temperature between a first temperature associated with the first level and a second temperature associated with a second level, the second level being adjacent to the first level on the temperature scale. At least one processor may receive a selection of a desired cooking completion time, the desired cooking completion time indicating a time at which a user desires a food product to be fully cooked; and cause the user computing device to display a first notification based at least in part on the desired cooking completion time, the first notification instructing the user to turn on a cookware. The at least one processor may cause the user computing device to display a second notification based at least in part on the desired cooking completion time, the second notification instructing the user to place food on a food receiving portion of the cookware. The at least one processor may cause the user computing device to display at least one of a first set of at least two graphical prompts, each graphical prompt in the first set of at least two graphical prompts depicting a corresponding different texture, consistency, or doneness. The at least one processor may receive a selection of one of the levels via a processor-based food preparation guidance system over a data network, and causing the cooking program to be generated includes causing the food preparation guidance system to generate the cooking program. The at least one processor may cause the user computing device to display at least one of a first set of images or videos. The at least one processor may cause the user computing device to display at least one of the first set of images or videos, the first set of images or videos depicting the user interacting with the food. The at least one processor may cause at least one of a first set of images or videos to be displayed by the user computing device, the first set of images or videos depicting at least one of: cutting food, breaking food into one or more pieces, stirring food, pouring food, or manipulating food. The at least one processor may cause a cooking program to be generated at the food preparation guidance system; and transmit the generated cooking program from the food preparation guidance system to the cooking device via a data channel.At least one processor may transmit the generated cooking program from the food preparation guidance system to the cooking device via a user computing device coupled to each of the food preparation guidance system and the cooking device over a data channel. The at least one processor may: obtain at least one parameter measurement indicating a characteristic of a cooking process during control of the cooking device; and determine at least one of an update to the cooking program or a cooking projection parameter related to the cooking process based at least in part on the obtained at least one parameter measurement. The at least one processor may obtain a temperature measurement of a fluid reservoir of the cooking device and a measurement of heat transferred to the fluid reservoir. The at least one processor may obtain parameter measurements at multiple time intervals. The at least one processor may obtain multiple time-spaced temperature measurements and multiple corresponding time-spaced measurements of heat transferred to the fluid reservoir. The at least one processor may obtain a measurement indicating at least one of a temperature of a fluid bath of the cooking device or power transferred by the cooking device. The at least one processor may obtain a temperature measurement from a temperature sensor at least one of a surface of or within the food. The at least one processor may obtain a temperature measurement from at least one of a resistance temperature detector, a thermocouple, a thermistor, a positive temperature coefficient element, or a blackbody / infrared emission detector. The at least one processor may obtain a measurement indicating power from at least one of a voltage sensor, a current sensor, a resistance sensor, a magnetic field sensor, a Hall effect sensor, or a giant magnetoresistance sensor. The at least one processor may determine an estimated time until the food reaches a specific condition. The at least one processor may cause the user computing device to present at least one of an update to the cooking program or a cooking projection parameter related to the cooking process. The at least one processor may send data to the user computing device via a data channel. The at least one processor may generate a cooking program comprising at least one of instructions or data usable by a cooking device to perform a cooking process for food, the cooking device comprising an immersion circulator. The at least one processor may receive a request to prepare food from a remotely located client computing device. The at least one processor may determine at least one of a cooking temperature or a cooking time for the food. The at least one processor may: after receiving the request to prepare food, cause at least one supplemental prompt to be presented by the user computing device; receive a response to the at least one supplemental prompt; and determine at least one food preparation parameter for the cooking program based at least in part on the received response to the supplemental prompt. The at least one processor may cause the user computing device to present at least one supplemental prompt, the at least one supplemental prompt relating to at least one of a physical characteristic of the food, an environmental condition, or a food preparation condition. At least one processor may cause at least one supplemental prompt to be presented by the user computing device, the at least one supplemental prompt relating to at least one of a size of a food product, a shape of a food product, a category of a food product, a temperature of a food product, an altitude, a geographic location, or a cooking method.
[0026] An operating method in a processor-based food preparation guidance system can be summarized as including: generating, by at least one processor, a cooking program including at least one of instructions or data usable by a cooking device to perform a cooking process for food; controlling, by at least one processor, the cooking device to perform a cooking process for cooking food according to the cooking program; receiving status information data from the cooking appliance from time to time from the at least one processor; and transmitting, by the at least one processor, the received status information data to a plurality of user computing devices via at least one data communication channel.
[0027] The operating method in a processor-based food preparation guidance system may further include: receiving, by at least one processor, a modification to a cooking program from at least one of a plurality of computing device user computing devices via at least one data communication channel; modifying the generated cooking program in response to receiving the modification to the cooking program; and controlling, by at least one processor, the cooking device to execute a cooking process of food according to the modified cooking program.
[0028] The method of operating in a processor-based food preparation guidance system may further include, in response to receiving a modification to the cooking program from at least one of the plurality of computing devices, sending, by the at least one processor, an instruction to make the modification to the plurality of user computing devices via the at least one data communication channel.
[0029] Receiving modifications to the cooking program from at least one of the plurality of user computing devices over the at least one data communication channel may include receiving the modifications to the cooking program indirectly from the first user computing device via the second user computing device. Receiving modifications to the cooking program from at least one of the plurality of user computing devices over the at least one data communication channel may include receiving the modifications to the cooking program from the at least one of the plurality of user computing devices by the at least one user computing device over a first data communication channel and a second data communication channel, the first data communication channel being different from the second data communication channel.
[0030] The operating method in the processor-based food preparation guidance system may further include: receiving, by at least one processor, location information from at least one of a plurality of computing device user computing devices via at least one data communication channel; and logically associating, by the at least one processor in a non-logical processor-readable medium, the received location information with a physical location of the cooking device.
[0031] Transmitting the received state information data to the plurality of user computing devices over the at least one data communication channel may include indirectly transmitting the received state information data to the first user computing device via the second user computing device. Transmitting the received state information data to the plurality of user computing devices over the at least one data communication channel may include transmitting the received state information data to at least one of the plurality of user computing devices over at least one first data communication channel of a first type and a second data communication channel of a second type, the first type being different from the second type.
[0032] The operating method in a processor-based food preparation guidance system may further include: receiving, by at least one processor, a modification to a cooking program from at least one of a plurality of computing device user computing devices via at least one data communication; in response to receiving the modification to the cooking program, sending, by at least one processor, data indicating the modification to the plurality of user computing devices via at least one data communication channel; modifying the generated cooking program after sending the data indicating the modification to the plurality of computing device user computing devices; and controlling, by at least one processor, the cooking device to execute the cooking process of the food according to the modified cooking program.
[0033] The operating method in the processor-based food preparation guidance system may further include: after controlling the cooking device to perform a cooking process for food according to the modified cooking program, updating status information data to multiple user computing devices through at least one data communication channel by at least one processor.
[0034] A processor-based food preparation guidance system can be summarized as including: at least one processor; and at least one non-transitory processor-readable medium, which is communicatively coupled to the at least one processor and stores at least one of processor-executable instructions or data, wherein in use, the at least one processor: generates a cooking program, the cooking program including at least one of instructions or data that a cooking device can use to perform a cooking process for food; controls the cooking device to perform the cooking process of cooking food according to the cooking program; receives status information data from the cooking appliance from time to time; and sends the received status information data to multiple user computing devices via at least one data communication channel.
[0035] At least one processor may receive a modification to a cooking program from at least one of a plurality of computing devices via at least one data communication channel; modify the generated cooking program in response to receiving the modification to the cooking program; and control the cooking device to perform a cooking process of the food according to the modified cooking program. In response to receiving the modification to the cooking program from at least one of the plurality of computing devices, the at least one processor may send data indicating the modification to the plurality of computing devices via the at least one data communication channel. The at least one processor may receive the modification to the cooking program indirectly from a first user computing device via a second user computing device. The at least one processor may receive the modification to the cooking program from at least one of the plurality of computing devices via at least one first data communication channel and a second data communication channel, the first data communication channel being different from the second data communication channel. The at least one processor may receive location information from at least one of the plurality of computing devices via the at least one data communication channel; and logically associate the received location information with a physical location of the cooking appliance in a non-transitory processor-readable medium. The at least one processor may send the received status information data indirectly to the first user computing device via the second user computing device. The at least one processor may transmit the received status information data to at least one of the plurality of user computing devices via at least one first data communication channel of a first type and a second data communication channel of a second type, the first type being different from the second type. The at least one processor may: receive a modification to a cooking program from at least one of the plurality of computing devices / user computing devices via the at least one data communication channel; in response to receiving the modification to the cooking program, transmit data indicating the modification to the plurality of user computing devices via the at least one data communication channel; after transmitting the data indicating the modification to the plurality of computing devices / user computing devices, modify the generated cooking program; and control the cooking device to perform a cooking process for the food according to the modified cooking program. After controlling the cooking device to perform the cooking process for the food according to the modified cooking program, the at least one processor may transmit the updated status information data to the plurality of user computing devices via the at least one data communication channel. BRIEF DESCRIPTION OF THE DRAWINGS
[0036] In the drawings, the same reference numerals indicate similar elements or actions. The sizes and relative positions of elements in the drawings are not necessarily drawn to scale. For example, the shapes of various elements and angles are not drawn to scale, and some of these elements are arbitrarily enlarged and positioned to improve legibility. Furthermore, the particular shapes of the elements depicted are not intended to convey any information about the actual shape of the particular element and are selected solely for ease of identification in the drawings.
[0037] Figure 1is a schematic diagram of an environment in which a food preparation guidance system may be implemented, according to at least one illustrated embodiment.
[0038] Figure 2 According to at least one illustrated embodiment Figure 1 Functional block diagram of a food preparation guidance system.
[0039] Figure 3 is a flow chart of a method of operating a processor-based device in a food preparation guidance system, according to at least one illustrated embodiment.
[0040] Figure 4 is a flow chart of a method of operating a processor-based device in a food preparation guidance system according to at least one illustrated embodiment.
[0041] Figure 5A is a graph of the temperature of a fluid tank and a food product core of a cooking apparatus during a cooking process according to at least one illustrated embodiment.
[0042] Figure 5B is a graph of the temperature of a fluid tank and a food product core of a cooking apparatus during an accelerated cooking process, according to at least one illustrated embodiment.
[0043] Figure 6 is provided by a processor-based device for Figure 1 A screen print screen or window of the main screen of the graphical user interface (GUI) used in the food preparation wizard system.
[0044] Figure 7 A print screen or window is a print screen of another screen of a main screen of a graphical user interface (GUI) according to at least one illustrated embodiment.
[0045] Figure 8 is a screen print screen or window of a first steak cooking settings screen of a graphical user interface (GUI) according to at least one illustrated embodiment.
[0046] Figure 9 is a screen print screen or window of a second steak cooking settings screen of a graphical user interface (GUI) in accordance with at least one illustrated embodiment.
[0047] Figure 10 is a screen print screen or window of a first cooking process screen of a graphical user interface (GUI) according to at least one illustrated embodiment.
[0048] Figure 11 is a screen print screen or window of a second cooking process screen of a graphical user interface (GUI) according to at least one illustrated embodiment.
[0049] Figure 12 is a screen print screen or window of a third cooking process screen of a graphical user interface (GUI) according to at least one illustrated embodiment.
[0050] Figure 13 is a screen print screen or window of a fourth cooking process screen of a graphical user interface (GUI) according to at least one illustrated embodiment.
[0051] Figure 14 is a screen print screen or window of a fifth cooking process screen of a graphical user interface (GUI) according to at least one illustrated embodiment.
[0052] Figure 15 is a screen print screen or window of a cooking tips screen of a graphical user interface (GUI) according to at least one illustrated embodiment. DETAILED DESCRIPTION
[0053] In the following description, certain specific details are set forth in order to provide a thorough understanding of the various disclosed implementations. However, one skilled in the relevant art will recognize that the embodiments may be practiced without one or more of these specific details, or with other methods, components, materials, etc. In other instances, well-known structures associated with communication devices (e.g., smartphones, personal computers, tablet computers, personal digital assistants), server computers, and / or communication networks are not shown or described in detail to avoid unnecessarily obscuring the description of the embodiments.
[0054] Throughout the following description and claims, unless the context requires otherwise, the word "comprising" is synonymous with "including" and is inclusive or open-ended (ie, does not exclude additional, unrecited elements or methodological acts).
[0055] References in this specification to "one embodiment" or "an embodiment" mean that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment. Therefore, the phrases "in one embodiment" or "in an embodiment" appearing throughout this specification do not necessarily all refer to the same embodiment. Furthermore, particular features, structures, or characteristics may be combined in any suitable manner in one or more embodiments.
[0056] As used in this specification and the appended claims, the singular forms "a," "an," and "" include plural referents unless the context clearly dictates otherwise. It should also be noted that the term "or" is generally used in its broadest sense, that is, to mean "and / or" unless the context clearly dictates otherwise.
[0057] The titles and abstracts provided herein are for convenience only and are not intended to interpret the scope and meaning of the embodiments.
[0058] Embodiments of the present disclosure relate to systems and methods for providing customized food preparation instructions, guidance and / or control. Figure 1-4 ,5A and 5B, discuss the environment of such system and method. Then, the attached Figure 6-15 , discusses systems and methods for controlling cooking devices.
[0059] Food preparation guidance system
[0060] Figure 1 A network environment 100 is shown for use in providing customized food preparation instructions, guidance, and / or control. Figure 1 As shown, the network environment 100 may include a plurality of user computing devices 102 (e.g., tablet computer 102A, smart phone 102B, laptop computer 102C, wearable computing device (e.g., watch)), cooking appliance 104, and food preparation guidance system 108 (FPG) via one or more communication channels (e.g., communication network 110 (e.g., LAN, WAN, Internet, global network, cellular network, Low power consumption, NFC) are coupled together in a communication manner.
[0061] In the illustrated embodiment, cooking device 104 takes the form of a sous vide cooker, comprising a vessel or container 112 and a thermal immersion circulator 114 coupled, for example, to the rim of the container. In some embodiments, cooking device 104 may be other types of cooking devices, such as an oven (convection and / or conventional), an induction cooktop, or the like. Container 112 holds a volume (e.g., 10 liters) of liquid 116 (e.g., water), which may be heated and circulated using thermal immersion circulator 114. In addition to liquid, other fluids (e.g., air, oil) may alternatively or additionally be used. Furthermore, in some embodiments, container 112 may be insulated and / or may have a selectively removable cover or lid 117. In the illustrated example, food product 118 is placed in a vacuum-sealed plastic bag or pouch 120 immersed in liquid bath 116. In some embodiments, food product 118 may be placed in a resealable plastic bag or can, or other suitable container. Food product 118 may be any of a number of different types of food products, such as meat, eggs, or vegetables. Some food products, such as eggs, can be placed directly in the liquid bath 116 without the use of a plastic bag 120 or other container. Further, in the case of a cooking apparatus utilizing a non-liquid fluid (e.g., air), the food product can be placed in a vessel or cooking chamber without the use of a container to separate the food product from the fluid.
[0062] The thermal immersion circulator 114 may be an electrically powered device that circulates and heats the liquid bath 116 at an accurate and stable temperature. The thermal immersion circulator 114 may include a circulation pump 122 ( Figure 2 ) and a heating element 124 ( Figure 2 ). The thermal immersion circulator 114 may also include a probe or sensor 126 ( Figure 2 ), such as a temperature sensor for sensing the temperature of the liquid bath 116, and a control circuit for comparing the temperature measured by the temperature probe with a desired temperature value and supplying power to the heating element as needed to control the temperature of the liquid bath. Figure 2 1 shows various components of cooking device 104. The control circuit can control the temperature of liquid bath 116 so that food product 118 can be cooked according to specific cooking instructions or a determined cooking program. For example, if food product 118 is a 1-inch thick rib-eye steak, the control circuit can be programmed to heat liquid bath 116 to a temperature of 60°C. The control circuit can also be programmed to heat the liquid bath to a temperature of 85°C to cook root vegetables.
[0063] The thermal immersion circulator 114 may optionally include a user interface 128 that includes one or more inputs (e.g., buttons, a touch screen, a microphone) and one or more outputs (e.g., a screen, an LED, a speaker). A user may interact with the user interface 128 to select one or more cooking programs, select one or more temperature settings, or select one or more cooking durations. As discussed below, in some embodiments, the user interface 128 may provide the user with information related to the current state or estimated future state of the cooking process. In some embodiments, the thermal immersion circulator 114 may not include a user interface, and the user may interact with a user interface integrated into the cooking device 104 or an interface of another device (e.g., one or more user computing devices communicatively coupled to the circulator 114).
[0064] In some embodiments, the control circuitry can utilize a proportional-integral-derivative (PID) control scheme to precisely control the temperature of the liquid bath 116 according to a determined cooking program or cooking process. The PID controller calculates an error value as the difference between the measured temperature and the desired set point. The PID controller attempts to minimize the error by adjusting the temperature using the controllable heating element 124. Generally speaking, the PID controller algorithm involves three independent constant parameters (e.g., "P," "I," and "D"). These parameters can be interpreted from a time perspective: P depends on the current temperature error, I depends on the accumulation of past temperature errors, and D is an estimate of future temperature errors based on the current rate of change. The weighted sum of these three actions can be used to adjust the temperature control of the cooking process by controlling the power provided to the controllable heating element 124. In some embodiments, other control algorithms can be used, such as PI control, PD control, P control, I control, or other linear or nonlinear control schemes.
[0065] In some embodiments, a user may utilize one or more client computing devices 102 to interact with the cooking device 104. For example, the client computing device 102 may execute at least one program or "application" that provides instructions or data to the cooking device 104 and communicates with the cooking device 104 via one or more suitable communication interfaces (e.g., Bluetooth, Low power consumption, ) receives information from the cooking device. In some embodiments, the client computing device 102, the cooking device 104 and / or the FPG system 108 can communicate via more than one communication interface (e.g., Bluetooth, Low power consumption, and / or ) to communicate, and if the other communication interface fails or is unavailable or unreliable, one of the communication interfaces can be utilized. For example, the cooking device 104 can first communicate via The low power interface communicates with the computing device 102. Then, when it is determined that the low power interface is unreliable or unavailable, the cooking device 104 can communicate with the computing device 102 through The interface communicates with the computing device 102. This redundant use of the communication interface provides additional reliability and flexibility in communications between the various devices of the system.
[0066] In some implementations, the multi-user computing device 102 may use a short-range connection (e.g., Low power consumption) to form a mesh network for relaying control and status information to more distant devices. For example, if laptop 102C is positioned so that it can communicate directly with smartphone 102B but not directly with circulator 114, data can be transferred indirectly between the circulator and the laptop via the smartphone.
[0067] In addition, as discussed in more detail below, a user can utilize the client computing device 102 to experience (e.g., view, listen to) one or more audio / image / video ("media") depictions of a prepared food product. The one or more media depictions can present an audio or visual depiction of the prepared food at various levels or variations of a finished characteristic (such as texture, taste, consistency, or doneness). The media depictions allow the user to simply select a preferred level for one or more characteristics of the cooked food product, such as the texture, consistency, color, or any other static or dynamic visual indication of a desired outcome for the food (e.g., egg yolk, egg white, steak), based on visual images, pictures, or videos of the food product at various levels.
[0068] A user can utilize a client computing device 102 to send one or more input parameters (such as ending preferences or starting conditions) to a food preparation guidance (FPG) system 108 via one or more communication channels (such as a communication network 110). In response, the FPG system 108 can send output food preparation parameters, output cooking parameters (e.g., time, temperature, pressure, speed, etc.), and / or an arbitrarily complex cooking program to the cooking device 104 via the communication network 110 to autonomously control the cooking device. The FPG system 108 can communicate directly with the cooking device 104 via the communication network 110, or indirectly via the client computing device 102. In some embodiments, the user can view the output cooking parameters or program on a display of one or more client computing devices 102 or the cooking device 104. The cooking device 104 can then prepare a food product 118 according to the received food preparation parameters or program. While the term "cooking" is used herein, it should be understood that this embodiment can also be applied to food preparation that does not necessarily require heating, such as preparing soup, ice cream, smoothies, pasta, or other food products.
[0069] The FPG system 108 can take the form of one or more server computer systems 108A having associated non-transitory processor-readable storage media or data storage devices 108B. Although illustrated as a single server computer system 108A and associated non-transitory storage media 108B, many embodiments may employ two or more server computer systems 108A and / or associated non-transitory processors or computer-readable storage media 108B. In some embodiments or examples, the non-transitory processor or computer-readable storage media 108B may include a database or other data structure that stores one or more of the following: image data, video data, audio data, cooking simulation models, lookup tables, food preparation algorithms, customer identifiers, customer account identifiers, customer identity information, financial account information (e.g., credit and / or debit account numbers, expiration dates, security codes), customer cooking history, data captured during the cooking process, and / or other data or statistics.
[0070] Although generally described below from the perspective of a user interface generated via instructions executed on a computing device, in some embodiments, the FPG system 108 can function as a user portal, which can operate, for example, as a web server, serving HTML pages, or providing a web service that operates as a user interface. Thus, in some embodiments, the FPG system 108 functions as a user portal, providing a user interface, for example, a web-based interface, that allows users to access the functionality disclosed herein via various processor-based computing devices 102.
[0071] The user interface displayed on the display of computing device 102 may include various drop-down menus, tabs, user-selectable icons, input fields, scroll bars, images, videos, audio, and dialog boxes, as well as other user interface components. The user interface may allow a user or client to create a user or client account using computing device 102. The user or client may enter their full name, screen name or nickname, address, and / or date of birth. The user or client may optionally enter financial account information (for example, account number), expiration date, and verification code or security code associated with a bookkeeping or debit account. This allows the user or client to automatically bookkeeping or debit when purchasing items, goods, or services.
[0072] Various systems, subsystems, and / or processor-based devices can communicate, for example, via one or more networks 110, which can be, for example, a packet-switched communication network such as the Internet, the World Wide Web portion of the Internet, an extranet, an intranet, and / or various other types of telecommunication networks, such as cellular telephone and data networks or channels, and plain old telephone system (POTS) networks. The type of communication infrastructure should not be considered limiting. The communication network 110 can take any of a variety of forms and can include modems (e.g., DSL modems, cable modems), routers, network switches, and / or bridges, etc.
[0073] Although often shown as a single non-transitory processor-readable storage medium, in many embodiments, each of the various non-transitory computer or processor-readable storage media shown can constitute multiple non-transitory storage media. Multiple non-transitory storage media can be co-located at a common location, or distributed at various remote locations. Databases can be stored separately from each other on separate computer or processor-readable storage media, or can be stored on the same computer or processor-readable storage medium. Various computer or processor-readable storage media can be co-located with the corresponding computer system, for example, in the same room, building or facility. Alternatively, various computer or processor-readable storage media can be located at a location away from the corresponding computer system (e.g., a server computer system), for example, in different facilities, cities, states or countries. Electronic or digital information, files or records or other information collections can be stored at specific locations in non-transitory computer or processor-readable media and are therefore logically addressable portions of these media, which can be continuous or discontinuous.
[0074] Although Figure 1 A representative network environment 100 is shown, but a typical network environment may include many additional computer systems and entities. Figure 1 The denser network environment shown is similarly employed. For example, there may be hundreds (if not thousands or even millions) of users or customers of computing devices 102 and cooking devices 104. For example, there may be more than one FPG system 108 in different countries or different regions of the country. Further, some or all of FPG systems 108 may be implemented within computing devices 102 and / or cooking devices 104.
[0075] In embodiments where cooking device 104 implements sous vide cooking, the cooking device can measure the temperature of liquid bath 116 and measure or estimate the amount of heat transferred to the liquid. For another type of embodiment where cooking device 104 is present, the cooking device can measure the surface temperature of food product 118 using a suitable sensor and measure or estimate the amount of heat absorbed by the food product. In some embodiments, cooking device 104 measures the surface temperature of food product 118 and measures one or more internal temperatures of the food product.
[0076] The cooking device 104 collects and stores some or all of the above data at fixed or variable intervals. The collection of data forms a collection of time-series data that can be processed to provide updates to the cooking program and / or provide cooking predictions that can be presented to the user through a user interface (such as a display of one or more client computing devices 102 or a display of the cooking device 104).
[0077] As discussed above, the client computing device 102 can communicate with the FPG system 108 and the cooking device 104 via the communication network 110. The client computing device 102 can allow the user to select, via a user interface, the final result of the food product 118 that the user is cooking. For example, the user can select an image corresponding to the desired doneness of meat displayed on a display of the user interface of one or more client computing devices 102. As another example, the user can select a video depicting the desired texture of a custard pancake.
[0078] The client computing device 102 may also allow the user to provide information indicating the food product the user plans to prepare. For example, the user may provide or select a recipe for a food product from a list of recipes for one or more food products. The amount of detail provided by the user may change the way the food product is prepared by the cooking device 104. For example, simply indicating that the food product is a steak may generate a different cooking program than indicating that the food product is a top sirloin steak with four basic cuts, two centimeters thick, and weighing 1.3 kilograms.
[0079] By way of example, a user may input any or all of the following information related to the food product to be prepared: the type of meat, fish, or poultry cut and / or muscle; one or more ingredients in the plastic bag (e.g., oil, sauce); the initial temperature of the food product; the volume or mass of the food product; the surface area of the food product; the origin or source of the food product (e.g., XYZ Farm, New Zealand); or how the food product is prepared (e.g., salted, dry-aged, brine-cured, smoked, blended, ground, marinated). For example, if a user specifies that a steak is grass-fed beef from New Zealand, the system may recognize that such steaks have a lower fat content and may adjust the cooking process accordingly. The user may also input the shape of the food product, such as its characteristic length or width, or a description of the food product (e.g., "slab," "large egg"). In some embodiments, the user may input or select one or more photos or videos of the food product, which may be used by the client computing device 102, the FPG system 108, and / or the cooking device 104 to generate a cooking process for preparing the food product 118.
[0080] In some embodiments, a user may select a recipe that provides information that can be used by the client computing device 102, the FPG system 108, and / or the cooking device 104 to generate a cooking procedure for preparing the food product 118. For example, a user may select a recipe on a website that automatically provides the computing device 102, the FPG system 108, and / or the cooking device 104 with details about the food product to be prepared upon selecting the recipe. In some embodiments, the user may be able to modify the selected recipe to suit the user's specific preferences.
[0081] The cooking device 104 can transmit various data or information to the client computing device 102 and / or the FPG system 108. For example, the cooking device 104 can, from time to time, transmit a subset or all of the collected time-series measurement data to the client computing device 102 or the FPG system 108. In some embodiments, the cooking device 104 can transmit only a subset of the collected time-series data, where the subset of time-series data includes the most recent measurement values or measurement values obtained since a previous successful transmission of measurement data to the client computing device 102.
[0082] The cooking device 104 may also transmit information regarding the current state of the cooking device and / or one or more previous states of the cooking device. Such information may include whether the cooking device 104 is powered on or in standby mode, the current and previous setpoint temperatures, or any manually adjustable parameters of the cooking device, such as manually selectable temperature setpoints. The cooking device 104 may also transmit information regarding non-standard operating conditions, such as a power outage or low liquid level in the liquid bath 116. The cooking device 104 may also transmit system parameters, such as control parameter settings, firmware versions, memory usage, sampling rates, etc. The cooking device 104 may also transmit information or data received from the FPG system 108 to the client computing device 102, or vice versa.
[0083] The client computing device 102 can transmit various data or information to the cooking device 104 and / or the FPG system 108. For example, the client computing device 102 can transmit a cooking program to the cooking device 104 or transmit new firmware to the cooking device.
[0084] A cooking program may include, for example, a program type, a program start time (e.g., immediately or at a determined future time), and a recipe or dish name (e.g., eggs, steak). A cooking program may also specify a set point temperature (e.g., 60° C., 75° C.) for the liquid bath 116 of the sous vide cooker. A cooking program may also specify a cooking duration, which may begin after a start event. The start event may be when the cooking device 104 receives the cooking program or when the liquid bath 116 has been heated to a determined temperature (e.g., a set point temperature). The start event may also be when the cooking device 104 senses that a food product 118 has been inserted therein or when a user indicates that a food product has been inserted into the cooking device 104. The start event may also occur at a determined time or after a determined delay after one or more events.
[0085] The cooking program may also indicate whether liquid bath 116 should be preheated before food product 118 is inserted into the liquid bath. For example, the cooking program may specify that liquid bath 116 should be heated to at least 40° C. before the food product is placed in the liquid bath. As another example, the cooking program may indicate that food product 118 should be placed in liquid bath 116 without preheating the liquid bath.
[0086] In some embodiments, a cooking program can include parameters for implementing an accelerated cooking program. For example, an accelerated cooking program may cause liquid bath 116 to be heated to a first temperature above a set point temperature for a period of time, and then the temperature of the liquid bath may be lowered to a second temperature at or near the set point temperature for the remainder of the cooking cycle. As discussed further below, a cooking program can utilize characteristics of the food product (e.g., mass) or one or more measurements (e.g., temperature, power) to determine how much additional power is needed to heat food product 118, and then use full power delivery until the power is exhausted.
[0087] The cooking program may also indicate whether the cooking device 104 should use the time series data to determine or predict a near-equilibrium condition for the food product 118 indicating completion of the cooking process.
[0088] In some embodiments, a cooking program may indicate the amount of time that food product 118 should be maintained at a set point temperature or a safe holding temperature. For example, a cooking program may indicate that the set point temperature should be lowered to a lower temperature after maintaining the food product at a higher temperature for a certain period of time. This feature may minimize or reduce undesirable texture changes in the food product that may occur if the food product is maintained at a relatively high temperature for an extended period of time.
[0089] The cooking program may also include instructions on when the cooking program should begin. For example, the cooking program may wait for a command, wait for a fixed amount of time, wait until the cooking device 104 is preheated, wait until the food product has been inserted into the cooking device, wait until the food product is removed from the cooking device, etc.
[0090] The FPG system 108 can transmit various information or data to the cooking device 104 and / or the client computing device 102. For example, the FPG system 108 can transmit a cooking program to the cooking device 104 to control its operation. The FPG system 108 can also send a determination or assessment of when the cooking program is complete to the client computing device 102. For example, the FPG system 108 can provide a notification on the client computing device 102 indicating that the core of a food product will be 1°C below the set point temperature at a specific time (e.g., 103 minutes, 6:00 PM), so that the user can plan to remove the food product from the cooking device 104 at that time.
[0091] The FPG system 108 may also provide recommendations to the user of the client computing device 102 based on food products currently or previously cooked by the user. For example, the FPG system 108 may recommend certain side dishes, recipes, or a specific degree of doneness for a food product based on feedback collected from the user's past behavior. Such feedback may be obtained through a direct query by the user or may be obtained indirectly based on a selection or action performed by the user (e.g., selecting a specific degree of doneness, selecting a recipe within a specific category of recipes).
[0092] In some embodiments, the time series data can be filtered before being used in other algorithms or methods. For example, one or more low-pass filters, total variation minimization, moving averages, iterative moving averages, polynomial or rational exponential fits using various norms (e.g., L1 or L2) to achieve minimization can be used to reduce or remove noise from the time series data. In some embodiments, localized damage, such as spikes or missing data points, can be removed. In some embodiments, variable time series data can be changed to fixed time series data by interpolation, or fixed time series data can be changed to variable time series data.
[0093] Using the time series data and the state of the cooking device 104, the FPG system 108 can measure or determine one or more liquid bath characteristics, food product characteristics, and / or liquid bath and food product interaction characteristics. Liquid bath characteristics may include, but are not limited to, volume, mass, initial temperature, heat loss or gain from the environment by conduction through the container, heat loss or gain from the environment by radiation, heat loss to the environment by evaporation, or mass and volume changes due to evaporation.
[0094] Food characteristics may include (but are not limited to) surface area, mass, volume, shape, initial temperature, state (eg, partially frozen, fully frozen, thawed, defrosted).
[0095] The liquid bath and food product interaction characteristics may include the efficiency of the liquid bath in heating the food product, as measured by the heat transfer coefficient between the liquid and the food product. The liquid bath and food product interaction characteristics may also include the time to insert one or more food products into the liquid bath while the liquid is being heated or after the liquid is heated to a determined temperature, which may occur before the liquid begins to heat.
[0096] Using time series data and one or more of the features discussed above, FPG system 108 can perform various functions. For example, FPG system 108 can determine or estimate how long it will take for liquid bath 116 to reach a setpoint temperature. As another example, FPG system 108 can determine or estimate when food product 118 will be heated to a specific temperature. After heating food product 118 to the specific temperature, FPG system 108 can maintain liquid bath 116 at the temperature or reduce the temperature to a safe holding temperature.
[0097] The FPG system 108 can also generate quick or accelerated cooking programs, as described below with reference to Figure 5A and Figure 5B Furthermore, if there is a fault, such as a power outage, the FPG system 108 can determine whether the food is still safe to eat. For example, the FPG system 108 can determine how long and at what temperatures the food product was exposed to a range that promotes the growth of foodborne pathogens. Furthermore, after an identified power outage, the FPG system 108 can determine whether any modifications to the cooking program are required and whether to implement such modifications.
[0098] In some embodiments, the cooking device 104 and / or circulator 114 may desire to obtain location information. For example, in some regions or countries, terms may have different meanings (e.g., the meaning of "medium rare" may vary depending on geographic location). As another example, the location of the cooking device 104 can be used to determine the local boiling point of a liquid, which can in turn be used to adjust a cooking program, such as limiting the temperature to below the local boiling point. The cooking device 104 and / or circulator 114 can automatically (e.g., via GPS) or manually (e.g., via user input) receive geographic location information and account for terminology differences due to geographic location. In some embodiments, the cooking device 104 and / or circulator 114 can receive location information from one or more user computing devices 102 and use such location information as an approximation of the location of the cooking device and / or circulator. Thus, in some implementations, by leveraging the location determination hardware of other computing devices physically located nearby, the cooking device 104 and / or circulator 114 can include location-specific functionality without requiring dedicated location determination hardware (e.g., a GPS receiver).
[0099] Figure 2 The following discussion provides a general, brief description of the components that form an exemplary network environment 100, including an FPG system 108, a cooking device 104, and a computing device 102 (only one shown), in which various illustrated embodiments may be implemented. The network environment 100 may, for example, refer to Figure 1The various functions and operations just discussed above are implemented. Although not required, the embodiments of some parts will be described in the general context of computer executable instructions or logic (such as, program application modules, objects or macros executed by a computer). Those skilled in the relevant art will understand that the illustrated embodiments and other embodiments can be implemented using other computer systems or processor-based device configurations, including, for example, handheld devices of cellular phones or PDAs that support web pages, multiprocessor systems, microprocessor-based or programmable consumer electronics, personal computers ("PCs"), network PCs, minicomputers, mainframe computers, etc. These embodiments can be implemented in a distributed computing environment in which tasks or modules are performed by remote processing devices linked through a communication network. In a distributed computing environment, the modules of the program may be located in a local memory storage device and a remote memory storage device at the same time.
[0100] The FPG system 108 can take the form of a conventional PC, server, or other computing system that executes logic or other machine-executable instructions. The FPG system 108 includes one or more processors 206, a system memory 208, and a system bus 210 that connects various system components, including the system memory 208, to the processors 206. The FPG system 108 will sometimes be referred to herein in the singular, but this is not intended to limit the implementation to a single system, as some implementations include more than one FPG system 108 or other networked computing device. Non-limiting examples of commercially available systems include, but are not limited to, Intel's 80x86 or Pentium series microprocessors, IBM's PowerPC microprocessors, Sun Microsystems' Sparc microprocessors, Hewlett-Packard's PA-RISC series microprocessors, or Motorola's 68xxx series microprocessors.
[0101] The processor 206 may be any logical processing unit, such as one or more central processing units (CPUs), microprocessors, digital signal processors (DSPs), application specific integrated circuits (ASICs), field programmable gate arrays (FPGAs), etc. Unless otherwise described, Figure 2 The construction and operation of the various blocks shown are of conventional design. As a result, these blocks do not need to be described in further detail herein, as they will be understood by those skilled in the art.
[0102] The system bus 210 can employ any known bus structure or architecture, including a memory bus with a memory controller, a peripheral bus, and a local bus. The system memory 208 includes read-only memory ("ROM") and random access memory ("RAM"). A basic input / output system ("BIOS"), which contains the basic routines that help transfer information between components within the FPG system 108, such as during startup, can be incorporated into at least a portion of the ROM. Some embodiments may employ separate buses for data, instructions, and power.
[0103] The data storage device 108B of the FPG system 108 may also include a hard disk drive for reading from and writing to a hard disk, and an optical drive and a magnetic disk drive for reading from and writing to a removable optical disk and magnetic disk, respectively. The optical disk may be a CD or DVD, and the magnetic disk may be a magnetic floppy disk or a floppy disk. The hard disk drive, optical drive, and magnetic disk drive communicate with the processor 206 via the system bus 210. As known to those skilled in the relevant art, the hard disk drive, optical drive, and magnetic disk drive may include an interface or controller (not shown) coupled between these drives and the system bus 210. The drives and their associated computer-readable media provide non-volatile storage for computer-readable instructions, data structures, program modules, and other data for the FPG system 108. Those skilled in the relevant art will appreciate that other types of computer-readable media may be used to store computer-accessible data, such as magnetic tape cassettes, flash memory cards, Bernoulli cartridges, RAM, ROM, smart cards, and the like.
[0104] Program modules, such as an operating system, one or more application programs, other programs or modules, and program data, may be stored in system memory 208 .
[0105] The application may include logic capable of providing customized food preparation guidance or instructions to the cooking device 104, either directly or via the computing device 102. For example, if a user or customer selects one or more starting conditions and / or ending preferences, the FPG system 108 may determine one or more food preparation parameters based on the starting conditions or ending preferences. For example, the one or more starting conditions may include food type, food size, food weight, starting temperature, altitude, geographic location, etc. The ending preferences may include temperature, texture, doneness, flavor, etc. Figure 2One or more geo-location devices, not shown, such as a global positioning system (GPS) receiver and one or more position sensing devices (e.g., one or more micro-electromechanical systems or "MEMS" accelerometers, gyroscopes, etc.), can be communicatively coupled to the processor 206 to provide additional functionality to the processor, such as geo-location data and three-dimensional positioning data. For example, such information can be used with the captured image data to determine the size and shape of a food product using a structure from motion determination process. As another example, in some regions or countries, terms may have different meanings (e.g., the meaning of "medium rare" may be different in different geographic locations). The processor can receive geo-location information automatically (e.g., via GPS) or manually (e.g., via user input) and account for differences in terminology due to geographic location. The application can be stored in the system memory 208, for example, as one or more sets of logic or as one or more sets of machine-executable instructions.
[0106] The system memory 208 may include communication programs that allow the FPG system 108 to access and exchange data with other networked systems or components (such as the cooking device 104, other computing devices 102, external computer systems, etc.).
[0107] The operating system, application programs, other programs / modules, program data, and communications may be stored in system memory or other data storage.
[0108] Authorized personnel can input commands (e.g., system maintenance, upgrades, etc.) and information (e.g., cooking simulation parameters, equations, models, etc.) into the FPG system 108 using a user interface 212, which includes one or more communicatively coupled input devices (such as a touch screen or keyboard), pointing devices (such as a mouse), and / or buttons. Other input devices may include microphones, joysticks, game pads, tablets, scanners, biometric scanning devices, and the like. These and other input devices are connected to the processor 206 via an interface coupled to the system bus 210, such as a universal serial bus ("USB"), although other interfaces such as a parallel port, game port, wireless interface, or serial port may be used. The user interface 212 may include a monitor or other display device coupled to the system bus 210 via a video interface (such as a video adapter). In at least some cases, the input device may be located near the FPG system 108, such as when the system is installed at the system user's location. In other cases, the input device may be located remotely from the FPG system 108, such as when the system is installed at a service provider's location.
[0109] In some embodiments, the FPG system 108 uses one or more logical connections to connect to the environment 100 ( Figure 1 ) to communicate with one or more remote computers, servers, and / or other devices, optionally via one or more communication channels (e.g., one or more networks 110). These logical connections can facilitate any known method for allowing computers to communicate, for example, over one or more LANs and / or WANs. Such network environments are well known in wired and wireless enterprise computer networks, intranets, extranets, and the Internet.
[0110] In some embodiments, a network port or interface 256 communicatively coupled to the system bus 210 can be used to establish and maintain communications over the communication network 110. Furthermore, a database interface 252 communicatively coupled to the system bus 210 can be used to establish communications with a non-transitory processor-readable storage medium or data storage device 108B, which can be part of or at least in operable communication with the FPG system 108. For example, the data storage device 108B can include a repository for storing information regarding cooking programs, cooking simulation parameters, cooking simulation models, media files depicting finished grades or preferences for food products (e.g., images or videos depicting the texture and / or consistency of an egg yolk, the texture and / or consistency of an egg white, an image depicting the exterior of a steak, an image depicting the interior of a steak), end-user account information (e.g., user cooking equipment and its parameters, user preferences, etc.), end-user computing device information, system user-specific information related to providing one or more customized food preparation instructions to an end-user, or combinations thereof. In some implementations, the database interface 252 may communicate with the data storage device 108B via the network 110 .
[0111] In the network environment 100( Figure 1 ), program modules, applications, or data, or portions thereof, may be stored in another server computing system (not shown). Those skilled in the relevant art will recognize that Figure 2 The network connections shown are only some examples of ways to establish communications between the computers, and other connections, including wireless, may be used. In some embodiments, program modules, applications, or data, or portions thereof, may even be stored in other computer systems or other devices (not shown).
[0112] The processor 206, system memory 208, network port 256 and database interface can be coupled to each other in a communicative manner via a system bus 210, thereby providing connectivity between the above components. Figure 2The system bus 210 may be coupled to the components in different ways as shown. For example, one or more of the above components may be directly coupled to other components via an intermediate component (not shown), or may be coupled to each other. In some embodiments, the system bus 210 is omitted and the components are directly coupled to each other using appropriate connections.
[0113] The computing device 102 may include any device, system, or combination of systems and devices that has at least wired or wireless communication capabilities. In most cases, the computing device 102 includes additional devices, systems, or a combination of systems and devices that can provide graphical data display capabilities. Examples of such computing devices 102 may include, but are not limited to, cellular phones, smartphones, tablet computers, desktop computers, laptop computers, ultraportable or netbook computers, personal digital assistants, handheld devices, and the like.
[0114] The computing device 102 may include one or more processors 282 and non-transitory computer or processor-readable media or memory, for example, one or more non-volatile memories 284 (such as read-only memory (ROM)), or flash memory and / or one or more volatile memories 286 (such as random access memory (RAM)).
[0115] The computing device 102 may include one or more transceivers or radios 288 and associated antennas 290. For example, the computing device 102 may include one or more cellular transceivers or radios, one or more and transceiver or radio device, and one or more The computing device 102 may further include one or more wired interfaces (not shown) utilizing parallel cables, serial cables, or wireless channels capable of high-speed communication, for example, via General (USB), or One or more of .
[0116] The computing device 102 may include a user input / output subsystem, for example, including a touch screen or touch-sensitive display 292A and one or more speakers 292B. The touch screen or touch-sensitive display 292A may include any type of touch screen, including (but not limited to) a resistive touch screen or a capacitive touch screen. The touch screen or touch-sensitive display 292A may, for example, present a graphical user interface in the form of a large number of different screens or windows, including prompts and / or fields for selection. The touch screen or touch-sensitive display 292A may present or display separate icons and controls, for example, virtual buttons or slider controls and a virtual keyboard or keyboard for conveying instructions, commands and / or data. Although not shown, the user interface may additionally or alternatively include one or more additional input or output devices, for example, a microphone, a barometer (for example, for altitude assessment), an alphanumeric keyboard, a QWERTY keyboard, a joystick, a scroll wheel, a touchpad, or similar physical or virtual input devices. For example, the computing device 102 may include a microphone that allows voice control of the computing device.
[0117] The computing device 102 may include one or more image capture devices 294, such as a camera with a suitable lens and, optionally, one or more flashes or lights for illuminating a field of view to capture an image. The image capture device 294 may capture still digital images or moving or video digital images. The image information may be stored as a file, for example, via the non-volatile memory 284.
[0118] Some or all of the components within the computing device 102 may be communicatively coupled using at least one bus 296 or similar structure suitable for transferring, transmitting, or communicating data between devices, systems, or components within the computing device 102. The bus 296 may include one or more serial or parallel communication links, such as an 8-bit, 16-bit, 32-bit, or 64-bit data bus. In some embodiments, a redundant bus (not shown) may be present to provide failover capability in the event of a failure or interruption of the primary bus 296.
[0119] The processor 282 may include any type of processor suitable for executing one or more machine-executable instruction sets (e.g., ARM Cortext-A8, ARM Cortext-A9, Snapdragon 600, Snapdragon 800, NVidia Tegra 4, NVidia Tegra 4i, Intel Atom Z2580, Samsung Exynos 5Octa, Apple A7, Motorola X8), such as a conventional microprocessor, a reduced instruction set computer (RISC)-based processor, an application-specific integrated circuit (ASIC), a digital signal processor (DSP), or the like. Within the processor 282, non-volatile memory may store a basic input / output system (BIOS), a boot sequence, firmware, boot routines, and a communication device operating system (e.g., a BIOS) that is executed by the processor 282 after initial power-up. Phone, 8 and similar systems). Following initial power-up of the processor 282, the processor 282 may also execute one or more sets of logic or one or more sets of machine-executable instructions loaded from the volatile memory 286. The processor 282 may also include a system clock, calendar, or similar time measurement device. Figure 2 One or more geo-location devices not shown, such as a global positioning system (GPS) receiver and one or more position sensing devices (e.g., one or more micro-electromechanical systems or “MEMS” accelerometers, gyroscopes, etc.), may be communicatively coupled to processor 282 to provide additional functionality such as geo-location data and three-dimensional positioning data to processor 282.
[0120] The transceiver or radio 288 may include any device capable of transmitting and receiving communications via electromagnetic energy.
[0121] Non-limiting examples of cellular communication transceivers or radios 288 include CDMA transceivers, GSM transceivers, 3G transceivers, 4G transceivers, LTE transceivers, and any similar existing or future-developed computing device transceivers having at least one of voice telephony capabilities or data exchange capabilities. In at least some cases, the cellular transceiver or radio 288 may include more than one interface. For example, in some cases, the cellular transceiver or radio 288 may include at least one dedicated full-duplex or half-duplex voice call interface and at least one dedicated data interface. In other cases, the cellular transceiver or radio 288 may include at least one integrated interface capable of accommodating both full-duplex or half-duplex voice calls and data transfers.
[0122] Non-limiting examples of transceivers or radios 288 include various chipsets available from Broadcom, including BCM43142, BCM4313, BCM94312MC, BCM4312, and chipsets available from Atmel, Marvell, or Redpine. Non-limiting examples of transceivers or radios 288 include various chipsets available from Nordic Semiconductor, Texas Instruments, Cambridge Silicon Radio, Broadcom, and EM Microelectronic.
[0123] As noted, the non-transitory computer or processor-readable media may include non-volatile storage memory 284, and in some embodiments, may also include volatile memory 286. At least a portion of the memory may be used to store one or more sets of processor-executable instructions for execution by the processor 282. In some embodiments, all or a portion of the memory may be located within the processor 282, for example, in the form of a cache. In some embodiments, the memory may be supplemented with one or more slots configured to accommodate insertion of one or more removable memory devices, such as Secure Digital (SD) cards, Compact Flash (CF) cards, Universal Serial Bus (USB) memory "sticks," and the like.
[0124] In at least some embodiments, one or more sets of logic or machine-executable instructions providing application programs or "apps" executable by processor 282 may be stored, in whole or in part, in at least a portion of memories 284, 286. In at least some cases, the application programs may be downloaded or otherwise acquired by an end user, for example, using an online marketplace such as the Apple App Store, Amazon Marketplace, or Google Play. In some embodiments, such applications may be launched in response to a user or consumer selecting a corresponding user-selectable icon. The application programs may facilitate establishing a data link between computing device 102 and FPG system 108 or cooking device 104 via transceiver or radio 288 and communications network 110.
[0125] As discussed in more detail below, the application may include logic or instructions to provide the end user with a number of graphical screens or windows having prompts, fields, and user interface structures that allow the user or consumer to obtain food preparation instructions, controls, or guidance via the FPG system 108. These may include, for example, logic or machine-executable instructions for the various screens or windows.
[0126] The cooking device 104 may include a device, system, or combination of systems and devices that implements the disclosed functionality. In some embodiments, the cooking device 104 has wired or wireless communication capabilities and includes additional devices, systems, or combinations of systems and devices that can provide graphical data display capabilities. Examples of such cooking devices may include, but are not limited to, thermal immersion circulators and vessels, water ovens, ovens, induction cooktops, and the like.
[0127] The cooking device 104 may include one or more processors 260 and non-transitory computer or processor-readable media, for example, one or more non-volatile memories 262 (such as read-only memory (ROM)) or flash memory and / or one or more volatile memories 264 (such as random access memory (RAM)).
[0128] The cooking device 104 may include a cooking chamber 112 (e.g., a container, a vessel) having one or more heaters 124 located therein to, for example, heat a fluid (e.g., water, air) within the cooking chamber. The cooking chamber 112 may be insulated and may include a selectively closable cover (e.g., a lid, a door). The cooking device 104 may also include one or more circulators or pumps 122 that agitate the fluid. As discussed above, the cooking device 104 may also include one or more sensors or detectors 126 that sense or detect one or more characteristics (such as temperature, pressure, power, motion, fluid flow, the presence of a food product, etc.). The circulator 122, heater 124, and sensor 126 may be operably coupled to one or more processors 260. The sensor 126 may include one or more of a thermocouple, a thermistor, a platinum resistance temperature detector (RTD), a positive temperature coefficient (PTC) heater / element, a black body / infrared emission detector, a voltage sensor, a current sensor (e.g., a shunt resistor, a current transformer, a Hall effect sensor, a magnetometer / GMR (giant magnetoresistance)), a resistance sensor, a barometer (e.g., for altitude assessment), etc.
[0129] The cooking device 104 may include one or more transceivers or radios 266 and associated antennas 268. For example, the cooking device 104 may include one or more cellular transceivers or radios, one or more A Bluetooth transceiver or radio, and one or more Low power consumption and associated antenna. The cooking device 104 may further include one or more wired interfaces (not shown) utilizing parallel cables, serial cables, or wireless channels capable of high-speed communication, for example, via General (USB), or One or more of .
[0130] The cooking device 104 may include a user input / output subsystem 128, for example, including a touch screen or touch-sensitive display and one or more speakers. The touch screen or touch-sensitive display may include any type of touch screen, including (but not limited to) a resistive touch screen or a capacitive touch screen. The touch screen or touch-sensitive display may present a graphical user interface, for example, in the form of a large number of different screens or windows, including prompts and / or fields for selection. The touch screen or touch-sensitive display may present or display separate icons and controls, for example, virtual buttons or slider controls for conveying instructions, commands and / or data, and a virtual keyboard or keyboard. Although not shown, the user interface may additionally or alternatively include one or more additional input or output devices, such as a microphone, an alphanumeric keyboard, a QWERTY keyboard, a joystick, a scroll wheel, a touchpad, or similar physical or virtual input devices. For example, the cooking device 104 may include a microphone that allows voice control of the cooking device.
[0131] Some or all of the components within the cooking device 104 may be communicatively coupled using at least one bus 270 or similar structure suitable for transferring, transmitting, or communicating data between devices, systems, or components within the cooking device 104. The bus 270 may include one or more serial or parallel communication links, such as an 8-bit, 16-bit, 32-bit, or 64-bit data bus. In some embodiments, a redundant bus (not shown) may be present to provide failover capability in the event of a failure or interruption of the primary bus 270.
[0132] The processor 260 may include any type of processor suitable for executing one or more machine-executable instruction sets (e.g., ARM Cortext-A8, ARM Cortext-A9, Snapdragon 600, Snapdragon 800, NVidia Tegra 4, NVidia Tegra 4i, Intel Atom Z2580, Samsung Exynos 5Octa, Apple A7, Motorola X8), such as a conventional microprocessor, a reduced instruction set computer (RISC)-based processor, an application-specific integrated circuit (ASIC), a digital signal processor (DSP), or the like. Within the processor 260, non-volatile memory may store a basic input / output system (BIOS), a boot sequence, firmware, boot routines, and a communication device operating system (e.g., a BIOS) that is executed by the processor 260 after initial power-up. Phone, 8 and similar systems). Following initial power-up of the processor 260, the processor 260 may also execute one or more sets of logic or one or more sets of machine-executable instructions loaded from the volatile memory 264. The processor 260 may also include a system clock, calendar, or similar time measurement device. Figure 2 One or more geo-location devices not shown, such as a global positioning system (GPS) receiver and one or more position sensing devices (e.g., one or more micro-electromechanical systems or “MEMS” accelerometers, gyroscopes, etc.), may be communicatively coupled to processor 260 to provide additional functionality such as geo-location data and three-dimensional positioning data to processor 260.
[0133] The transceiver or radio 266 may include any device capable of transmitting and receiving communications via electromagnetic energy.
[0134] Non-limiting examples of cellular communication transceivers or radios 266 include CDMA transceivers, GSM transceivers, 3G transceivers, 4G transceivers, LTE transceivers, and any similar existing or future-developed computing device transceivers having at least one of voice telephony capabilities or data exchange capabilities. In at least some cases, the cellular transceiver or radio 266 may include more than one interface. For example, in some cases, the cellular transceiver or radio 266 may include at least one dedicated full-duplex or half-duplex voice call interface and at least one dedicated data interface. In other cases, the cellular transceiver or radio 266 may include at least one integrated interface capable of accommodating both full-duplex or half-duplex voice calls and data transfers.
[0135] Non-limiting examples of transceivers or radios 266 include various chipsets available from Broadcom, including BCM43142, BCM4313, BCM94312MC, BCM4312, and chipsets available from Atmel, Marvell, or Redpine. Non-limiting examples of transceivers or radios 266 include various chipsets available from Nordic Semiconductor, Texas Instruments, Cambridge Silicon Radio, Broadcom, and EM Microelectronic.
[0136] As noted, the non-transitory computer or processor readable medium may include non-volatile storage memory, and in some embodiments may also include volatile memory. At least a portion of the memory is used to store one or more processor-executable instruction sets for execution by the processor 260. In some embodiments, all or a portion of the memory may be provided within the processor 260, for example, in the form of a cache. In some embodiments, the memory may be supplemented with one or more slots configured to accommodate insertion of one or more removable memory devices (such as a Secure Digital (SD) card, a Compact Flash (CF) card, a Universal Serial Bus (USB) memory "stick", etc.).
[0137] In at least some embodiments, one or more sets of logic or machine-executable instructions providing a program executable by processor 260 may be stored, in whole or in part, in at least a portion of memories 262, 264. In at least some cases, the application may be downloaded or otherwise acquired by an end user, for example, using an online marketplace. In some embodiments, such an application may be launched in response to a user or consumer selecting a corresponding user-selectable icon. The application may facilitate establishing a data link between cooking device 104 and FPG system 108 or computing device 102 via transceiver or radio 266 and communications network 110.
[0138] In some embodiments, some components of the cooking device 104 may be implemented in a computing device separate from the cooking chamber 112, such as in a Figure 1In the example shown. In some embodiments, cooking device 104 can be an integrated device that includes some or all of the above-mentioned components. Further, it should be understood that although certain functions are described herein as being implemented in one of client computing device 102, cooking device 104, or FPG system 108, some or all of these functions can be performed by many combinations of these devices, or can be performed in one or more devices different from those described above. In other words, the functions described herein can be implemented in a highly distributed manner, or can be implemented in a single independent device.
[0139] Figure 3 shows that in food preparation guide (FPG) systems such as Figure 1 and Figure 2 The present invention provides a method for controlling the preparation of a food product by operating a processor-based device (e.g., an FPG system 108) to control the preparation of a food product. For illustrative purposes, the method 300 is discussed in the context of a sous vide cooking process, but the method is not limited to such a cooking process. For example, the method 300 may be implemented using an oven or other cooking device. As noted above, sous vide is a method of cooking food in a liquid bath or in a temperature-controlled steam environment at a precisely regulated temperature that is lower than that typically used for conventional cooking, and the cooking time is longer than normal cooking time. In some cases, the food is sealed (e.g., liquid-tight, air-tight) in a plastic bag. Sous vide cooking techniques typically use temperatures of approximately 55°C to 80°C for meats and higher temperatures for vegetables. The intention is to cook the item evenly, ensuring that the inside is properly cooked without overcooking the outside, and to lock in moisture.
[0140] Method 300 begins at 302. For example, method 300 may begin in response to opening a particular application or selection of an icon displayed on a display of a computing device. In response, the processor-based device may cause a splash screen or introductory screen to be displayed or presented.
[0141] At 304, at least one processor causes a cooking program to be generated. For example, at least one processor of the FPG system may generate a cooking program. The cooking program includes at least one of instructions or data that the cooking device may use to perform a cooking process for a food item. The cooking program may be downloaded or otherwise provided to the cooking device at any time prior to the cooking session.
[0142] At 306 , the at least one processor controls the cooking device to perform a cooking process for the food according to the cooking program. For example, the at least one processor of the cooking device can control a heater element to heat the liquid tank according to the generated cooking program.
[0143] At 308, at least one processor of the cooking device may receive status information data from the cooking device. Such status information data may include, for example, set point temperature, current temperature, water level, estimated time until completion, estimated time until food should be placed in the cooking chamber of the cooking device, etc.
[0144] At 310, the at least one processor of the cooking device may transmit the received status information data to a plurality of user computing devices via at least one data communication channel. For example, the at least one processor of the cooking device may transmit the status information data to a user's laptop, smartphone, and tablet, allowing the user to receive such data using any of these devices. As another example, the at least one processor of the cooking device may transmit the status information data to a first user computing device associated with a first user and a second user computing device associated with a second user.
[0145] At 312, the at least one processor may receive a modification to the cooking program (or other control instructions) from at least one of the plurality of user computing devices via at least one data communication channel. At 314, in response to receiving the modification to the cooking program, the at least one processor may modify the generated cooking program. At 316, the at least one processor may control the cooking device to perform a cooking process for the food according to the modified cooking program. At 318, the at least one processor may send data indicating the modification to the plurality of user computing devices via the at least one data communication channel.
[0146] As described above, in some embodiments, at least one processor can indirectly receive cooking program modification or control instructions from the first user computing device via the second user computing device. This may be advantageous when the second user computing device cannot directly communicate with the cooking device and / or the FPG system.
[0147] As described above, multiple user computing devices can be used to remotely control and receive data from a cooking device. Multiple user computing devices can communicate with the cooking device simultaneously or sequentially during a cooking session. In some implementations, while state can be replicated across multiple computing devices (e.g., user computing devices, cloud-based services), the cooking device serves as the primary source of the system's current state. In some cases, changes to the cooking device's state can be optimistically displayed on the user computing device as if the change had actually occurred on the cooking device, minimizing perceived lag time and allowing conflicts or errors to be resolved later.
[0148] In some implementations, a single user computing device can communicate with the user via multiple communication channels (e.g., Low power consumption and ) is communicatively coupled to the cooking device and can correctly resolve inconsistent commands. The cooking appliance can be connected to one or more control devices or network services, or can be temporarily disconnected while still being able to reconstruct correct and consistent time series data in the cloud upon reconnection. This time series data can be used to adaptively estimate the future state of the system, particularly when the entire system will reach a preset equilibrium temperature. In some cases, multiple control devices and / or cooking devices can be connected using short-range connections (e.g. Low power consumption) to form a mesh network to relay control and status data to more distant control devices or cooking devices. As above, the approximate geospatial location of a cooking appliance without built-in GPS can be determined by proximity to a control device that implements GPS or other spatial positioning technology.
[0149] The method ends at 320 , such as at the end of the cooking session.
[0150] Figure 4 The operation of a processor-based device to control a food preparation guide (FPG) system (e.g. Figure 1 and Figure 2 Method 400 of preparing a food product in an FPG system 108 of the present invention. For the purpose of explanation, method 400 is discussed in the context of a vacuum cooking process, but the method is not limited to such a cooking process. For example, method 400 can be implemented using an oven or other cooking equipment.
[0151] Notably, the methods described herein provide updates to a cooking program and / or assessments regarding the cooking process by obtaining one or more measurements from a cooking device and making decisions based on the obtained measurements.
[0152] Method 400 begins at 402. For example, method 400 may begin in response to the opening of a particular application or the selection of an icon displayed on a display of a computing device. In response, the processor-based device may cause a splash screen or introductory screen to be displayed or presented.
[0153] At 404, the processor-based device may receive a request to prepare a food product. For example, the processor-based device may receive a request to prepare a steak from a client computing device operated by a user over a communication network. The user may select a recipe or may manually enter instructions into a user interface via the client computing device and / or via the cooking device.
[0154] At 406, the processor-based device may provide a prompt, for example, via a display of a computing device, regarding the finishing condition, temperature, preference, or characteristics of the selected food product. For example, the processor-based device may display or cause the display of an egg white texture prompt screen (e.g., a visual prompt) that allows the user to view and scroll through images of egg whites having different textures (e.g., runny, soft-boiled, hard-boiled). Various user interface elements may be employed, including those typically associated with touchscreen interfaces that allow for multi-finger input, tapping, and swiping. In some embodiments, the set of at least two graphical prompts may include a set of still images in addition to (or instead of) a set of videos. In some embodiments, each video or image may also include audio that allows the user to observe additional information regarding the characteristics of the cooked food product (e.g., crispness, chewiness, etc.). In some embodiments, a set of audio clips is provided with the audio prompts without the visual prompts. The audio prompts may include spoken text prompts or sound prompts (e.g., the sound of an egg cracking).
[0155] The processor-based device may receive a selection indicating an ending condition or preference for a food product.For example, the processor-based device may detect input or selection of a slider via a touch screen display.
[0156] At 408, the processor-based device determines a cooking program based at least in part on the received selection indicating the food product to be prepared and / or the finishing preference. For example, the processor-based device may perform one or more simulations using the selected food product and the finishing preference as input to determine a cooking time and a cooking temperature to cook the food product to the selected finishing preference (e.g., texture, consistency, doneness). The processor-based device may use any suitable method to determine one or more general food preparation parameters for the cooking program, such as one or more simulations, modeling, one or more lookup tables, one or more analytical equations or numerically solvable equations, etc. In some cases, the cooking program or protocol may include a schedule of multiple temperatures that vary over time (e.g., a first temperature for a first time period, a second temperature for a second time period, and a third temperature for a third time period).
[0157] At 410, the processor-based device sends the generated or determined cooking program to the cooking device. For example, Figure 1 The FPG system 108 may send the determined cooking program to the cooking device 104 directly through the communication network 110 or via the client computing device 102 .
[0158] The cooking device executes the cooking program at 412. For example, the cooking program may provide instructions to the cooking device to heat the liquid bath to 60°C, to remind the user to insert the food product into the liquid bath when the liquid bath reaches 60°C, and to maintain the temperature of the liquid bath for 3 hours.
[0159] At 414, the cooking device obtains measurements and stores these measurements as a time series in a data storage device. As discussed above, these measurements may be obtained by sensors that directly or indirectly measure one or more of temperature, power, fluid flow, presence or absence of food product, liquid level, power outage, etc. Figure 2 ) is obtained by recording measurements taken at different times. Time series data can be arranged in chronological or reverse chronological order. The time intervals between measurements can be constant or variable.
[0160] At 416, the processor-based device may receive some or all of the measurements obtained by the cooking device. For example, Figure 1 The FPG system 108 can obtain some or all of the measurements from the cooking device 104 directly over the communication network 110 or via the client computing device 102. In some embodiments, the cooking device can transmit a subset of the time series data, including the most recent measurements or measurements obtained since a previous successful transmission of measurement data to the client computing device or FPG system.
[0161] In addition to receiving time-series data, the processor-based device may also receive metadata, such as the type of cooking equipment, user information, or recipe information. If the data transmission includes all the information required by the FPG system to determine or update a cooking program, the transmission may be referred to as a "system status" transmission. If the data transmission does not include all the information required by the FPG system but is sufficient when combined with previously sent information, the transmission may be referred to as a "system status update" transmission.
[0162] At 418, the processor-based device may update the cooking program and / or generate one or more predictions regarding the cooking process based on the system state of the cooking device. As discussed above, the system state may be a combination of multiple system state updates. The updated cooking program may be sent to the cooking device for execution. For example, the updated cooking program may change the control of one or more operating parameters of the cooking device (e.g., temperature, time, speed, humidity, pressure, fan speed). The one or more generated predictions may be provided to the user via a suitable interface (e.g., a user interface of one or more computing devices and / or a user interface of the cooking device).
[0163] For example, based on the system status, the FPG system can determine how long it will take for the liquid bath of the cooking device to reach a set point temperature. As another example, the FPG system can determine when the food product will be heated to a specific temperature, and after heating to the specific temperature, the liquid bath can be maintained at the temperature or the temperature can be lowered to a safe holding temperature.
[0164] The FPG system can also determine when the food product has been heated to a specific fraction of the temperature difference between the temperature of the liquid bath and the initial temperature of the food product. For example, the FPG system can determine when the food product has been heated to 90% of the temperature difference between the temperature of the liquid bath and the initial temperature of the food product. After heating the food product to temperature, the liquid bath can be maintained at temperature or lowered to a safe holding temperature.
[0165] As discussed above, the processor-based device can display or cause to be displayed on a display of one or more computing devices or cooking devices the determined more accurate cooking process prediction. The user can then utilize the provided prediction for planning or other purposes.
[0166] At 420, the processor-based device ends method 400. Method 400 terminates at 420 until called again. Alternatively, method 400 may be repeated, for example, using control to return to 404 or 410. Alternatively, method 400 may be run in parallel with other methods or processes, for example, as one of multiple threads on a multi-threaded processor system.
[0167] In some embodiments, the FPG system can utilize feedback to prioritize and adjust one or more parameters (e.g., food preparation parameters, tips, recommendations) for a single user, a group, one or more friends of a single user, a geographic region, or all users. For example, in some embodiments, the FPG system collects ratings from users, and the ratings can be used to adjust one or more parameters or recommendations for one or more users. As another example, the FPG system can manually or automatically collect information from users or from third-party entities (e.g., social networks, retail websites, etc.), and the information can be used to adjust one or more parameters, recommendations, or other system features for one or more users.
[0168] As noted above, a cooking device, computing device, and / or FPG system may utilize various inputs to generate cooking programs, updates to cooking programs, and / or predictions regarding one or more cooking processes.
[0169] One such input is the power delivered by the cooking device. The power can be measured directly or indirectly, or one or more parameters can be used to obtain the power. For example, a sensor ( Figure 2) measures actual power, the sensor sensing one or both of the voltage and current consumed by the cooking device or provided by the cooking device to the heating element.
[0170] Generally, power (P) can be calculated using any two of power (V), current (I), and resistance (R). Specifically, P = V × I = V 2 / R=I 2 × R. Instantaneous power can be calculated using any pair of measurements taken at approximately the same time. Average power can be calculated by averaging a series of instantaneous power calculations. Average power can also be calculated using the following equation:
[0171] P AVG =V RMS ×I RMS × cos(θ),
[0172] Among them, V RMS and I RMS are the rms voltage and rms current, respectively, and θ is the phase angle between the voltage and current signals.
[0173] Any suitable voltage measuring device may be used to measure voltage and current. For example, current may be measured via a shunt resistor, a current transformer, a Hall effect sensor, etc. Resistance may be measured directly relative to a reference resistor of known value, or indirectly via any other measurement responsive to resistance.
[0174] As another example, power can be measured or determined based on a percentage or ratio of power from a controller (e.g., a PID controller). For example, if the maximum power of the system is known to be 1000 watts, and the PID controller is using 50% of the maximum power, the current output power can be determined to be 50% of 1000 watts, or 500 watts. In some embodiments, the output of the PID controller can be prescaled so that the output is already in watts, for example.
[0175] In some embodiments, the heating / circulation pump ( Figure 2 ) or other stirring system's inlet ("cold side") and outlet ("hot side") to measure or determine power. The temperature difference can be proportional to the specific amount of heat delivered by the working medium (e.g., water) and the mass of the working medium delivered. In some embodiments, the cooking device can be programmed to deliver a specified power (e.g., in watts), which can be known or obtained by the FPG system and used (e.g., instead of or in addition to obtaining power measurements) to update the cooking program or generate predictions about the cooking process.
[0176] Another input that an FPG system can use is temperature. For example, a cooking device can be equipped with a temperature sensor located at the inlet of a circulation pump or stirring system. The temperature sensor can be any suitable sensor, such as a thermocouple, thermistor, platinum resistance temperature detector (RTD), positive temperature coefficient (PTC) heater / element, or blackbody / infrared emission detector.
[0177] Another input that the FPG system can use is fluid flow. Any suitable device can be used to measure fluid flow in the cooking device, including (but not limited to) PTC heaters / elements, impellers, etc.
[0178] Other inputs that can be used by the FPG system include user inputs. These user inputs may include information about when the food product was inserted into the cooking device, characteristics of the food product, or information about the cooking device. For example, characteristics of the food product may include its mass or weight, volume, surface area, type, temperature, etc. Information about the cooking device may include the type of vessel in which the thermal immersion circulator has been inserted, whether the vessel is covered, the volume of liquid in the liquid bath, whether the vessel is insulated, etc.
[0179] The FPG system can also make assumptions about the cooking device that can circumvent the need to measure any one or more of voltage, current, or resistance to determine power delivery. As an example, the FPG system can use the output from a PID controller to estimate the power delivered by the heater. Further, the FPG system can make assumptions about the efficiency of the liquid bath for heating the food product, as measured by the surface heat transfer coefficient of the liquid to the food product. The FPG system can also make assumptions about the cooking device (e.g., vessel size) based on characteristics of the cooking device identified during previous use of the cooking device or during previous use of similar cooking devices. The characteristics of the cooking device can be based on the manufacturer's design or empirical measurements of the same or similar cooking devices, or based on physical calculations. As an example, assumptions can be made regarding the electrical characteristics of the cooking device's heater element, such as the resistance and temperature behavior of the heater element.
[0180] As another example, the ratio of the on-time to off-time of a cooking device's heater element (i.e., the duty cycle) can be used to scale an assumed or measured peak power to determine an estimate of average power. The duty cycle measurement can come from a variety of sources, including (but not limited to) the output of a PID controller controlling the operation of the heating element.
[0181] FPG systems can also make assumptions about the voltage of the power source. For example, in the United States, a 120 volt AC line can be assumed to be 120 volts AC + / - N%, where N is a number. Similarly, FPG systems can make assumptions about the power factor of the power source. For example, the power factor of the power source can be assumed to be close to 1, so that the current and voltage are in phase.
[0182] Figure 5A Graph 500 shows the temperature of a cooking device's liquid bath 502 and the temperature of the core of a food product 504 placed in the liquid bath during a normal cooking process. In the illustration, food product 504 is a 52 mm thick, 1.1 kg roast. In this example, food product 504 is cooked to a core temperature of 60°C. At the start of the cooking process (i.e., 0 minutes), the cooking device's heating element begins heating liquid bath 502 from an initial temperature of approximately 22°C to a set-point temperature of approximately 60°C. After approximately 50 minutes, liquid bath 502 has reached the set-point temperature of 60°C. Shortly after liquid bath 502 has reached the set-point temperature, food product 504 is inserted into liquid bath 502 of the cooking device. The core temperature of food product 504 slowly rises until it reaches approximately 1°C below 60°C (i.e., 59°C) at approximately 155 minutes, as indicated by arrow 506. The user can then remove food product 504 from the liquid bath.
[0183] Figure 5B is a graph 510 showing the temperature of a liquid bath 512 of a cooking apparatus and the temperature of a core of a food product 514 placed in the liquid bath during an accelerated cooking process. The food product 514 is also a roast having Figure 5A 5. At 0 minutes, the heating element of the cooking device begins heating the liquid in liquid bath 512 from an initial temperature of approximately 22° C. to an elevated temperature that is greater than the desired set point temperature of 60° C. In the example shown, the heating element heats liquid bath 512 to an elevated temperature of approximately 75° C.
[0184] After approximately 50 minutes, the liquid has reached 60°C. Shortly after liquid bath 512 has reached 60°C, food product 514 is inserted into liquid bath 512 of the cooking device while the temperature of the liquid bath continues to rise to approximately 75°C, which is approximately 15°C higher than the set point temperature of 60°C. Once the temperature of the liquid bath reaches 75°C, the temperature control of the cooking device allows the temperature of liquid bath 512 to drop to the set point temperature of 60°C. Because liquid bath 512 is at the elevated temperature, the temperature of the core of food product 514 rises relatively quickly (compared to a normal cooking process). After a determined time, the cooking program controls the cooking device to lower the temperature of liquid bath 512 to the set point temperature of 60°C for the remainder of the cooking process. In the example shown, the temperature of liquid bath 512 drops from 75°C to 60°C after approximately 70 minutes from the start of the cooking process. In some embodiments, the time that liquid bath 512 is maintained at the elevated temperature depends at least in part on a determination or assessment of when food product 514 will reach the set point temperature and / or an assessment of how long it will take for liquid bath 512 to cool from the elevated temperature to the set point temperature. Generally, liquid bath 512 should be at or near the set point temperature by or before the time that the temperature of food product 514 approaches the set point temperature.
[0185] In the example shown, at 104 minutes, the temperature of liquid bath 512 is reduced to the set point temperature, as indicated by arrow 516, at approximately the same time that the temperature of the core of food product 514 reaches approximately 1°C below 60°C (i.e., 59°C). Thus, using the accelerated cooking process, food product 514 is fully cooked in 104 minutes instead of 145 minutes. It should be understood that the various cooking parameters used for the accelerated cooking process may vary depending on various factors, such as the type of food, the desired degree of acceleration, finishing preferences, etc.
[0186] Figure 6-15 Various exemplary print screens or windows are shown that may be displayed as part of a method 400 for executing an FPG system for controlling the cooking of food in a temperature-controlled water bath (i.e., a sous vide process). Notably, the methods described herein provide a user with a media-based prompt (e.g., a visual and / or auditory prompt) describing two or more selections of finishing preferences for a food product, allowing the user to easily select a desired finishing preference for the cooked food product. The system and method then precisely controls the cooking device to cook the selected food to achieve the selected desired final preference or characteristics. Such finishing preferences or characteristics may relate to texture, consistency, doneness, crispness, etc.
[0187] For example, a user may initially open a particular application or select an icon displayed on a display of the user's computing device, such as Figure 1 In response, the processor-based display may cause the display or presentation of a home screen or introductory screen, such as Figure 6 The home screen is shown in screen print screen 600. The home screen includes a scrollable list of icons for various foods, including a steak icon 602, a salmon icon 604, and a chicken icon 606 depicting steak, salmon, and chicken pieces, respectively. A multipurpose icon 608 is also present in the lower right corner of the home screen 600, which can be used to display various data and can be selected by the user to perform various functions. For example, Figure 7 The screen print screen 700 of the home screen of depicts the multi-function icon 608 as displaying a current temperature reading (in degrees Celsius) of a liquid tank of a cooking appliance to which the user computing device is communicatively coupled.
[0188] Each food icon 602, 604, and 606 in the home screen may also include a download indicator (e.g., indicator 610, 612) that informs the user whether the cooking program for a particular food has been previously downloaded to the user's computing device. As shown, the "check marks" of icons 610 and 612 may indicate that the corresponding cooking programs for steak and salmon have been downloaded to the user's computing device. As an example, icons 610 and 612 may be displayed as an "X" or arrow to indicate that the cooking program has not yet been downloaded to the user's computing device.
[0189] In some implementations, food product icons can be arranged in layers. For example, food groups can be displayed at the top level (e.g., beef, poultry), and then different cuts of each food group can be displayed at lower levels. As a non-limiting example, a user can be allowed to sequentially select "beef," then "steak," and then "ribeye."
[0190] Figure 8 The steak icon 602 displayed on the home screen is shown in response to the user selecting the steak icon 602 (see Figure 6 and 7 ) and a screen print screen 800 for a steak cooking setup screen that can be displayed on a user computing device. The steak cooking setup screen can include an information section 804 that includes various information such as a title, estimated cooking / preparation time, and a description. The steak cooking setup screen can also include a background image or video 802 of a cooked steak. For example, the steak cooking setup screen can include a background video of a user cutting a steak with a knife. The video can loop continuously while the steak cooking setup screen is displayed.
[0191] The multi-purpose icon 608 may display the text "Next" to signal to the user that the icon may be selected to navigate to the next steak cooking setting screen ( Figure 9The steak cooking settings screen may also include a home icon 810 that navigates to a home screen and a menu icon 812 that, when selected, opens a menu that may include one or more user-selectable items (e.g., account profile, notification settings, user preferences).
[0192] The steak cooking settings screen may also include a tips icon 806 which, when selected, causes a number of cooking tips to be provided to the user (see Figure 15 ). Cooking tips may include one or more of text, audio, images and / or video.
[0193] The steak cooking setup screen may also include a side icon 808 that, when selected, causes one or more side dishes to be presented to the user. The one or more side dishes may depend on the specific food selected by the user. In some embodiments, upon selecting the side icon 808, recipes or links to recipes for the one or more side dishes may be presented to the user, allowing the user to prepare the one or more side dishes to accompany the selected food.
[0194] Figure 9 A print screen 900 is shown of a second steak cooking settings screen that may be displayed on a user computing device in response to a user selecting the "Next" multipurpose icon 608 in the first steak cooking settings screen shown in the print screen. Figure 9 The second steak cooking settings screen includes a plurality of rating icons 902, each rating icon corresponding to a different temperature (e.g., 52°C, 56°C, 60°C, 65°C), cooking time, or description of doneness (e.g., rare, medium, medium to medium rare). Upon selecting one of the icons 902, a background image or video 904 depicting food being cooked at the selected temperature is displayed on the user computing device. For example, when the user selects the icon 902 labeled "56°C," the background image or video 904 depicts a steak being cooked to 56°C. The second steak cooking settings screen may also include a back navigation icon 906, which, when selected, navigates back to the previous step. Figure 8 Steak cooking settings screen shown.
[0195] In the illustrated embodiment, a set of at least two graphical cues includes multiple videos (or animated images), each depicting a different texture or appearance of a cooked steak. For example, when a user scrolls from left to right to select icon 902, videos depicting steaks cooked at various temperatures, from rare to well-done, may be displayed on the computing device's display. Each video in the set may be accompanied by a text description and / or audio description. The audio description may be narrative and / or may include sounds produced as the food product is cut, sliced, broken, or placed on a plate or pan. In some embodiments, each video has a relatively short duration (e.g., 2 seconds, 5 seconds, 10 seconds, etc.) and depicts the food product (e.g., steak) during the action, such as being placed on a plate or cut. A user viewing one of the videos can observe the movement of the food as it is placed on a plate or cut to help the user determine the doneness, texture, or consistency of the food displayed in the particular video, picture, or image. In some embodiments, the videos, pictures, or images allow the user to view both the exterior and interior of the food.
[0196] In some embodiments, the set of at least two graphical cues 406 includes a set of still images in addition to a set of videos. In some embodiments, each video or image may also include audio that allows the user to view additional information about the characteristics of the cooked food (e.g., crispness, crunch, etc.). In some implementations, a set of audio clips is provided without visual cues.
[0197] In some embodiments, the user may be able to select a gradation (e.g., temperature, time, precision) other than the default gradation provided in the steak cooking settings screen so that the selection can be fine-tuned. For example, in the example shown, icon 902 includes adjacent selectable icons for 52°C and 56°C. In some embodiments, the user may be able to select a temperature between 52°C and 56°C (e.g., 54°C, 55.5°C). As an example, the user may be able to select one of icons 902 and slowly slide left or right to decrease or increase the temperature setting (or other gradient) respectively relative to the selected icon. Thus, while background image or video 904 may not be available for every possible gradient, the user may still be able to select a specific desired gradation (e.g., between rare and medium-rare) that may be between or outside the default gradation, which includes a corresponding background image or video 904.
[0198] The user may select one of the icons 902 indicating an ending preference for the meal, which selection may be detected by at least one processor of the user computing device.
[0199] In response to the user selecting one of the icons 902, the user computing device may display a Figure 10The first cooking screen is shown in a print screen 1000 of FIG. The first cooking screen includes an information portion 1002 that displays a set point temperature (e.g., 56° C.) and an estimated time for the cooking process to begin (e.g., “2 seconds to start”). The first cooking screen also includes the text “Cancel” 1004 located above the multi-purpose icon 608, which, when selected, cancels the cooking process.
[0200] Figure 11 A print screen 1100 is shown for a second cooking screen including a temperature display icon 1102 that provides a set point temperature setting and the current temperature of the cooking device in a relatively small font at a desired temperature setting in a larger font. Other user interface elements may be employed, including those typically associated with touch screen interfaces that allow for multi-finger input, tapping, and swiping.
[0201] Figure 11 The second cooking screen shown also includes a notification portion 1104, which notifies the user when the selected food is added to the cooking chamber of the cooking device. In the example shown, the notification portion 1104 instructs the user to "add food in 1 minute." Figure 11 The second cooking screen shown in also includes a viewing prompt icon 1106. When selected, the prompt icon 1106 can present one or more cooking prompts to the user. Such cooking prompts can include one or more of text, audio, image or video.
[0202] Figure 12 The print screen 1200 of the third cooking screen is shown, instructing the user to "Add Food Now" in the notification portion 1104. The notification may be a visual notification and / or an audible notification.
[0203] Figure 13 Print screen 1300 of a fourth cooking screen is shown, which provides the user with an estimated time until the food is cooked in notification portion 1104. In this example, notification portion 1104 displays the message "Ready in 10 minutes." As above, such an estimated time may be generated by the FPG system.
[0204] Figure 14 A print screen 1400 of the fifth cooking screen is shown, which provides an indication to the user that the food is ready in the notification portion 1104. In this example, the notification portion 1104 displays the message "Your food is ready."
[0205] Figure 15 A screen print screen 1500 shows a prompt screen that can be displayed in response to a user selecting a prompt icon (such as Figure 8 and Figure 11806 and 1104). In this illustrative example, the prompt screen includes a background image or video 1502 and a text portion 1504 located below the background image or video. The prompt screen also includes a more navigation icon 1506 that allows the user to navigate to multiple available cooking tips. In some implementations, the text portion 1504 can provide instructions or tips for an action (e.g., trimming a steak), and the corresponding background image or video 1502 can describe the action.
[0206] The foregoing detailed description has been described various embodiments of the device and / or process by using block diagrams, schematic diagrams and examples. Within the scope of these block diagrams, schematic diagrams and examples comprising one or more functions and / or operations, it will be understood by those skilled in the art that each function and / or operation in these block diagrams, flow charts or examples can be implemented individually and / or collectively by a large amount of hardware, software, firmware or in fact any combination thereof. In one example, this subject matter can be implemented via an application specific integrated circuit (ASIC). However, it will be appreciated by those skilled in the art that the embodiments disclosed herein in whole or in part can be implemented as one or more computer programs (e.g., one or more programs running on one or more computer systems), as one or more programs running on one or more controllers (e.g., microcontrollers), as one or more programs running on one or more processors (e.g., microprocessors), as firmware, or as in fact any combination thereof, in a standard integrated circuit, and according to the present application, the design of the circuit and / or the coding of the software and / or firmware will be within the technical scope of those skilled in the art.
[0207] Those skilled in the art will recognize that many of the methods or algorithms set forth herein may employ additional operations, may omit operations, and / or may perform operations in an order different from that indicated.
[0208] In addition, those skilled in the art will appreciate that the mechanisms taught herein can be distributed as a program product in a variety of forms, and that the illustrated embodiments apply equally regardless of the particular type of non-transitory signal-bearing medium used to actually implement the distribution. Examples of non-transitory signal-bearing media include, but are not limited to, recordable media (such as floppy disks), hard drives, CD-ROMs, digital tapes, and computer memory.
[0209] The various implementations described above can be combined to provide further implementations. The entire contents of U.S. Provisional Patent Application Serial No. 62 / 021,530 filed on July 7, 2014, U.S. Provisional Patent Application Serial No. 62 / 095,669 filed on December 22, 2014, U.S. Provisional Patent Application Serial No. 62 / 110,228 filed on January 30, 2015, and U.S. Provisional Patent Application Serial No. 62 / 195,199 filed on July 21, 2015 are incorporated herein by reference. If necessary, aspects of the implementations can be modified to adopt the systems, circuits, and concepts of the various patents, applications, and publications to provide further implementations.
[0210] These and other changes can be made to these embodiments in light of the above detailed description. Generally speaking, in the appended claims, the terms used should not be construed to limit the claims to the specific embodiments disclosed in the specification and claims, but should be construed to include all possible embodiments and the full scope of equivalents to which the claims are entitled. Therefore, the claims are not limited by the contents of this application.
Claims
1. A method of operating a processor-based food preparation guidance system, the method comprising: causing, by at least one processor, generation of a cooking program comprising at least one of instructions or data usable by a cooking device to perform a cooking process for a food product; controlling, by the at least one processor, the cooking device to execute the cooking process of cooking the food according to the cooking program; From time to time, receiving, by the at least one processor, status information data from the cooking device; as well as transmitting, by the at least one processor, the received state information data to a plurality of user computing devices via at least one data channel; receiving, by the at least one processor via a second user computing device among the plurality of user computing devices over the at least one data channel, a modification to the cooking program from a first user computing device among the plurality of user computing devices; modifying the generated cooking program in response to a received modification to the cooking program; and The cooking device is controlled by at least one processor to perform the cooking process of the food according to the modified cooking program.
2. The method of claim 1, further comprising: In response to receiving a modification to the cooking program from the first of the plurality of user computing devices, data indicative of the modification is sent by at least one processor to the plurality of user computing devices over the at least one data channel.
3. The method of claim 1 , wherein the modification to the cooking program is received from a first user computing device among the multiple user computing devices via a second user computing device among the multiple user computing devices through the at least one data channel, comprising receiving the modification to the cooking program from the first user computing device among the multiple user computing devices through at least a first data channel and a second data channel, the first data channel being different from the second data channel.
4. The method of claim 1 , further comprising: receiving, by at least one processor, location information from at least one of the plurality of user computing devices via the at least one data channel; as well as The received location information is logically associated, by at least one processor, in a non-volatile processor-readable medium with a physical location of the cooking device.
5. The method of claim 1 , wherein sending the received status information data to the plurality of user computing devices through the at least one data channel comprises indirectly sending the received status information data to the first user computing device among the plurality of user computing devices through the second user computing device.
6. A method as claimed in claim 1, wherein sending the received status information data to multiple user computing devices through the at least one data channel includes sending the received status information data to at least one of the multiple user computing devices through at least a first data channel of a first type and a second data channel of a second type, the first type and the second type being different.
7. The method of claim 1 , further comprising: Prior to the step of modifying the generated cooking program, in response to receiving the modification to the cooking program, at least one processor sends data indicating the modification to the plurality of user computing devices via the at least one data channel.
8. The method of claim 7, further comprising: After controlling the cooking device to perform the cooking process on the food according to the modified cooking program, at least one processor transmits updated status information data to the plurality of user computing devices through the at least one data channel.
9. A processor-based food preparation guidance system comprising: at least one processor; as well as At least one non-volatile processor-readable medium communicatively coupled to at least one processor and storing instructions or data executable by the at least one processor, wherein the at least one processor is in use: causing generation of a cooking program comprising at least one of instructions or data usable by a cooking device to perform a cooking process for a food product; controlling the cooking device to perform the cooking process of the food according to the cooking program; From time to time, receiving status information data from the cooking device; as well as transmitting the received status information data to a plurality of user computing devices via at least one data channel, receiving, via the at least one data channel, a modification to the cooking program from a first user computing device among the plurality of user computing devices, via a second user computing device among the plurality of user computing devices; modifying the generated cooking program in response to a received modification to the cooking program; and The cooking device is controlled to perform the cooking process of the food according to the modified cooking program.
10. The food preparation guidance system of claim 9, wherein at least one processor: In response to receiving a modification to the cooking program from the first of the plurality of user computing devices, data indicative of the modification is transmitted to the plurality of user computing devices via the at least one data channel.
11. The food preparation guidance system of claim 9, wherein at least one processor receives modifications to the cooking program from the first user computing device among the plurality of user computing devices via at least a first data channel and a second data channel, the first data channel being different from the second data channel.
12. The food preparation guidance system of claim 9, wherein at least one processor: receiving location information from at least one of the plurality of user computing devices via the at least one data channel; and The received location information is logically associated with the physical location of the cooking device in a non-volatile processor-readable medium.
13. The food preparation guidance system of claim 9, wherein at least one processor sends the received status information data indirectly to the first user computing device through the second user computing device.
14. The food preparation guidance system of claim 9, wherein at least one processor sends the received status information data to at least one of the plurality of user computing devices via at least a first data channel of a first type and a second data channel of a second type, the first type being different from the second type.
15. The food preparation guidance system of claim 9, wherein at least one processor: Prior to the step of modifying the generated cooking program, in response to receiving the modification to the cooking program, data indicative of the modification is transmitted to the plurality of user computing devices via the at least one data channel.
16. The food preparation guidance system of claim 15, wherein at least one processor: After controlling the cooking device to perform the cooking process of the food according to the modified cooking program, updated status information data is transmitted to the plurality of user computing devices through the at least one data channel.
Citation Information
Patent Citations
Food preparation control system
CN108027953A
Cooking apparatus, cooking system and cooking control method
CN1900858A
Food preparation system
US20040267382A1
Systems and methods for cooking with a smartcook architecture
US20140295822A1
Interactive recipe preparation using interactive cooking device to communicate with kitchen appliances
US8419434B2