Edge - Building blocks and Variants
In the previous post, we had a broad overview about the Edge layer. This blog post will focus on the building blocks of Edge devices / IoT gateways and provide you an overview about different variants of Edge devices.
What are the building blocks of Edge devices / IoT Gateways ?
The above diagram shows the different building blocks of an edge device starting from the hardware, IDE[1] to the edge application. Given below is a short description of the different building blocks.
1. Device hardware - Comprises the required hardware for the proper functioning of the edge device in an industrial environment:
Processor, RAM, Non-volatile memory
Input modules for field inputs (Analog, Digital ..)
Field protocol modules (Modbus, CANBUS, Serial ..)
GPS & GLONASS module
Real time clock
UMTS (2G, 3G) or LTE (4G) modules, WiFi module
Power supply, Back up battery
Proper encapsulation with suitable Ingress protection rating
Antennas for GSM, GPS / GLONASS, WiFi
Cable ingress with cable glands / MIL connectors
Terminal blocks for cable terminations.
Please note that all the edge devices will not be having all these hardware features, and hardware features and requirements depend on the IIoT application. We will have a better understanding of hardware requirements when we define the edge device requirements for an IIoT application in the subsequent blog posts.
2. Operating System - Generally Industrial IoT edge devices run either on RTOS[2] or on Embedded Linux operating systems. RTOS is used when highly deterministic real time response is required from Edge devices.
3. Run time environment – An execution environment provided by the operating system for
Execution of application programs
Sending commands to the processor
Accessing system resources such as memory, software libraries
Interface with system hardware
Provide all necessary services and processes for executing application programs
4. Abstraction Layer – Abstraction layers provide APIs[3] access to the hardware resources of the edge device. For instance, APIs can be provided for accessing the Analog input modules, working with CANBUS modules, sending data through WiFi modules and so on. Abstraction layers help in providing a uniform way of interacting with the hardware & standardize application software development.
5. Gateway Services & Libraries – These are API libraries to access firmware functionalities like Real time clock, GPS application libraries, CANBUS application libraries, Datalogger, Mathematical function libraries and so on.
If the Gateway services and libraries that are connected to hardware resources, additional functionalities are built on top of APIs from the abstraction layer.
6. Configuration – API based / GUI[4] based configuration to set up parameters for the gateway such as Remote management parameters, CANBUS parameters, Modbus parameters, WiFi parameters and so on.
7. Edge Computing – Application program running on the Edge device spanning Data acquisition, Processing, Edge analytics, Store and forward, and Data transfer to IoT platform. Programming languages for the Edge applications vary from manufacturer to manufacturer. Some of the common ones are Node red, JS, C++, Micro - Python, Structured Text, Lua.
8. IDE – IDE is an Integrated Development Environment for developing application programs for the Edge devices. Typically, manufacturers of IoT gateways have their own development environments. Some of the commonly used environments are Eclipse IDE, Codesys development environment.
9. Security Management – Includes multiple tenets starting with Physical tampering detection and alerts, Silicon level root of trust, Secure boot, TLS, Encryption, Secure management of remote updates.
10. Remote Management – This is about enabling management of the edge device from the IoT platform. Remote management can be broadly split into
Device provisioning
Authentication
Remote configuration
Firmware over the air updates
Application over the air updates
Remote application monitoring
Remote management can either be done by exposing APIs or by installing IoT platform agents in the Edge device.
So far, we had an overview of the different building blocks that enable IoT gateways / Edge devices. All these building blocks will not be available in every edge device. To know more, let us look at different variants of edge devices / IoT gateways that are available in the market.
What are the different variants of Edge devices ?
There are several variants of edge devices in the market ranging from "Basic devices" that only transmit data to "Advanced devices" capable of doing machine learning at the edge.
At present, there is no standard nomenclature or taxonomy for classifying these edge devices. Given below is a classification based on usage of edge devices in Industrial IoT applications.
1. Basic Devices - These are typically used in remote monitoring of mobile industrial assets to monitor location and acquire basic operational data. Given below are the typical characteristics of basic devices
2. Intelligent Standalone Devices - Used in remote monitoring and control of mobile industrial assets to comprehensively monitor location, operation, and health data, and in select cases used to control operation of the assets. Given below are the characteristics of these type of devices
ARM cortex processor family or equivalent
Medium footprint (Few hundred MBs of RAM)
Good options for acquiring field data (Analog and digital inputs, Field protocols)
GPS / GLONASS, RTC
Good edge computing capability (Compatible with IEC 61131-3[7] or equivalent)
Over the air updates
Reasonable security features (Certificate based authentication, TLS, Encryption)
Compatible with popular IoT platforms[8]
3. Intelligent Aggregator Devices - Typically used for data acquisition and remote monitoring in manufacturing shop floor. One device shall be used for acquiring comprehensive data from multiple assets / equipment. For example, one aggregator type gateway can be used to acquire production, condition, and energy consumption data from tens of machines in an assembly line of a manufacturing shop floor. Features of these devices are as below.
Intel Atom family or equivalent
Large footprint (Few GBs of RAM)
Good options for acquiring large sets of field data (Analog and digital inputs, Field protocols, Modbus, CANBUS, OPC-UA)
RTC
Good edge computing capability (Compatible with IEC 61131-3)
Over the air updates
Very good security features (Root trust, Secure boot, Certificate based authentication, TLS, Encryption)
Compatible with popular IoT platforms
4. Advanced Devices - Meant to be used for advanced applications at the edge like ML @ Edge, Computer vision at the edge
Intel Atom family or better
Large footprint (Few GBs of RAM)
Good options for acquiring large sets of field data (Analog and digital inputs, Field protocols, Modbus, CANBUS, OPC-UA), RTC
Good edge computing capability (Compatible with IEC 61131-3)
Ability to deploy containers with services developed in the IoT platform, Machine learning @ the Edge, Computer vision @ the edge
Over the air updates
Very good security features (Root trust, Secure boot, Certificate based authentication, TLS, Encryption)
Compatible with popular IoT platforms
In this blog post, we looked at the building blocks and the different types of Edge devices. The next post is dedicated to Edge computing.
[1] Integrated Development Environment
[2] RTOS or Real Time Operating Systems enable deterministic real time execution of application programs. RTOS is generally used where high level of real time response is required such as in Programmable logic controllers and Motion control systems [3] Application Programming Interface [4] Graphical User Interface
[5] Global positioning system / Globalnaya Navigazionnaya Sputnikovaya Sistema, or Global Navigation Satellite System (Russian version of GPS) [6] Real time clock
[7] IEC standard for programming Industrial control systems [8] IoT platform landscape is very dynamic, however, some of the popular IoT platforms include Azure IoT, PTC Thingworks, C3 IoT, Bosch IoT platform
Comments