Introducing thin-edge.io!
The open edge framework for lightweight IoT devices
IoT enablement of industrial devices is challenging
During his introduction at the Embedded World Digital 2021 conference, Stefan Vaillant explained the key aims of the thin-edge.io open-source project:
We started the project to solve the common challenges involved in the IoT enablement of industrial devices, or more precisely, to make the integration of any IoT device with any cloud and IoT platform easy, reliable and without eco-system lock-in.
thin-edge.io is the first open-source and cloud-agnostic edge framework designed for resource-constrained IoT edge devices.
With thin-edge.io we provide re-usable and modular components, which are not bound to a specific IoT platform, domain model or vendor. It runs on a wide variety of hardware, from small, embedded Linux (Debian, Yocto, etc) devices with very low RAM footprint to large, multi-core industrial servers (IPC). While majority of thin-edge.io components are written in Rust, it comes with support for multiple programming languages and aims to provide out-of-the box connectivity, security and device management features on any device its deployed on.
Why should you use thin-edge.io?
Historically when developing software for resource constrained or embedded IoT devices, such as PLCs, protocol gateways or control boards, you have had to spend a lot of time solving generic challenges for each combination of hardware, IoT platform and software language in the solution. These challenges include efficiently connecting to the IoT platform, ensuring security, managing certificates, and facilitating queuing, data mapping or persisting messages to cater for unreliable connections.
The result is typically a series of custom components or device agents that are expensive to build, cumbersome to maintain and often highly specific to one combination of hardware, IoT platform and software language. This bespoke connectivity effort is typically a key root cause of overall project delays and distracts enterprises from the business goals of the IoT project.
At the same time, more and more IoT use-cases require logic and analytics to be moved closer to the monitored and controlled environment at the edge. This allows the data volumes processed to increase without increased communications costs, reduces the latency for any resulting action, allows for full or semi-autonomous local operation, and increases security, with only aggregated statics and alerts sent from the edge environment. However, orchestrating these workloads at the edge has been incredibly challenging and came with additional operational costs.
This is where thin-edge.io can help: With a few commands, it is now possible to securely integrate embedded (“thin”) edge devices into any major IoT platform. Shortly, you will also be able to use edge device management capabilities available as re-usable and extensible components. We are iteratively releasing device management capabilities over the coming months. Furthermore, you can easily extend the capabilities of your thin edge device with your own or ready to use 3rd party modules. A number of industrial protocol drivers (Modbus, OPC/UA and more) and analytics modules are scheduled to be available later this year.
Who are the current contributors and how can you contribute?
As we are tackling an industry wide challenge, we are working with a range of embedded systems development, industrial automation and industrial IoT / industry 4.0 enterprises who recognize that a common problem is best solved collaboratively. There will be specific announcements regarding these collaboration partners, but needless to say they have always been recognized as being innovators in their specific sectors.
We embrace openness and inclusion. We invite collaborators, at all levels, to join us on our mission to establish an open industry standard for thin edge devices, to simplify interoperability between edge and cloud solutions and to make any thin edge device an easy deployment option for IoT services and applications.
Please click here to get to the project and the contributor guide.
So what’s already available?
thin-edge.io is an early-stage open-source project, with ever increasing momentum from collaboration partners.
In the next months we will be continuously adding new features that will evolve the project rapidly. For this we need your support and feedback.
Our first preview version of thin-edge.io (v0.1) contains the following:
- Out-of-the-box connectivity to IoT platforms such as Cumulocity IoT and Azure IoT , with extensibility for other platforms.
- Support of device authentication via x.509 device certificates, including easy-to-use CLI-based certificate generation for development and prototyping.
- Built-in data queuing to overcome connectivity issues and increase reliability
- Flexible internal MQTT messaging bus between device apps based on simplistic JSON MQTT payload format for inter-process communication and extensible mapping mechanisms for translation into different cloud formats.
- Freedom of programming language — additional functionality can be written in any programming language and use the on-device MQTT messaging bus.
- Support for ARMv7 devices running Debian, from Source or as Debian package which can be deployed on a Raspberry Pi 3 — uses less than 16MB of RAM.
What comes next?
In our upcoming releases we will be focusing on the device management functionalities of thin-edge.io. Providing ready-to-use components for device resource and health monitoring, and software management. Using a flexible software plug-in framework, we will allow additional customizations and will support for many software artifact types like binaries, Debian packages, Docker containers and Snaps. This will allow you to create your own plugins using the software language of your choice.
To keep updated of our progress, follow us on Twitter or join our community GitHub.