The Kitchen Node is one of the more complex nodes of the Super Smart Home; this complexity depends mostly on the sophisticated logic of the software that should run fast and efficiently but keeping under control many different parameters that interact together. Another aspect representing a further complication is that the node should be autonomous when a critical situation happens, providing immediate feedback locally. At the same time, the node status should be constantly monitored by the Control Center and the strategical data should be available on the AWS portal.
The submodules of the Kitchen Node are though to be easy to install in the right place, a system widely adaptable to a generic kitchen to improve the user experience in a secure place where the owner can express its culinary creativity. As a matter of fact, my personal kitchen has been used as a model where the node can be installed without underestimating the variability of this kind of home work-area.
I focused on the kitchen living environment a series of strategical points; the dog water bowl, obviously, is not applicable everywhere and it is a module that can potentially be connected to some other node inside the home. I consider strategical the parts of the kitchen presenting potential risk factors that can be reduced. We should also consider that the node itself should e able to react immediately with direct feedback when some of the focused risk conditions happen.
The node model can be identified by three kinds of actions:
- Continuous status detection (via a series of sensors)
- Immediate feedback (to reduce or stop risky conditions) alerting the user
- Hierarchical escalation of the alerts and statuses
Based on these points the approach strategy is creating a state-driven machine where each module can run independently following the general logic shown in the scheme shown in the video below:
- Sensors collect data and update the sensors' data structure. This task is operated continuously in the main loop. Only if an alarm condition occurs, the system stops, signal the alarm and wait for a manual intervention
- Every reading cycle the raw sensors data are integrated together. When some kind of result changes, a notification is generated; there are several classes of notifications:
- Alarm: activity is blocked and manually unlock is required; the alarm condition raise to the Super Smart Home Control Center (Raspberry Pi) and the information is sent to the AWS cloud via the PSoC6 node
- Minor notifications: the Super Smart Home Control Center is not involved, only the device panel LEDs are updated as these are considered part of the regular activity.
- Important notifications: are information interesting for statistic purposes and are sent to the Super Smart Home Control Center. Only some of these notifications are grouped (integrated) and sent to the cloud.
- The integrator detects alarm conditions (if any). Immediate feedback is provided to block the risk condition through the actuator and the sensor stops limiting the monitoring if the alarm condition persists.
- A manual "alarm unlock" action is needed when a critical alarm occurs.
- Panel LEDs notifications are updated accordingly
- If a notification should raise the Control Center it is sent via WiFi and ESP8266.
The doc water bowl should be kept refilled with fresh water pumped from a 10 liters canister profiting water to the dog when he is alone at home.
The gas last pipe is controlled by a specific gas electro valve. This solution permits to keep under control the gas flow only when needed.
The cooking plate is the riskiest part of the kitchen environment and should only work when it is used for cooking. With a few modifications, the module can also be modified to be applicable to glass-ceramic inductive cooking plates.
Cooking Light and Aspirator Fan
The hood light over the cooking plate use should be optimized and powered only when someone is nearby the area. The aspirator fan, instead, should be activated when the temperature reaches a trigger value (I set to 100 C) and should run until the cooking has been completed.
To set up the Kitchen Node I figured out sensors and components needed to keep under control all the parameters described above. I pointed out the choice of the components to keep some more maneuver space for further updates and other kitchen appliances inclusion.
Due to the considerable number of different signals to be managed, I decided to use an as the main microcontroller unit.
I have used a release 3 model (a bit different in the board components disposition) but the pinout above of the previous hardware release is more complete showing the entire pinout. The reason for this choice is not only based on the number of available GPIO pins but also because there are multiple TTL serials that can simplify to include (both connected with TTL serial) the ESP8266 IoT Web Server and the microSD mp3 player used for voice alerts and notifications.
The access to the WiFi local network (all the Super Smart Home nodes are connected to the Control Center Raspberry Pi) is granted by an ESP8266-01 configured as an HTTPS web server.
- Two HC-SR04 ultrasonic sensors for the activity detection nearby the cooking plate; one sensor is used to detect human presence while the other is targeted a few centimeters above the cooking plate to detect the presence of pans.
- A MQ-02 gas sensor to detect the presence of gas with no flame.
- An HX711 load weight sensor to detect the weight of the water in the water dog bowl
- A Max6675 thermocouple to monitor the cooking plate temperature
- A Four Channels Reay board. The relay can work also at 220V 10A
- An L298 motor controller to manage the DC water pump
- A Water Pump12V to refill the dog water bowl
- A Gas electro valve to control the gas flow to the cooking plate
As I need several kinds of power supply, I have adopted the same solution adopted for the Doo Node, an ATX switching power supply, 600W.
Already Posted (until now)
Sources, Circuits, and Documentation
All the software sources, scripts, circuits schematics, and more are available as Open Source material on the SuperSmartHome GitHub repository.
The video episodes of this challenge are repurposed on the blog posts of the site we-are-borg.com
Element14, AWS, and Cypress, main sponsors
Elegoo for 3D printers ad printing material
Digitspace for sensors, actuators, and boards