Web Creator

IOT Workshops

Open IoT Stack for Java 

The Internet of Things (IoT) is all about connecting devices, sensors and actuators to the Internet. By some estimates 20+ billion “things” such as automobiles, wearables, homes, industrial factories, etc. will be connected to the Internet. It is an incredible opportunity to modernize existing ‘legacy’ machines and systems and also create new innovative connected “things.”

A key challenge to making IoT a reality is the complexity of implementing an IoT solution. For example, to develop an IoT solution, the developers need to deal with different types of hardware platforms, implement and manage the IoT gateways that connect the devices to the Internet, manage connectivity and network issues, and integrate the IoT data with existing enterprise systems and databases and many other issues. 

An important way to reduce the complexity of IoT solutions is to create reusable building blocks and frameworks that abstract and implement key IoT features. The lack of reusable building blocks means developers are required to re-implement common functionalities for each IoT solution. This is similar to the start of the World Wide Web (WWW), where developers were required to create their own HTTP web server. Now there are open source HTTP servers (ex. Apache) that everyone use instead of creating their own.

For IoT to be successful, we need a consistent set of open source frameworks that anyone can use.


Connect with Open Standards - Eclipse IoT

Eclipse IOT is providing a set of re-usable open source technologies that make it possible to connect and manage the devices for your IoT solutions. Based on open standards and open source, the Open IoT Stack for Java developers provides the building blocks that simplify the creation of IoT solutions.

The Open IoT Stack for Java developers provides support for some of the key IoT open standards, including MQTT, CoAP and Lightweight M2M. These are the standards that help to connect and manage the devices at the heart of an IoT solution. The following Eclipse projects provide open source implementations of these standards:

• MQTT: Eclipse Paho provides the MQTT client implementation in Java, C, C++. JavaScript, Python, etc. Eclipse Mosquitto is an MQTT broker implemented in C

• CoAP: Eclipse Californium implements the CoAP standard in Java, including DTLS support

• Lightweight M2M: Eclipse Wakaama implements the LWM2M client support in C/C++, and Leshan provide a Java-based LWM2M server

Connect and Manage with IoT Gateway Services

IoT Gateways are used to manage the connectivity between the IoT devices and provide a platform for applications to be deployed at the edge of the network. Eclipse IoT provides a set of IoT Gateway services to help developers manage the devices and applications deployed onto IoT gateways.

Eclipse Kura is a Java and OSGi-based framework that implements services to

• Manage cloud connectivity

• Support different protocols to connect to different servers or devices (ex. MQTT, Serial, Modbus, CANbus)

• Configure the network, such as Wi-Fi and cellular bearers, LAN, firewalling and routing, etc

• Allow for remote application and device management and configuration

IoT Solution Frameworks

In addition to the core Open IoT Stack, Eclipse IoT provides a set of solution-oriented frameworks for Home Automation, SCADA systems and telco service providers.

Home Automation 

Eclipse SmartHome is a set of Java and OSGi services for building Smart Home and assisted living solutions. It provides an extensible framework (rules engine, declarative UI, etc.) that allows developers to integrate devices that support different protocols and standards for home automation.

SCADA Systems

Eclipse SCADA is a set of Java and OSGi services that implements many of the services required for a SCADA system, including data acquisition, monitoring, data and event archival, visualization and value processing. Eclipse SCADA supports many of the industrial automation standards, such as Modbus, Siemens PLC, SNMP and OPC.

Telco Service Providers

Eclipse OM2M is an implementation of the ETSI M2M standard. It provides a horizontal Service Capability Layer (SCL) that can be deployed in an M2M network, a gateway, or a device. Each SCL provides Application Enablement, Generic Communication, Reachability, Addressing and Repository, Interworking proxy, Entity Management, etc.


Eclipse IoT open source projects help you build IoT Devices, Gateways ("Smart Objects"), Cloud backends, and more. 

Use the list below to find the project that's right for you.

Eclipse Paho Standards Devices

The Paho project provides reliable open-source implementations of open and standard messaging protocols aimed at new, existing, and emerging applications for Machine-to-Machine (M2M) and Internet of Things (IoT). 

Eclipse Mosquitto Standards Cloud

Eclipse Mosquitto provides a lightweight server implementation of the MQTT protocol that is suitable for all situations from full power machines to embedded and low power machines. Sensors and actuators, which are often the sources and destinations 

Eclipse SmartHome Gateways

The Eclipse SmartHome project is a framework that allows building smart home solutions that have a strong focus on heterogeneous environments, i.e. solutions that deal with the integration of different protocols or standards. 

Eclipse Californium Standards Security

Eclipse Californium (Cf) is an open source implementation of the Constrained Application Protocol (CoAP). It is written in Java and targets unconstrained environments such as back-end service infrastructures (e.g., proxies, resource directories, 

Eclipse Leshan Standards Gateways Cloud Security

Leshan is an OMA Lightweight M2M (LWM2M) implementation in Java. Eclipse Leshan relies on the Eclipse IoT Californium project for the CoAP and DTLS implementation. It is tested against the LWM2M C client provided by the Eclipse IoT 

Eclipse hawkBit Cloud

Project hawkBit aims to create a domain independent back end solution for rolling out software updates to constrained edge devices as well as more powerful controllers and gateways connected to IP based networking infrastructure. 

Eclipse NeoSCADA Tools

SCADA (supervisory control and data acquisition) is a type of industrial control system (ICS). Industrial control systems are computer controlled systems that monitor and control industrial processes that exist in the physical world.

Eclipse Kura Gateways

Kura offers a Java/OSGi-based container for M2M applications running in service gateways. Kura provides or, when available, aggregates open source implementations for the most common services needed by M2M applications. 

Eclipse Ponte Cloud

Ponte provides reusable solutions for bridging M2M protocols.

Eclipse OM2M Standards

The OM2M project is an open source implementation of the ETSI M2M standard. It provides a framework for developing services independently of the underlying network and aims to facilitate deployment of vertical applications 

Eclipse Wakaama Standards Devices

Wakaama provides APIs for a server application to send commands to registered LWM2M Clients. On client applications, Wakaama checks received commands for syntax and access rights and then dispatches them to the relevant objects.

Eclipse Paho Incubator Standards

A permanent incubator for Paho. A permanent incubator is a project that is intended to perpetually remain in the incubation phase. Permanent incubators are an excellent place to innovate, test new ideas, grow functionality

Eclipse Krikkit

The Krikkit architecture is a publish/subscribe mechanism where rules/policies are registered on edge routers/gateways that have visibility into and communicate with sensors. 

Eclipse Concierge Standards Devices Gateways

Concierge is a small-footprint implementation of the OSGi Core Specifications R5 standard optimized for mobile and embedded devices.

Eclipse 4DIAC Standards

Eclipse 4diac™ in its current form has been started 2007 as open source project fostering the further development of IEC 61499 for its use in distributed Industrial Process Measurement and Control Systems (IPMCS) and further distribute research

Eclipse RISE V2G Standards

About RISE V2G RISE V2G is a Reference Implementation Supporting the Evolution of the Vehicle-2-Grid communication interface ISO/IEC 15118. The international standard ISO/IEC 15118, entitled "Road vehicles - Vehicle to grid

Eclipse tinydtls Standards Security

tinydtls is a library for Datagram Transport Layer Security (DTLS) covering both the client and the server state machine. It is implemented in C and provides support for the mandatory cipher suites specified in CoAP.

Eclipse ioFog

The Eclipse ioFog set of technologies is a fog computing layer that can be installed on any hardware running Linux. Once installed, it provides a universal runtime for microservices to run on the edge. In addition to a common runtime, ioFog also 

Eclipse Hono Cloud

Connectivity is at the heart of IoT solutions. Devices (things) need to be connected to a back end component where the data and functionality of the devices is leveraged to provide some higher level business value. IoT solution developers can pick

Eclipse Edje Devices

The edge devices connected to the Cloud that constitute the Internet of Things (IoT) require support for building blocks, standards and frameworks like those provided by the Eclipse Foundation projects: Californium, Paho, Leshan, Kura, Mihini

Eclipse Whiskers Ontologies

Whiskers is an OGC SensorThings API framework consisting of a JavaScript client and a light-weight server for IoT gateways (e.g., Raspberry Pi). The SensorThings API is an OGC (Open Geospatial Consortium) standard that allows IoT (Internet of Things)

Eclipse Milo Standards

OPC Unified Architecture is an interoperability standard that enables the secure and reliable exchange of industrial automation data while remaining cross-platform and vendor neutral. The specification, currently version 1.03, is developed

Eclipse Kapua Cloud

The following diagram provides a functional architectur