Open source stack for IoT Constrained Devices
Eclipse IoT provides a set of libraries that can be deployed on a constrained embedded device to provide a complete IoT development stack.
IoT Constrained Device Stack
The “Thing” in the IoT is the starting point for an IoT solution. It is typically the originator of the data, and it interacts with the physical world. Things are often very constrained in terms of size or power supply; therefore, they are often programmed using microcontrollers (MCU) that have very limited capabilities. The microcontrollers powering IoT devices are specialized for a specific task and are designed for mass production and low cost.
Open source components for IoT Devices
Hardware abstraction
In order to ensure portability, an IoT device needs to include a software layer that enables access to the hardware features of the MCU, such as flash memory, GPIOs, serial interfaces, etc.
- Eclipse MRAA is a low-level library written in the C/C++ language. MRAA abstracts the details associated with accessing and manipulating the basic I/O capabilities of popular IoT platforms and boards and presents a single, concise API.
Communication
An IoT device requires drivers and protocols that allow to connect it to a wired or wireless protocol, and therefore enable communication.
- Eclipse Paho provides an implementation of the MQTT protocol.
Remote Management
There are many cases where an IoT device needs to be remotely controlled, for example to upgrade its firmware or to monitor its battery level.
- Eclipse Wakaama provides an implementation of the OMA LWM2M standard.

