An overview of IIOT Edge Software Stack
In the era of IOT and IIOT(Industrial Internet of Things) there is a growing demand to deploy solutions at the edge and preferably on a edge device, which is a small device cable of running an lite OS and has enough computing power that is required for an edge computing device.
There are many vendors which provide different set of edge devices based on the customer need and use cases to be implemented. We will discuss about the edge device in another article.
Like the edge device(hardware) the equal importance is there for the software stack. Without a proper edge sw framework it is difficult to implement a proper I4.0 or for that matter any IOT use cases. The edge sw stack has an important role to play in the IIOT use case implementation.
Sometime back I was working for such an edge framework development for one of the customers where the need was to deploy nearly 300 edge devices which shall connect around two thousand machines on the plant shopfloor for various IIOT use cases implementation like predictive maintenance, real time KPI monitoring, alerts and notifications for critical machine parameters, data visualization etc.
There are many choices for us to go with, some are opensource and some COTS solutions. Some of the opensource edge SW frameworks which we explored are listed below.
There are also COTS edge sw available and based on the requirements we can decide to use them, but for our use case the opensource frameworks were meeting our requirements. I will say almost all features required for a edge stack was available in those opensource solutions.
But for our requirement we wanted to built a custom edge sw stack with full control being with us and after going through all those available opensource frameworks we understood it is not a difficult task to develop one of our own.
In the following diagram we can see some of the critical components of an edge sw stack.
In the above diagram we see some of the edge sw components you will find in many frameworks as common. But there will be additional components based on the specific requirements. For example for an analytics or machine learning use case we may need to have a ML framework, ML Models, Rule Engines, Command and Control modules etc.
Lets have a look at the components and its features.
The device connectors are mainly the data publishers(In some cases the edge apps also), connectors publish data to a certain topic defined for them and edge apps and other consumer apps subscribe to those topics to get the data.
In this way we achieved a highly decoupled system. I have used Redis as a message broker here as it has lower memory footprint and a very fast in-memory data store. So this can act as both a temporary data store and an event broker as well. There are other options like Eclipse Mosquitto Mqtt broker(https://mosquitto.org/) , but it has certain limitations.
We will discuss more about the Messagebus architecture in our next article.
We discussed some of the core components of an IIOT edge SW stack above and in my next article I will discuss some specific use cases related to deploying Machine learning modules , rule engine and analytics apps to an edge device.
Edge Device Choices: We have many vendors which supply edge devices based on the customer need, few of the vendors I have listed below.
Recommended by LinkedIn
Based on the use case and computing need we can choose any of those edge devices which all are industrial grade devices.
For example Siemens has a complete edge eco system for edge with a variety of edge device choices, edge apps it is a major player in this area.
Edge OS Options : Mainly a Linux based OS is the first choice for many of the edge devices, this is because the memory footprint of many Linux distros are less, they are easy to manage and maintain, secure and we get CLI based OS options(Without a GUI) which makes this OS more preferred.
Ubuntu Linux OS, Alpine Linux are some of the popular choices for the Edge device.
End Note:
In this article we discussed about some of the core edge SW components which are required to deploy any edge app on a device. It is not always required to develop our own custom edge SW framework as we discussed there are many opensource edge SW platforms are available. The intent of this article is to have the know how of a edge stack.
In my next article I will go little detail into a specific ML use case implementation.
Till then keep learning.