1. Field
This application relates generally to ovens, and more specifically to a system, article of manufacture and method of a smart oven.
2. Related Art
A microwave oven can be a device that cooks food by using microwave energy generated from magnetron. Current microwave ovens have both manual cooking functions and automatic cooking functions. When the manual cooking function enables a user to adjust the output level and cooking time manually, the automatic cooking function cooks food automatically by selecting an item from menu without separately adjusting the cooking time. Automatic cooking functions in current microwave ovens are preset and static. In view of this, improvements may be made over conventional methods if, for example, a user were able to download recipes from a remote crowd-sourced database and/or modified said recipes. These recipes could then be automatically executed by the microwave oven.
In one aspect, a smart-oven system includes a recipe module accessing a remote recipe database that comprises one or more recipe instructions, and downloading a downloaded recipe instruction to a local memory of the smart oven. A user-input module receives a user-specified cooking instruction. A cooking module manages one or more oven heating mechanisms in the smart oven according to the downloaded recipe instruction and the user-specified cooking instruction. A personalization module obtains a personalized recipe from a user of the smart oven and uploading the personalized recipe to a remote recipe database. A crowd sourcing module records user entered recipe instructions and automatically calculates cooking time and constitutes both into a complete recipe to be uploaded in the recipe store.
Optionally, the user-specified cooking instructions can include a modification of the downloaded recipe. The modification of the downloaded recipe is uploaded by the personalization module to the remote recipe database. The modification of the downloaded recipe is stored in the remote recipe database if the modification of the downloaded recipe comprises a minimum of three steps, at least one oven trigger signal, a fixed temperature range, and a fixed cooking time range.
The present application can be best understood by reference to the following description taken in conjunction with the accompanying figures, in which like parts may be referred to by like numerals.
The Figures described above are a representative set, and are not an exhaustive with respect to embodying the invention.
Disclosed are a system, method, and article of manufacture of a smart-microwave oven, according to some embodiments. The following description is presented to enable a person of ordinary skill in the art to make and use the various embodiments. Descriptions of specific devices, techniques, and applications are provided only as examples. Various modifications to the examples described herein may be readily apparent to those of ordinary skill in the art, and the general principles defined herein may be applied to other examples and applications without departing from the spirit and scope of the various embodiments.
Reference throughout this specification to “one embodiment,” “an embodiment,” “one example,” or similar language means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the present invention. Thus, appearances of the phrases “in one embodiment,” “in an embodiment,” and similar language throughout this specification may, but do not necessarily, all refer to the same embodiment.
Furthermore, the described features, structures, or characteristics of the invention may be combined in any suitable manner in one or more embodiments. In the following description, numerous specific details are provided, such as examples of programming, software modules, user selections, network transactions, database queries, database structures, hardware modules, hardware circuits, hardware chips, etc., to provide a thorough understanding of embodiments of the invention. One skilled in the relevant art can recognize, however, that the invention may be practiced without one or more of the specific details, or with other methods, components, materials, and so forth. In other instances, well-known structures, materials, or operations are not shown or described in detail to avoid obscuring aspects of the invention.
The schematic flow chart diagrams included herein are generally set forth as logical flow chart diagrams. As such, the depicted order and labeled steps are indicative of one embodiment of the presented method. Other steps and methods may be conceived that are equivalent in function, logic, or effect to one or more steps, or portions thereof, of the illustrated method. Additionally, the format and symbols employed are provided to explain the logical steps of the method and are understood not to limit the scope of the method. Although various arrow types and line types may be employed in the flow chart diagrams, and they are understood not to limit the scope of the corresponding method. Indeed, some arrows or other connectors may be used to indicate only the logical flow of the method. For instance, an arrow may indicate a waiting or monitoring period of unspecified duration between enumerated steps of the depicted method. Additionally, the order in which a particular method occurs may or may not strictly adhere to the order of the corresponding steps shown.
Cloud computing can include the delivery of computing as a service, whereby shared resources, software, and information are provided to computers over a network (e.g. the Internet).
Crowdsourcing can include the process of obtaining needed services, ideas, or content by soliciting contributions from a large group of people, and especially from an online community, rather than from traditional employees or suppliers.
Gesture recognition can include a topic in computer science and language technology with the goal of interpreting human gestures via mathematical algorithms. Gestures can originate from any bodily motion or state but commonly originate from the face or hand.
Oven trigger can be any action that affects the operation of the oven. It can include such actions as, inter alia: a start, stop, setting the time or setting the temperature of the oven.
Smart device, in one example, can include a securely managed electronic system that runs a high-level operating system and autonomously: connects to the Internet (and/or other computer networks), executes native and/or cloud-based applications, and/or analyzes data collected.
Switched-mode power supply (SMPS) can be an electronic power supply that incorporates a switching regulator to convert electrical power efficiently.
Exemplary Computing Systems, Environment and Architecture
Exemplary Processes and Use Cases
In one example of process 500, microprocessor 202 is connected to the LCD touch panel which displays ingredients list and each step of cooking. All the available recipes and their details are listed in this touch panel according to the categories. The touch panel also takes user input and sends it to the microprocessor. The microprocessor fetches the recipe according to the user's choice only. A speaker can reads out the instructions step by step. This voice assisted cooking is easier and more efficient. A microphone can record a user's voice in a computer-readable medium and pass that data to microprocessor 202 for processing. A proximity sensor can detect any objects in near a specified surface of microprocessor 202. Microprocessor 202 can take corresponding actions based on that input. In the event that a step in the recipe is an oven triggering signal (e.g. an instruction to switch on the microwave/grill/fan/convection for a given time period) then microprocessor 202 communicates this instruction to the oven relays to perform a specified action.
In one example of process flow 600, a smart-microwave oven can start for the first time. Smart-microwave oven can display recipes based on categories which is stored in local database. The user can then select the recipe of the user's preference from list. During this process the smart-microwave oven can record time of use, type of recipe, search query, if any, selected recipes, calories of the recipe selected, quantity, region and/or country. During the next oven use, the recipes can be reordered and displayed in such a way that the previously selected recipes and the ones that are similar to it will be shown on top of list. From the third time usage of smart-microwave oven intelligently displays recipes by reordering the recipes based on comparing and giving weightage to pre-recorded data and sorting the list based on those preferences and its weightage. Each time the smart-microwave oven learns user preferences by recording time of use, type of recipe, selected recipes, calories of the recipe selected, quantity, region and country and continues to learn the user's dietary habits and shows recipes, health tips and cooking tips based on this.
In step 702, the user input a recipe. In step 704, the recipe is included in a crowd-sourced recipe database (e.g. in a remote server and/or in a cloud-computing platform). In step 706, it can be determined if the recipe has a minimum of three steps. If yes, process 700 proceeds to step 708. In step 708, it can be determined if at least one smart-microwave oven trigger is included in the recipe. If yes, process 700 proceeds to step 710. In step 710, it can be determined if the smart-microwave oven temperature for the recipe is fixed between a minimum and maximum temperature. If yes, process 700 proceeds to step 712. In step 712, it can be determined if the smart-microwave oven cooking time for the recipe is fixed between a minimum and maximum time range. If yes, process 700 proceeds to step 714. In step 714, the recipe can be included in a recipe database. In step 716, the recipe can be accessed by the smart-microwave oven and displayed on the smart-microwave oven's display (and/or other user interface such as provided via a speaker phone, etc.).
Example Use Cases
The smart-microwave oven can be a microwave oven that has smartness integrated to it. The smart-microwave oven can utilize an Android® or Linux® powered panel compared to ordinary user consoles. The smart-microwave oven can synchronize recipes from the Internet (and/or other remote database) and cook dishes automatically once the ingredients required are provided. Dishes can be cooked automatically. The user need not know any recipes or how to operate an oven. The smart-microwave oven can stream cookery videos from the Internet (and/or other remote database) so that the user can cook a dish while watching the video. The smart-microwave oven can include an ingredients search functionality. The ingredients search functionality can enable the user clicks on the name of an ingredient and the user is shown an image of the same. This can assist in identifying ingredients. The user also has the provision for entering his/her own recipes which will be stored in the smart-microwave oven and can be used for cooking later. The user can also share recipes through online social media websites. The smart-microwave oven can be controlled by user's voice using voice recognition technology. Also user can give instructions to the smart-microwave oven using proximity sensor. The smart-microwave oven can connect to the Internet and updates its recipe database with the new recipes in a remote database. The smart-microwave oven can also retrieve relevant video files and stored in its database. Required videos can be downloaded from the Internet and played with a video player in the smart-microwave oven.
The Android® and/or Linux® operating systems can provide a GUI for the smart-microwave oven (and/or other type of smart oven). The operating system can receives the input from the user and processes it and passes the corresponding actions to a microcontroller. The operating system can work as the embedded operating system for the smart-microwave oven. The operating system can process voice of the user (e.g. with voice recognition algorithms) and/or user's input on a proximity sensor (and/or other type of user gesture input system) and perform corresponding instructions. Instructions can also be received from a touch screen system. For example, a user selects a corresponding food-item dish from a main menu in touch screen LCD display and device checks whether dish is available or not in the local storage. In case dish is not available in data of device, the device downloads the recipe list as well as cooking methods from the internet from a common recipe portal website and shows the user how to cook along with voice assist. The user performs the corresponding actions prescribed by the smart-oven system and closes the door then the oven self-adjust the temperature and time for cooking that dish. The Android® or Linux® operating systems can manage a GUI for the smart-oven system. It receives the input from the user and processes it and passes the corresponding actions to a microcontroller. The microprocessor also obtain input from a microphone. The microcontroller can turns on/off the grill, microwave, convection, fan, motor relays, etc. The smart-microwave oven can be controlled over a phone via Bluetooth®.
An example of recipe personalization is now provided. The list of recipes can be personalized based on the such factors as, inter alia: last cooked dish; recently cooked dishes; main ingredients often cooked; body-mass-ratio (BMR) of the user; time of the day (e.g. breakfast, lunch or dinner); user feedback (e.g. up-votes & down-votes, etc.). A recipes table can shows the list of recipes with associated weights. These weights can used to calculate the priority of the dish in the list. In one example, each recipe can have a base weight of one-hundred (100). The last-cooked date can be provided. By default, the last-cooked date can be the 25th June 2012. The number of up-votes and down-votes received for every recipe can be provided. A caloric value of one serving (e.g. in kCal) can be provided. An ingredients table can show a list of ingredients with associated weights. These weights can be used to order recipes containing those ingredients in the recipe list. Every ingredient can have an initial base weight of one-hundred (100). Every recipe can be mapped to one main ingredient. One method of calculating a BMR of a user (e.g. according to the Harris-Benedict equation) can be: Man=88.362+(13.397*weight in kg)+(4.799*height in cm)−(5.677*age in years); Woman=447.593+(9.247*weight in kg)+(3.098*height in cm)−(4.330*age in years) with kCal needed per day=BMR*1.55 (for an average person). If details are not provided, then kCal needed=2000 kilocalories (kCals). Recipes, while uploading, can be tagged with options like breakfast, lunch, dinner, etc. This would be matched with the time of cooking and considered for priority ordering. Recipes can be up-voted and down-voted. This affects the recipe listing globally and is given less priority. When cooking, the total number of recipes be some a first variable and total number of ingredients be a second variable. Once an ingredient is searched, then a score (e.g. of 100/(the second variable)) and can be added to the ingredient's score. When a recipe is selected for cooking, then a score of (e.g. 100/(the first variable)) can be added to the recipe's score. The last cooked time can be updated. The main ingredient of the recipe selected for cooking gets a score of (100/(the second variable) can be added to the score. A recipe can be up-voted or down-voted after and only after cooking it. Average kCal consumed per day per person can be updated. While listing recipes, the time of the day can be checked (e.g. breakfast, dinner and/or lunch). The last cooked dish for that time of day can be automatically brought to the top of the recipe list. The score of every other recipe can be calculated. For example, an ingredient score can equal the score of the main ingredient of the recipe. The recipe temperature can equal the recipe score divided by the time since last cooked. The time since last cooked can be set to the current UNIX timestamp minus the last cooked timestamp. A vote ratio can be calculated based on the following equation: vote ratio=(1+up-votes)/(1+down-votes). A net recipe score can be calculated based on the following equation: net recipe score+recipe score+recipe temperature+ingredient score+vote ratio. The required kCal for the day can be calculated from the already obtained value. In one example, for breakfast, half of the value may be used. For lunch and/or dinner, a quarter of the value is taken. This can be set as the kCal value. A kCal score of a recipe can be calculated based on the following equation: kCal score of a recipe=(required kCal value−kCal value of the recipe)/1000 and multiply with −1 if negative value. A final recipe score of a recipe can be calculated based on the following equation: final recipe score=net recipe score−kCal score of a recipe. Accordingly, recipes with closer value to average kCal requirements stay on top. A descending order list is made based on the final recipe score of every recipe. This list of (x−1) items is divided into (x−1)/10 equal arrays. Every array is then sorted according to the current time of the day−breakfast->lunch->dinner->breakfast . . . . This ensures that most probable item to be cooked stays on top of the list. All the ((the first variable)−1)/10 arrays can be appended back together to form the final list of recipes.
At least some values based on the results of the above-described processes can be saved for subsequent use. Additionally, a computer-readable medium can be used to store (e.g., tangibly embody) one or more computer programs for performing any one of the above-described processes by means of a computer. The computer program may be written, for example, in a general-purpose programming language (e.g., Pascal, C. C++, Java, Python) and/or some specialized application-specific language (PHP, Java Script, XML).
Although the present embodiments have been described with reference to specific example embodiments, various modifications and changes can be made to these embodiments without departing from the broader spirit and scope of the various embodiments. For example, the various devices, modules, etc. described herein can be enabled and operated using hardware circuitry, firmware, software or any combination of hardware, firmware, and software (e.g., embodied in a machine-readable medium).
In addition, it will be appreciated that the various operations, processes, and methods disclosed herein can be embodied in a machine-readable medium and/or a machine accessible medium compatible with a data processing system (e.g., a computer system), and can be performed in any order (e.g., including using means for achieving the various operations). Accordingly, the specification and drawings are to be regarded in an illustrative rather than a restrictive sense. In some embodiments, the machine-readable medium can be a non-transitory form of machine-readable medium.