Our feature on the iDP website
As part of my minor in the Innovation and Design program at NUS, I had to complete a prototyping project. Along with a team of three other engineers, we built an IoT system which was able to detect inefficiencies in the cooling setup within one of DB Schenker's cold warehouses. I was in charge of developing the firmware for the sensor device as well as the backend to collect and process the data. We utilized technologies like ESP32, Raspberry Pi, 4G, LoRAWAN, and Modbus to deliver a complete solution.
When we set out to do this project, we were first presented with a series of documents and presentations on the warehouse's HVAC system. Right away, we were able to identify some inefficiencies with the setup, but we needed to collect data to confirm our suspicions. To solve DB Schenker's issue of high power consumption, we proposed to develop an IoT system which was capable of monitoring both the environment inside the warehouse and the live power consumption of the warehouse.
Firstly, the temperature and humidity sensors were built using ESP32 devices running the Arduino Framework. They connected to temperature sensors and forwarded data to the gateway over ESP-NOW (a proprietary long range communication protocol utilizing the same hardware as Wi-Fi).
Secondly, our energy consumption sensor was built using an off-the-shelf Modbus to LoRAWAN transmitting device, which was a nightmare to configure but eventually provided results after a long day of installation and testing.
Thirdly, our gateway device was built using a Raspberry Pi, connected to the internet via a 4G HAT (to separate it from their internal network). The Raspberry Pi interfaced with an ESP32 connected via a serial connection to receive ESP-NOW messages from the rest of the sensors. It also provided connection over Ethernet to the off-the-shelf LoRAWAN gateway.
Finally, our backend was written by me in Python and JavaScript. It displays recent data in a graphical format on a web interface. The data itself is pulled from InfluxDB (a time-series database), which stores the data from the temperature sensors, as well as The Things Network, which receives LoRAWAN messages from the gateway.
One of the largest challenges we faced was how to measure the power consumption of the warehouse. We initially proposed to install inline meters to determine the power draw of each compressor unit, but this idea was shot down due to the safety concerns of having students install devices on live power lines. However, after we visited the warehouse, we were able to determine a viable solution. It turned out that their existing meters, while not IoT-compatible, did have traditional ICS capabilities (via Modbus). Although it was outside of my comfort zone, after doing a lot of research, I figured out that we could interface with the devices safely using a two-wire daisy-chained RS485 connection. The problem now was that we only had a single day to deploy and test our device, but I had no access to a real Modbus end device to test my solution on. Sadly, devices were generally in the $100+ range, well outside our budget for a simple test. So, we had to build things ourselves. I actually ended up prototyping a Modbus device myself in order to do testing, and the installation went successfully.
Our second challenge was worked on by both me and my teammate. We had an off-the-shelf LoRAWAN gateway which we wanted to provide internet connection to. However, our single point of connection was a Raspberry Pi with a 4G HAT. Figuring out how to get connectivity to the Raspberry Pi itself was hard enough — figuring out how to provide that internet link over ethernet to the gateway was a bigger challenge, but my knowledge of networking and some research was all it took to get things operational and consistent.
Working in a team of engineers was very fulfilling and fruitful work. Even though I had some knowledge in each of the respective fields we were working in, my depth of expertise was nowhere near what was needed to produce a coherent product. I learned that having a shallow understanding of other disciplines helps in communication, but focusing on what I do best is how I contribute to the team's success.
Watch the team and I present the project on YouTube