Förderjahr 2022 / Stipendien Call #17 / ProjektID: 6424 / Projekt: Energy-efficient IoT by Continual Learning for Data Reduction
In the previous article, we discussed the architecture of our proposed framework to reduce data and increase energy efficiency in IoT (Internet of Things) systems. The framework, which we now call SenseReduce, uses prediction to minimize the amount of data that needs to be transmitted. We've now implemented the first version of this framework and made it available on GitHub for others to use. We've also tested it in various scenarios to evaluate its efficiency in different deployment scenarios. The results of this parameter study will be analyzed and discussed in the thesis.
This article, however, will focus on our prototype evaluation of SenseReduce. We put it to the test by using it on a Raspberry Pi to monitor indoor temperature. This proof of concept shows that SenseReduce can be used in real-world situations to help manage data in IoT systems. Our goal is to make IoT systems more energy efficient, and our testing with the Raspberry Pi is an essential step towards achieving that goal.
Setup
The prototype setup consisted of a Raspberry Pi 4 Model B with 2GB RAM and an HP ZBook 14U G4 laptop. We connected a DS18B20 sensor to the Raspberry Pi (RPi) to measure the temperature. We joined the required components using this tutorial, but one can find many other guides with a quick Internet search. The script for reading the sensor measurements is contained in the open-source repository (link).
We tested different neural network-based prediction models, one of them being the Long Short-Term Memory (LSTM) network. However, the TensorFlow framework only supports LSTM networks starting from version 2.5, which is not readily available for the RPi. To overcome this issue, we applied the instructions provided in this open-source repository to install TensorFlow 2.10.
Reducing Energy Consumption
We reduced the idle energy consumption of the Raspberry Pi by turning off unnecessary onboard features such as Bluetooth, USB, and Ethernet, following online guidelines (link1, link2). Communication within the SenseReduce framework is always initiated by a sensor node. Therefore, we can turn off the Wi-Fi between message transmissions (also called duty cycling), resulting in even more energy savings. In total, we were able to decrease the energy consumption by about 20%, resulting in an average energy consumption of 1.9W as measured by a GW Instek GPM-8213 power meter.
We trained a univariate prediction model for indoor air temperature forecasting using the publicly available Intel Berkeley Research Lab dataset. This model was then used in the SenseReduce framework for prediction-based data reduction. We deployed a TensorFlow Lite version on the RPi and let it run for five days, observing its energy consumption and the correctness of the measurements.
Our findings show that the SenseReduce framework does not significantly increase energy consumption. Although computing predictions using a neural network requires a significant amount of computation, the overall energy consumption is not affected as it only occurs a few times a day with a model with sufficient prediction accuracy. Overall, SenseReduce is a viable solution for increasing energy efficiency in IoT systems.