This project focuses on connecting embedded IoT devices to a Splunk server in a way that offers a legitimate ROI for a potential Business Use Case - Grocery Store Refrigeration Management. After playing around with Splunk and many different Splunk apps, we did not find any applications that were related to an area in which we have expertise - embedded system and IoT. By connecting IoT devices that have many sensors to a Splunk server we can use the Splunk Web interface, common data models, custom dashboards, and queries to better understand the real-time and historical status of a grocery store refrigeration system. Refrigeration is a critical Business System for grocery stores that has real costs and savings based on the efficiency and status of the system. Improper refrigeration can cost a store thousands of dollars in lost products, violations in health standards for food storage, lost business due to reduced food quality, and the huge costs of wasted energy.
The demo we created is the StoreMart Grocery Store refrigeration system dashboard. The StoreMart Grocery is a fictitious grocery store that is equipped with two types of sensors on their food cases: regular temperature sensors and accelerometer sensors. The accelerometer sensor is used for detecting when any unit is being opened by a customer. The temperature sensor shows the temperature of the attached case. 5 types of food cases with and without doors are equipped with these sensors: Freezer, Refrigerator, Open Refrigerator, Stove, and Rotisserie. The sensors would then at a regular basis send their current status back to Splunk. Status data consists of whether an item is being opened and what the current temperature is inside that specific item as well as an id and timestamp. The data could then be used to see what case in the grocery store is being used often, if the door has been left open, the total time a door has been opened, anomalies in the refrigeration system, or just the current temperatures of all the cases. In addition to these sensors is a Nest Smart Thermostat that is used to get the current room temperature and humidity.
The data sources for the simulator can be broken up into 3 categories: IoT embedded sensors, Nest Smart Thermostat, and a simulator script. The embedded IoT devices that we are using for this project are the mbed NXP LPC1768 with Wifly chips. This device has one temperature sensor and one three-axis accelerometer sensor. The real device was hooked up to our office door and used to monitor door openings. In the application this will drive the "Soda" refrigerator. The other IoT device that we are using for this project is the Nest thermostat that is collecting real time room temperature and humidity from our office. The room temperature and humidity will be displayed in the upper right corner of the StoreMart application. Since we did not have enough hardware too hook up for each case, we had to simulate the rest of the StoreMart units. This is done by a Python script called KitchenSim that we have written and attached to the application. The door open/close events, on//off events, and case temperatures can all be simulated in the absence of real IoT devices.
mbed NXP LPC1768
NXP is a small microcontroller designed for prototyping. It has an 32-bit ARM Cortex-M3 running at 96MHZ, 512KB FLASH and 32KB RAM. It supports a lot of interfaces like CAN, SPI, I2C, ADC, DAC, PWM and other I/O interfaces. We attached Sparkfun RN-XV WiFly modules and USB batteries to the mbed application board to create a completely disconnected device. Custom firmware needed to be written to capture sensor data, connect to the Splunk server, and send all of the pertinent data.
We also wanted to incorporate the Nest Intelligent thermostat that learns patterns and helps you reduce the cost of power usage because of its wide acceptance and popularity. The Nest data is collected from our office and is used as the StoreMart Grocery Store temperature and humidity.
In addition to the real IoT devices we created a simulator that would drive the temperature changes to create a more realistic use case. The simulator periodically creates door open/close or turn on/off events and the thermal model gradually adjusts the output temperature. Realistic values and thermal models were used and can be seen on the StoreMart Grocery Store dashboard.
This project was designed to illustrate a significant Use Case for Splunk and IoT devices in regards to Grocery Store refrigeration systems. As stated before this system is the most costly and important piece of Grocery Store design. We had discussions with experts in the field of Grocery Store Refrigeration design and they expressed the potentially catastrophic pitfalls of an inefficient refrigeration system. With Splunk an entire system can be viewed in an instant. Alerts can be made to notify mechanical staff or automatically fill out work orders. Product placement efficiency can also be analyzed by comparing door events as well as aggregated with refrigeration recovery data to better accommodate increased activity or adjust for efficiency. As an example, Perhaps two popular items are placed in the same cooler which causes more energy use by one case. Spreading these two items into different cases could spread the load and be more efficient. This type of monitoring is important as it applies to many other industries involving food safety: convenience stores, restaurants, cruise ships, kitchens, food storage, food transportation/distribution, etc.