Eclipse Kapua – Open IoT Cloud Platform

Eclipse Kapua is a modular, integrated, interoperable IoT cloud platform to manage and integrate devices and their data and provide a solid foundation for IoT services for any IoT application.

Eclipse Kapua began as an open source incubator project under the Eclipse IoT Workgroup. In October, 2016 the source code of the first drop of Eclipse Kapua was contributed by Eurotech, in collaboration with Red Hat.

Eclipse Kapua provides the services required to manage IoT gateways and smart edge devices, through a core integration framework. It offers an initial set of services for device registry, device management, message routing, data integration, and application enablement.

The goal of the Eclipse Kapua project is to provide a cloud-based IoT integration platform with the following high-level functionality:

  • Manages the connectivity for IoT devices and IoT gateways through a number of different protocols. Initial support will be offered to established IoT protocols like MQTT. Other protocols like AMQP, HTTP, and CoAP will be added over time. The connectivity layer is also responsible for managing device authentication and authorization.
  • Manages the devices on the edge. Device management offers the ability to inspect device configuration, update device applications and firmware, and control the device remotely. The IoT platform exposes an open contract towards the target device being managed with no assumption on the device software stack. The device management will evolve to adopt emerging standard device management protocols like LWM2M.
  • Data pipelines for data from IoT devices collecting large amounts of telemetry data. The data pipelines can offer data archival for dashboards or business intelligence applications andenable real-time analytics and business rules. An important feature is flexible and configurable data integration routes offering data storage options to collect the incoming data and make it available to upstream enterprise applications.
  • Multi-tenant account management, user management, permissions and roles.
  • Fully programmable via the RESTful API. A web-based administration console for a device operator is desirable.
  • Deployment either in the cloud or ‘on premise’, with its packaging allowing for flexible deployment options.

The following diagram provides a functional architecture of the Eclipse Kapua project.

Eclipse Kapua Architecture

Getting Started

1. Clone and Run Eclipse Kapua

> Clone the Kapua git repository.

$ git clone https://github.com/eclipse/kapua

> Build and run the Kapua Demo Box using the quick start script.

$ cd ./kapua/dev-tools/src/main/bin
$ ./start-demo.sh

> The following services are now available:

building process

> For more information on the manual build process or for creating a development Vagrant machine, please refer to the GitHub Readme. More documentation will be coming soon.

2- Connect an Eclipse Kura device

> Connect a Kura-powered device like a Raspberry Pi to Kapua.

Eclipse Kura device

> Connect other MQTT devices.

3 – Manage the device

> Manage the IoT device.

Manage Kura Device

> Install the heater app.

4 – Analyze device data

> Review your IoT device data.

Status and Roadmap

The Eclipse Kapua project is an important example of an ecosystem of organizations collaborating on IoT core components that work well together and that can be used to bootstrap IoT applications and solutions. In the future, it is expected that other Eclipse IoT projects, open source projects, and commercial vendors will provide additional services that integrate with Eclipse Kapua.

We invite you to learn more about Eclipse Kapua and join the community. We look forward to collaborating with you soon.

About the Authors

James Kirkland

James Kirkland
Red Hat

Marco Carrer

Marco Carrer
Eurotech