Edge computing for industrial sensors and control systems

Published on: January 17, 2019

During a six-week internship, Kapernikov asked Arne Vlietinck to investigate whether Azure IoT Edge could be used to deploy, configure and monitor industrial sensors and control systems.

Edge computing

One of the latest trends in the IoT world is moving part of the processing to the edge (the IoT devices themselves). This makes feedback loops much faster, because data does not need to be uploaded to the cloud. On 27 June 2018, one year after Amazon, Microsoft launched its edge solution packed in an open source project on Github. With a plan to invest five billion dollars in this technology, the Internet of things is one of the main domains of interest for Microsoft in the coming years.

Azure IoT Edge

The Azure IoT Edge architecture consists of an IoT Hub in the cloud and one or several edge devices. Each edge device has a maximum of twenty software modules, in this case: Docker containers. The use of Docker containers makes it possible to develop custom modules in Java, .NET Core 2.0, Node.js, C or Python. A module can handle sensor data, perform an action or calculation, or manage the data export to the IoT Hub. The latter is done in the Azure IoT Edge runtime, where the Edge Hub and Edge Agent are situated.

The Edge Hub controls the data flow between the several modules, as well as between the edge device and the IoT Hub. It can be seen as a basic version of the IoT Hub.
The Edge Agent is responsible for instantiating modules, ensuring that they continue to run, and reporting the status of the modules back to IoT Hub.

Azure IoT Hub

The IoT Hub is an Azure cloud service that makes it possible to connect, monitor and manage IoT devices in a secure way. The IoT Edge devices can send data to and receive data from the IoT Hub. Furthermore, the IoT Hub configures the IoT Edge devices as requested, including deployment and configuration of the software modules. It is a helpful tool that offers a clear overview of connected edge devices and active modules, which can be numerous in contemporary IoT applications.

A useful feature of the IoT Hub is its compatibility with Apache Kafka. This makes it possible to connect the edge devices with open source software projects. The connector continuously pulls data from Azure IoT Hub into Kafka or pushes data from Kafka into the IoT Hub.

Edge Exploration

Arne has built several proofs of concept during his internship. From one simple edge device without modules to multiple edge devices with several modules, all sending data to the cloud. One proof of concept was a filter module for an edge device that allowed us to only forward the data exceeding a particular threshold. This limits the upstream data and therefore saves costs.

Arne also explored another interesting edge device feature. When a connection gets lost, all data that needs to go upstream can be stored locally until the edge device reconnects. This prevents data loss due to connection loss. It is even possible to assign offline storage in addition to the provided Edge hub container. Arne created a web application with live visualization to test this behavior. When the device reconnects, the data can go upstream and the live visualization restarts.

Kapernikov and Azure IoT Edge

The Azure IoT Edge stack has a number of interesting features. All communication is designed with security in mind – this should be standard, but numerous data breaches show us that a lot of IoT devices are open. In addition, the centralized deployment infrastructure makes managing large networks a breeze.

The Azure IoT Edge stack is under active development. A number of features that were missing during Arne’s internship are available by now. This was especially the case for direct communication between IoT Edge devices: in more complex machines, it’s not trivial to combine all intelligence in a single Edge device.

Based on Arne’s pioneering work, Kapernikov has used the Azure IoT Edge platform for the intelligent camera system developed at the ArcelorMittal hackathon in September 2018. That platform was also presented at the Microsoft Tech Summit in Brussels in November 2018.