My project - FridgePi


Fridge Pi

A device for managing groceries inside your refrigerator, which also supports an Android application for modifying your food list.

The background of this project

This project presents Smart Home concepts for Internet of Things (IoT) technologies that will make life at home more convenient. In this project, we first describe the overall design of a low-cost Smart Refrigerator built with Raspberry Pi. Next, we explain two sensors controlling each camera, which are hooked up to our Raspberry Pi board. We further show how the user can use the Graphical User Interface (GUI) to interact with our system. With this Smart Home and Internet of Things technology, a user-friendly graphical user interface, prompt data synchronization among multiple devices, and real-time actual images captured from the refrigerator, our system can easily assist a family to reduce food waste.


The programming languages we used


Qt/C++(GUI Program), Python/Raspberry Pi, Android, NodeJS(Back-end server), JavaScript, Google Firebase


Theory

In this project, we designed a listed view in the Android application to manage the food list. To insert a new item, users are encouraged to take a photo of the item, and fill in additional information such as expiration date, amount, and the location this item was stored. Before the expiration date of each item, the application will send a push notification to inform that the item has to be cooked or eaten. We also designed a device that can be installed inside existing refrigerators.
The device was built with a Raspberry Pi board with few sensors and cameras, and a touchscreen that runs a GUI system to manage food lists. A camera will be installed within a refrigerator to capture an image inside the refrigerator, triggered by a light sensor once the door was opened. This image will be uploaded to the Google Firebase, and sync with the Android application. We also designed a simple mechanism to insert items effectively. Below our device is another camera with an IR sensor. Once the insert action was triggered, the item can be "scanned" into the list by approaching the camera. The camera will take a picture of the item, users can insert detailed information of each item on their mobile application.
As a team leader, my main duty was to manage the development progress with my teammates. I was also responsible for designing the hardware architecture as well as developing the Qt application on the Raspberry Pi. I did lots of research in choosing the sensors and other components for our system, and both the API for the GUI application and the database. Additionally, I performed the project presentation at the end of the semester.
This project was also published at the IEEE International Conference on Edge Computing (EDGE) 2017. Here are the links to the presentation, publication and abstract.


System architecture/Screenshots


Acknowledgment

To my professor who supported us developing this project as well as helped me through preparing my presentation, Professor Yung-Ting Chuang. In addition, I would like to thank my dearest teammates, "Jordan" Chih-Yuan Wang, "Alice" Nai-Chen Guo, and "Harry" Yen-Hung Liao