Open source stack for IoT Cloud Platforms
The Eclipse IoT Community has a number of projects that are focused on providing the functionality required for IoT cloud platforms.
IoT Cloud Platform Stack
The IoT Cloud Platform represents the software infrastructure and services required to enable an IoT solution. An IoT Cloud Platform typically operates on a cloud infrastructure (e.g. OpenShift, AWS, Microsoft Azure, Cloud Foundry) or inside an enterprise data center and is expected to scale both horizontally, to support the large number of devices connected, as well as vertically to address the variety of IoT solutions. The IoT Cloud Platform will facilitate the interoperability of the IoT solution with existing enterprise applications and other IoT solutions.
Eclipse Kapua is a modular platform providing the services required to manage IoT gateways and smart edge devices. Kapua provides a core integration framework and an initial set of core IoT services including a device registry, device management services, messaging services, data management, and application enablement.
The goal of Eclipse Kapua is to create a growing ecosystem of micro services through the extensions provided by other Eclipse IoT projects and organizations.
Eclipse OM2M is an IoT Platform specific for the telecommunication industry, based on the oneM2M specification.
It provides a horizontal Common Service Entity (CSE) that can be deployed in an M2M server, a gateway, or a device. Each CSE provides Application Enablement, Security, Triggering, Notification, Persistency, Device Interworking, Device Management.
Open source components for IoT Cloud Platforms
Connectivity & Message Routing
IoT platforms need to be able to interact with very large numbers of devices and gateways using different protocols and data formats, but then normalize it to allow for easy integration into the rest of the enterprise.
- Eclipse Hono provides a uniform API for interacting with devices using arbitrary protocols, as well as an extensible framework to add other protocols.
- Eclipse Mosquitto provides an implementation of an MQTT broker.
An IoT platform shoud have the ability to provision new software updates and manage the devices.
- Eclipse Leshan provides an implementation of the OMA LWM2M device management protocol
A central registry helps to identify and authenticate the devices/gateways running in an IoT solution
- Eclipse hawkBit provides the management tools to roll out software updates to devices and gateways
- Outside of the Eclipse IoT community there are many open source options for data analytics and visualization, including Apache Hadoop, Apache Spark, and Apache Storm. Within the Eclipse community, Eclipse BIRT provides support for dashboards and reporting of data stored in a variety of data repositories.
Ability to consolidate and analyze data, and to create reports, graphs, and dashboards by exposing Application Programming Interfaces (API).
- Eclipse Hono helps to expose consistent APIs for consuming telemetry data or sending commands to devices, so as to rationalize IoT application development.