Eurotech, a supplier of embedded technologies, products and systems, announced its role and contribution to Eclipse Kura, an open source incubator project aimed at providing an OSGi-based container for M2M applications running in service gateways.
Deploying and configuring one device to act as a node in the Internet of Things is relatively easy. Doing the same for hundreds or thousands of devices, supporting several local applications, is not so easy though. This is where the new Eclipse project Kura comes in. Kura offers a platform that can live at the boundary between the private device network and the local network, public Internet or cellular network, providing a manageable and intelligent gateway for that boundary capable of running applications that can harvest locally gathered information and deliver it reliably to the cloud.
Eurotech is a founding member of the IoT Working Group (formerly called the M2M Working Group) within the Eclipse Foundation and has contributed to the Kura project by developing the original technology to run on everything from general purpose devices, rugged mobile computers, wearable devices, service gateways and vehicle consoles, all the way down to the Raspberry Pi. Implemented as a Java-based platform, Kura can be installed on Linux based devices and provides a remotely manageable system, complete with all the core services applications need and a device abstraction layer for accessing the gateway’s own hardware.
Through the Kura project, Eurotech will provide a set of common services for Java developers building M2M applications, including I/O access, data services, network configuration and remote management.
“We continue to collaborate and invest in making M2M projects easier for organizations to deploy, and sharing our expertise in the Eclipse open standards community is part of our strategy,” said Marco Carrer, Vice President Software Engineering, Eurotech. “The Kura Project will take our years of experience developing the Everyware Software Framework and make it available to anyone through the Eclipse Foundation.”
The technology proposed in the Kura Project is currently found in Eurotech’s Everyware Software Framework (ESF), which, in conjunction with an Application Enablement Platform like Eurotech´s Everyware Cloud, can connect sensors, devices or assets quickly to analyze data in real-time for reliable, device-independent M2M applications. The initial contribution will be a large subset of the current Eurotech Everyware Software Framework, including: Kura source code and build system, a Kura M2M application developer’s guide with an example application, documentation on the Kura application protocol to perform remote resource management and remote administration of M2M applications, and a build of Kura for an open-hardware platform like the Raspberry Pi.
Eurotech has recently presented a live demo of Internet of Things (IoT) applications as IoT Day Sponsor at EclipseCon 2014 in San Francisco. Together with Actuate – The BIRT Company™ and the Eclipse Foundation, they showed how to capture raw data from multiple different sensor devices using open source and standards-based technology and transmit and analyze it to present insights and valuable information.
Key Features and Highlights for Developers
Developers working with Kura will find that, as it is within an OSGi (Open Service Gateway initiative) container, they will be working with a standard framework for handling events, packaging code and a range of standard services. An application in Kura is delivered as an OSGi module and is run within the container along with the other components of Kura. Using the Eclipse Paho MQTT library, Kura provides a store-and-forward repository service for those applications to take the information gathered from the locally attached devices or network-attached devices sending that data onwards to MQTT brokers and other cloud services.
Applications can be remotely deployed as OSGi bundles and their configuration imported (or exported) through a snapshot service. The same configuration service can be used to setup Kura’s other OSGi compatible services – DHCP, DNS, firewall, routing and WiFi – which can be used to manage the networking setup of a gateway and provision private LANs and WLANs. Other bundled services available include: position, a GPS location service to geolocate your gateways; click, a time service to ensure good time synchronization; db, a database service for local storage using a embedded SQL database and process and watchdog services to keep things running smoothly.
To talk to network attached devices, applications can use Java’s own networking capabilities (or optional support field protocols, such as Modbus and CAN Bus) to plug into existing device infrastructure. By abstracting the hardware using OSGi services for Serial, USB and Bluetooth communications, Kura gives application developers portable access to a wide range of common devices though they can still use Java’s own range of communications APIs when appropriate. An API for devices attached via GPIO, I2C, PWM or SPI will allow a system integrator to incorporate custom hardware as part of their gateway.
The Kura package is completed with a web front end which allows the developer or administrator to remotely log in and configure all the OSGi-compliant bundles and which developers can utilize to provide a web facing aspect to their own application’s configuration needs. Developers should find that the Eclipse IDE’s OSGi tooling makes the route from code conception to installation on Kura an easily navigable path too.
With a combination of an OSGi container, MQTT messaging, a rich range of network and local connectivity, remote web and command-line control and the familiar Eclipse tooling support, Kura is set to provide a compelling option for enterprise and IoT/M2M Java developers.
For more information about the Kura project, visit http://www.eclipse.org/proposals/technology.kura.