The Deviridi project is an Internet of Things (IoT) solution designed to monitor food spoilage. The project involves building a device that can be placed inside a refrigerator or food storage unit to monitor the temperature and humidity levels. The device uses sensors to measure these parameters and sends the data to a cloud-based server via Wi-Fi. The data is then analyzed and displayed on a web-based dashboard that allows users to monitor the conditions of their food storage units in real time. The dashboard also provides alerts when the temperature or humidity levels exceed certain thresholds, which can help prevent food spoilage and waste. The project is aimed at helping individuals and businesses maintain food safety and reduce food waste.
Seeed Hardware: Seeed Studio K1100
Software: Arduino IDE, TensorFlow
Industry: Food Industry
Food spoilage and harvest loss are two significant issues that contribute to food waste and have far-reaching impacts. The Rockefeller Foundation estimates that smallholder farmers and supply chain actors in developing countries lose an average of 15% of their income due to food spoilage. Addressing the issue of food spoilage could potentially feed one billion more people by 2050. The primary problems faced by farmers in developing countries are food storage and the detection of spoiled foods, which can result in significant costs for both farmers and processing companies. Food waste in the agriculture sector is a growing contributor to greenhouse gas emissions, with an estimated 50% of post-harvest crops wasted in Kenya. This not only results in the loss of edible food but also contributes to methane production, which is 25 times more effective at trapping heat than carbon dioxide. Current methods of detecting spoilage are qualitative, but using the detection of released gases and computer vision can provide a more effective solution. A low-cost solution is needed to improve food preservation and detect food spoilage to ensure food quality.
The potential for food spoilage sensing systems in domestic usage is significant, as they can help reduce food waste and improve food safety for both individuals and businesses. With the increasing importance of sustainable food systems, the adoption of such systems can contribute to a more environmentally and economically sustainable future.
When building a food spoilage sensing system poses several challenges, including:
- Sensor Selection: Selecting the right sensors that can accurately measure the parameters that affect food spoilage, such as temperature, humidity, and gas concentrations, can be challenging.
- Calibration: Sensors must be calibrated to ensure that they provide accurate and consistent measurements over time. Calibration can be time-consuming and requires specialized equipment, expertise, and regular maintenance.
- Data Processing: Collecting and processing large amounts of data generated by the sensors can be challenging, particularly in real time. The data needs to be processed quickly and accurately to detect any changes in conditions that may lead to spoilage.
- Connectivity: The system must have a reliable and stable internet connection to transmit data to a cloud-based server. In areas with poor connectivity, this can be a significant challenge.
- Cost: Building a food spoilage sensing system that is cost-effective and scalable can be challenging. The system must be affordable for farmers and food processing companies, particularly in developing countries, where resources may be limited.
- Integration: The system must be integrated with existing food storage systems and processes, which can be challenging, particularly if the systems are outdated or incompatible with new technologies.
SenseCAP K1100 is a versatile IoT environmental monitoring system that can be integrated into the Deviridi IoT food spoilage sensor and monitoring dashboard project in several ways:
- Diverse sensor selection: Seeed offers a wide range of sensors, including humidity and temperature sensors, which are commonly used in food storage applications. This allows users to customize their monitoring system according to their specific needs.
- Real-time calibration: The SenseCAP K1100 can acquire data in real time, making calibration easier and more accurate.
- Easy data processing: The system can be built in just three steps in 10 minutes, making it easy to set up and use. This helps streamline the data processing and analysis process.
- Multiple connectivity options: The SenseCAP K1100 supports both WiFi and LoRa, which has built-in IoT features such as low power consumption and long-range communication. This provides flexibility in terms of connectivity options.
- Cost-effective: The all-in-one solution pack offers all the necessary components at an affordable price. Additionally, the system can be easily upgraded to an industrial level, which is also cost-friendly.
- Smooth integration: SenseCAP offers a seamless integration experience with cloud service providers, making it easy to store, analyze, and visualize data.
The whole system can be set up in just two sections:
Section 1 Computer Vision Model: Food Spoilage
To create a good predictive model for the Deviridi IoT food spoilage sensor and monitoring dashboard project, the following steps are required:
Step 1: Obtain the Image Dataset
The dataset used is crucial for creating a good predictive model. The BRAC University Fruit Freshness Detection Dataset can be downloaded from https://universe.roboflow.com/brac-university-v9w2y/fruit-freshness-detection-08shj. Alternatively, users can create their own dataset of images using a tool like Roboflow or Edge Impulse.
Step 2: Train Computer Vision Model
A Colab notebook is available at https://colab.research.google.com/gist/lakshanthad/b47a1d1a9b4fac43449948524de7d374/yolov5-training-for-sensecap-a1101.ipynb#scrollTo=Fg4hIoyzE-Qe. Follow the steps on the notebook to train the model. The training time depends on the hardware used. After training, download the trained .uf2 model.
Step 3: Port Trained Model onto Hardware
Plug the Grove camera sensor into the computer and double-click the boot button. A storage drive should appear on the computer. Drag and drop the trained model onto the sensor to complete the porting process.
By following these steps, users can create a predictive model for the Deviridi IoT food spoilage sensor and monitoring dashboard project and port the model onto the Grove camera sensor.
Section 2: Building with Wio Terminal
To complete the Deviridi IoT food spoilage sensor and monitoring dashboard project, the following steps are required:
Step 4: Connect Sensors to Wio Terminal
Attach the camera and LoRa module using the connectors provided in the kit, and connect the VOC/CO2 sensor to the Wio terminal.
Step 5: UX Design with Figma
Use Figma to create a simple mockup of the GUI before coding it in Arduino IDE.
Step 6: Code the GUI on Arduino IDE
Install the TFT_eSPI.h library, create a sprite buffer, and use pseudocode or the provided code on GitHub to create a similar GUI as the mockup.
Step 7: Install Prerequisite Sensor Libraries
Check the list on GitHub to install all the necessary libraries for the sensors and connectivity.
Step 8: Use State Control and Program Sensor Values
Use state control to debug the program, and follow the order of operations to get temperature and humidity, gas sensor value, and camera classification, trigger warning for rotten food if needed, and send data to SD card and LoRa.
Step 9: Connect to LoRa and Helium Network
Add custom decoder code and connect the function and device using the flows panel.
Step 10: Enclosure Design and 3D Printing
3D print the provided enclosure and fit the device into the slots, including wire management.
The final product is a device that can detect and monitor food spoilage with a user-friendly GUI and is connected to the LoRa and Helium networks.
The Deviridi IoT food spoilage sensor and monitoring dashboard project is a comprehensive solution for detecting and monitoring food spoilage. The project uses computer vision and machine learning to detect food spoilage, and LoRa and Helium networks to transmit the data to the cloud for monitoring.
The project involves obtaining an image dataset, training a computer vision model, connecting sensors to the Wio Terminal, designing the UX with Figma, coding the GUI on Arduino IDE, installing prerequisite sensor libraries, using state control and programming sensor values, connecting to the LoRa and Helium network, and designing and 3D printing an enclosure for the device.
By following the steps outlined in the project, users can create a device that can detect and monitor food spoilage with a user-friendly GUI and connect to the LoRa and Helium networks. This project has the potential to be used in a variety of settings, such as restaurants, supermarkets, and homes, to prevent food waste and ensure food safety.