Everyware Software Framework
Fewer and fewer devices operate alone these days. Networked devices are now ubiquitous, from smart phones to iPads. A variety of protocols connects these devices, such as HTTP for Web browsers. These protocols often provide access to embedded network devices and are sufficient for configuring and managing a single-home gateway, but they’re typically inefficient for managing hundreds of embedded devices.
Eurotech’s Everyware Software Framework (ESF) is one solution designed to address the management and support of large collections of networked embedded devices. ESF (see “Developers Can Expect To See Everyware Everywhere”) is built on the Java-based OSGi framework (see “Open Services Initiative: OSGi Links Devices And Clients”) and Message Queue Telemetry Transport (MQTT), a lightweight publish/subscribe system.
Eurotech now links ESF with cloud-based services provided by Isidorey (see the figure). ESF devices can deliver information to cloud-based databases that in turn provide links to enterprise applications such as SalesForce.com, SAS, Google, and even Facebook.
Modular Client Software
The OSGi is at the heart of ESF as well as a number of other systems including the Eclipse development platform. Written in Java, OSGi runs dynamically loaded Java applications called bundles.
Bundles provide all OSGi services. Everyware includes a range of common bundles for communication and services. Eurotech then adds Everyware-specific bundles as well as device-specific bundles that provide access to interfaces found on the device. Everyware also includes bundles to handle MQTT and links to the cloud.
The OSGi framework can run on any Java platform, including bare metal Java. Eurotech delivers ESF on Windows and Linux. ESF can also interact with native applications, allowing C and C++ code to take advantage of the communication infrastructure.
MQTT is a publish/subscribe messaging model developed by IBM. It was originally part of the WebSphere Message Broker InfoCenter. Its current specification, 3.1, is available with a royalty-free license. MQTT is designed to have a small footprint while providing a robust communication system using a minimum amount of bandwidth.
MQTT-S (MQTT for Sensors) is a sensor-oriented version designed to run on top of wireless protocols like ZigBee. The protocol is even more compact than MQTT, using features like short and predefined topic IDs to reduce handshaking and packet size.
ESF takes advantage of MQTT’s ability to handle transient connections as well as tracking when connections are available. This means applications can determine when communication links are down.
Continue on next page
Instant On Developing
ESF is designed to let developers create sophisticated systems quickly since they do not have to create the underlying infrastructure. A simple application bundle on an embedded device can present data to the MQTT subsystem and have it automatically show up in the database on the cloud. The information can also be shared with other embedded nodes connected via MQTT.
Eurotech takes the idea of getting a developer up and running quickly a step further via Wind River’s Embedded Development Kits (EDKs) for Eurotech’s embedded hardware. The EDKs come with a complete development package on bootable flash drives.
The drives boot Fedora Linux and include Wind River’s Eclipse-based Workbench integrated development environment (IDE). Developers can boot directly from the flash drive and even save projects on the drive. They can install the system from the flash drive as well.
The flash drive package includes vendor-specific support. In this case, the support includes ESF development tools and libraries. Wind River is working with a number of companies, including Emerson Network Power, Kontron, Advantech, Adlink, Curtiss-Wright Controls Embedded Computing, GE Intelligent Platforms, and RadiSys in addition to Eurotech to provide users with custom EDKs.
The EDK flash drive is also matched with software on the target platform, which typically includes Wind River’s VxWorks or Linux operating systems. As with the EDK flash drive, the target software includes application-specific features. In this case, it’s ESF with MQTT and a connection to the cloud.
The embedded cloud is a reality, and Eurotech’s solution is one of the more comprehensive. Digi International’s iDigi (see “Development Kits Speed Wireless Apps To Market”) is another solution, but that’s a topic for another article.