The IoT (Internet of Things) is above all a catalyst for digital transformation. It refers to a network of interconnected electronic devices which can communicate information via the Internet. Data is essentially the new crude oil of our time.
Transformed via business intelligence, web applications or artificial intelligence, it helps create new services, sharpen the ability to make decisions and, finally, rationalize the way we operate, by gauging and measuring the world around us. And in doing so it can greatly reduce the level of uncertainty, especially by using IoT sensors.
In this article, we will focus on Edge Computing, which brings computing capabilities closer to the connected objects.
IoT Value Chain
IoT is attracting the interest of the industrial and economic world, both because of the very large number of machines and sensors already in use, and also because of those that will be deployed in the future. The amount of data produced is therefore bound to grow considerably.
These devices and sensors can operate and communicate via the internet in two ways:
Complementarity Aspects of Cloud and Edge
- The devices communicate data directly to the cloud, which implies that they have sufficient hardware and software resources to communicate via the transmission networks to the Internet.
- The devices communicate data that will first be combined, cleaned and prepared via gateways and industrial PCs that act as staging areas. It will then be sent via transmission networks to the Internet.
2- What is Edge Computing?
Edge Computing is a relatively new concept which aims to process data as close as possible to the source which produced it. The data is processed by a gateway or an industrial computer which is geographically very close to the device generating the data, such as a factory located as close as possible to the production machine. The processing often serves to filter, aggregate and store data, but also to carry out advanced detection of any anomalies, machine learning or forecasted maintenance. All the analysis and processing algorithms must be deployed remotely from the cloud via a device manager tool.
The massive volume of data can be difficult to manage entirely on the cloud network. To address this challenge, Edge Computing provides full or partial compute capabilities that can process data at the edge of the network. As a result, it enables low latency, faster response, and full data analysis. While a few years ago, devices typically sent data to the cloud for processing, the continued development of Edge Computing means that these days much of the processing is done directly on the Edge. This minimizes overall application latency and reduces infobesity on the cloud.
3- Components of an Edge Computing framework
Edge Computing comprises a number of essential features, and is usually implemented within a microservices architecture in the form of Docker containers, organised by a tool which is located at cloud level. This framework is often installed in an industrial PC or gateway, and includes the following components:
- Device management: this includes management of the fleet of connected devices, intrinsically linked to the cloud-level container management tool, which takes care of program updates, new versions and provides information about the health of each device.
- Data collection: this allows communication with industrial machines via fieldbuses, such as Modbus, OPC-UA, and then data retrieval via a suitable format e.g. JSON, XML.
- Monitoring and supervision: the responsibility for monitoring the health of the services and connectivity; a component which also incorporates logging and notification.
- Data processing: this component is mainly in charge of all the necessary data processing, from preparation and filtering to aggregation and data validation.
- Security and authentication: this component ensures the security of the data value chain, from the device producing the data to the cloud, with mechanisms such as authentication and encryption of the data in transit and at rest.
Other components could also be added to these, such as intermediate storage to back up data as needed, auto-registration of devices (plug and play) to automate the reception of connected devices, remote action to give instructions to remote devices, or the digital twin to create a digital copy of the original device.
4- Edge Computing examples
Edge Computing is becoming widespread in numerous fields and sectors because of its ability to deliver genuine added value by moving part of the decision-making process closer to where the data is created, whether that be connected objects or machines. Some of the most practical examples of Edge Computing use include:
- Wearable sensors that track construction site workers’ health and safety. For example, smart hardhats.
- Predictive maintenance to detect early signs of performance deterioration and any potential risk of failure.
- Using sensor data from workplace tools and equipment to improve production quality and efficiency, and presenting KPIs that have been calculated near the machine.
- Video surveillance, using cameras with increased real-time computing capabilities to detect objects or people, or to create alerts for clearly-defined situations, such as motion detection.
- Smart buildings: Edge Computing allows buildings to better manage energy consumption as well as offering AI-enriched services, such as smart lighting management.
- Connected speakers: the ability to interpret voice instructions at a local level to perform basic commands. For example, turning lights on or off and adjusting thermostat settings, even if the internet connection fails.
- Autonomous vehicle driving: The decision an autonomous vehicle (AV) makes to stop in front of a pedestrian must be immediate. Relying on a remote server to manage this critical decision is not an option, hence the advantages of Edge Computing, which allow idecisions to be made quickly and with low latency.
5- Edge Computing hardware
The hardware used to do the computing for Edge Computing is broadly divided into three parts:
Type | Hardware | OS | Language |
Edge Device | Microcontroller-based electronic card or device with very small computing and memory capacities. | Without OS (Bare Metal ) or with a RTOS like FreeRTOS, QNX, VxWorks …) | C /C++ |
Edge Gateway | System-on-a-chip (SoC)-based device, often centred on ARM Cortex-A: e.g. RaspberryPI or Jetson nano | Linux Yocto OpenWRT | C / C++ Python GoJava |
PC / Industrial Server | Computer often based on Intel X86-64 architecture with communication interfaces and hardware protection complying with industrial standards. | Linux Ubuntu Linux Debian Windows 10 IoT | C / C++Python Java NodeJsC # |
6- Edge Computing framework and solutions
There are several frameworks and tools that implement Edge Computing features. Here are a selection of them:
- EdgeX Foundry: an industrial and open source Edge Computing framework, designed and maintained by the Linux Foundation. At the heart of this solution is a set of loosely-coupled microservices, organized into different layers.
- Azure IoT Edge:
Azure IoT Edge is a service managed and developed by Microsoft Azure that implements Edge Computing capabilities. It enables Cloud workloads (AI, Azure services, third-party services or even proprietary code) to be deployed to run on IoT Edge devices via standard containers. By moving certain workloads to the edge of the network, devices spend less time communicating with the cloud, react faster to local changes, and are more reliable, even during long offline periods .
It is made up of three modules:
IoT Edge modules: these are Docker-supported containers that run Azure services, third-party company services or proprietary code. These modules are deployed at IoT Edge device level, and run locally on these machines.
IoT Edge runtime: a type of operating system that manages the deployed modules.
Cloud Interface: Interface for managing and monitoring IoT Edge machines.
Azure IoT Edge
- IoT Greengrass:
AWS IoT Greengrass is an open source Cloud service for creating, deploying and managing Edge device software. AWS IoT Greengrass is used for IoT applications across millions of devices in homes, factories, vehicles and businesses.
By implementing the features of Edge Computing, it becomes possible to act locally on data generated by connected devices, perform predictions based on machine-learning models, filter and aggregate the data, and to only transmit the required information to the cloud.
The following diagram shows how an AWS IoT Greengrass device interacts with the AWS IoT Greengrass cloud service and other AWS services in the AWS cloud:
AWS IoT Greengrass
7- Example of Edge Computing implementation for our customers
As part of the digital transition, one of our customers in the industrial sector wanted to develop a new smart gateway solution. Their aim was to make technical improvements to their existing one, while also introducing Edge data processing.
In response to this technical challenge, Devoteam Revolve proposed an open-source hardware solution with an end-to-end data security layer, supported by AWS services and international network coverage. The solution makes it possible to process data from machines communicating with the CAN protocol, and also to interface with 4-20 mA electronic cards.
The intelligent gateway enables advanced data processing (filtering, aggregation, validation) as well as remote alerting and configuration via a bespoke user interface developed for our customer.