Smart Toaster IoT Project
- Category: IoT, Machine Learning, Cloud Computing
- Technologies: Micropython, C++, Arduino, ESP32, Flask, AWS Lambda, AWS IoT, AWS Rekognition
- Skills: Presenting & Demonstrating, Agile methodology, Pair Programming, Resource-Constrained Devices
- Repository: Github Link
- Report: Read Here
A project as part of my Internet of Things module to design a smart toaster that recognises a persons face and adjust the toaster settings accordingly. The toaster artefact includes three ESP32 microcontrollers and a range of actuators and sensors.
The first microcontroller is attached to an ultrasound which detects when a user approaches the toaster.
This microcontroller signals to the ESP-EYE to capture a photo of the user. This is done over a Local Area Network.
Once the ESP-EYE microcontroller captures the users face, the image is sent to AWS IoT Core, a service provided by Amazon Web Services to handle IoT and Edge Devices. This upload is done using the MQTT internet messaging protocol and images are delivered to an AWS S3 bucket.
The person in the image is recognised using AWS Rekognition. The person is then matched with their profile settings which is set up on a Flask app that resides on AWS Elastic Beanstalk. Transitions between AWS services are handled by AWS Lambda functions.
The settings are returned to the toaster over MQTT. Once the third ESP32 microcontroller receives the settings, a servo motor is trigger to adjust the dial of the toaster!