State of the M2M projects at Eclipse
Yesterday at EclipseCon, Benjamin Cabé gave guided tour of the various Machine to Machine (m2m) projects at Eclipse. (InfoQ has previously interviewed Benjamin on the state of the M2M projects, at EclipseCon Boston in March 2013).
Since the start of the M2M working group at Eclipse in 2011, the various Internet of Things (IoT) projects have grown significantly, and there's talk of creating a top-level M2M project to categorise all of them. Earlier this year, there were only a small number of projects, but in the space of the last six months the scope of the M2M projects has grown significantly. M2M projects at Eclipse (or coming to Eclipse soon) include:
- Mihini which provides a Lua-based runtime on top of Linux suitable for embedded and low-power devices
- Koneki which provides a Lua-based development environment, suitable for Mihini and other class machines, along with a simulator for the OMA-DM protocol
- Paho which provides a set of clients based on the MQTT protocol, a lightweight messaging based protocol (like JMS, but lower overhead and multi-language), and the protocol is undergoing standardisation at OASIS. There is also the migration of the open-source Mosquito MQTT broker to Eclipse
- Eclipse SmartHome, based on an Equinox runtime for small devices (such as a Raspberry Pi) with a web-based control system and with drivers for many hardware devices (see also the overview at InfoQ) and based on the OpenHab project
- Eclipse Kura based on an OSGi runtime container such as Equinox to provide an OSGi runtime environment suitable for embedded devices. This will be linked into communications ports over USB and bluetooth, permitting embedded applications to integrate with other hardware services
- Eclipse Ponte (bridge) a set of REST libraries for integrating with M2M protocols such as MQTT and CoAP, and based on a contribution from the Quest project
- Eclipse SCADA (supervisory control and data acquisition) a set of libraries for communicating with standard SCADA hardware devices for control and data transfers, along with bindings for many low-level protocols such as SNMP, Modbus and OPC
- Eclipse Krikkit which aims to provide a set of libraries for interoperation with devices, including JSON and other RESTful endpoints
More information on all of these projects can be found at the Eclipse M2M homepage, along with the links to the projects above.