- The IOTA Foundation has awarded developer Bernardo Rodrigues a grant from the Ecosystem Development Fund for the development of an OpenEmbedded Layer for IOTA.
- The solution enables the integration of IOTA projects into Yocto-based embedded Linux distributions.
The independent developer Bernardo Rodrigues was selected by the IOTA Foundation for funding by the Ecosystem Development Fund. The project of an OpenEmbedded Layer for IOTA projects – Meta-iota – is designed to enable an easy and fast integration of IOTA projects into Yocto-based Embedded Linux distributions. As Rodrigues explained in a Medium post, the Yocto project and OpenEmbedded are focused on Internet of Things (IoT) devices, as is the IOTA project, which aims to drive a machine-to-machine economy.
Yocto project is an open source collaboration project that helps developers create custom Linux-based systems independent of hardware architecture. OpenEmbedded is a build automation framework and cross compile environment used to build Linux distributions for embedded devices. Together, both projects (YP/OE) provide a set of tools for developing Linux-based embedded and IoT devices. Concerning the integration for IOTA, Rodriguesv writes:
Bringing IOTA into YP/OE will potentially accelerate the adoption of IOTA by the Embedded Linux community since many different boards can now support IOTA tools.
For the first milestone Rodrigues has ported three projects from IOTA’s enTangled repository. The cIRI, the CClient and MAM. cIRI is the low-level reference implementation of an IOTA node in C, which has much lower hardware requirements compared to its Java counterpart and is therefore ideal for embedded devices. The developer explained:
I reported that work in my first article IOTA cIRI on a BeagleBone Black with Yocto Project and OpenEmbedded. Although this article is based on a BeagleBone Black, it should work for any other boards with a Yocto/OpenEmbedded Board Support Package (BSP).
The IOTA client library implementation in the C programming language, CClient, is responsible for creating the transactions to send data and/or IOTA tokens to each other’s addresses. Rodrigues has created a proof of concept for this, how to use Meta-iota to demonstrate the use of the CClient library for actual client applications and interact with the tangle through the CClient.
For the third project, the port of Masked Authenticated Messaging (MAM), Rodrigues also wrote a proof of concept to demonstrate the capabilities of the Meta-iota OE layer. For the proof of concept, the developer has moved towards Industrial IoT hardware and added a new way to send Masked Authenticated Messages (MAM) from OpenSTLinux to the Tangle via the STM32Cube extension software (STMicroelectronics) for the OpenSTLinux side. Rodrigues explained:
The article IOTA Masked Authenticated Messaging on OpenSTLinux of STMicroelectronics Discovery Kit presented a Proof of Concept of how meta-iota can help cross-compile MAM applications into Yocto-based Linux Distributions. In that case, the Distribution was OpenSTLinux, which added another cornerstone into the already existing collaboration between the IF and ST.
For the second milestone Rodrigues plans to integrate the Go and Python IOTA API libraries, as well as the go-iota-workshop and python-iota-workshop repositories as application examples for these libraries.
To get a better idea of the possibilities of the Yocto project, the following video is highly recommendable.