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.
Embedded Publish/Subscribe
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