When you take a close look at today’s news-making connected car, connected health, connected home, and other so-called Internet-of-Things solutions, it’s clear that the ‘Internet of Things’ is actually a misnomer. Things are not actually communicating on the TCP/IP-defined Internet; they are messaging each other on mobile M2M networks. To a large degree, the job of keeping the Internet of Things open has fallen to the open source communities responsible for advancing mobile messaging protocols like MQTT (Message Queueing Telemetry Transport).
The automated buildings industry is fortunate to have seasoned leaders that understand Open Source ecosystems. The history and future of OBIX, the generic web service interface for control systems, is a good example. I’m grateful for Toby Considine’s consistent and thorough reporting on OBIX (open Building Information Exchange) as well as Ken Sinclair’s OBIX call to action.
MQTT is designed for publisher/subscriber or Pub/Sub communications. To cite a big-name example, Facebook Messenger is based on MQTT. So when your teen uses her smart phone to Facebook-message out “My soccer team just won!,” she’s the publisher. All friends that get that message on their Facebook Mobile App-equipped phones – or even those at home on their PCs with their Facebook application open – are the ‘subscribers.’ Any one or number of those parties may then message back, “Great! Meet you for ice cream.” And the messages fly back and forth among tens or hundreds of connections playing the roles of publisher/subscriber, ad infinitum.
Pub/sub broadcasting as supported by MQTT is a powerful concept for sensor communications. Take a look at this video demonstrating how one developer is routing MQTT-SN over a Zigbee-compliant network. The collective energy of the Eclipse open source community has advanced MQTT in other ways too. To help manage wireless network risks, MQTT supports QoS (quality of service) levels like ‘fire and forget” “delivered at least once,” “delivered exactly once.” For security, MQTT brokers can enforce username and password authentication from clients to connect. To ensure privacy, the TCP connection may be encrypted with SSL/TLS.
The big names in big data want a stable and widely supported MQTT standard so they can build their own IoT platform on top. IBM is working with big chip and module manufacturers on built-in support for IoT MQTT protocol and IBM IoT Cloud which is rolling out on IBM Softlayer cloud. SAP, Oracle and Microsoft Windows Azure are also Eclipse Foundation members with their own MQTT initiatives.
The Eclipse IoT community came together at EclipseCon2014 in mid-March, including a full day of M2M IoT sessions and a demo of the Eclipse SmartHome project. This project focuses on the the current lack of interoperability among connected-home products. To date, you haven’t been able to program an action on one device — be it a digital thermostat, alarm system, advanced lighting control systems or smart phone — to be triggered by the status change of another. The Eclipse SmartHome project is all about standardizing the overarching automation logic. It is built on the open standards OSGi Alliance platform for Java-based software development – another open-source effort, like OBIX and MQTT, which has survived the test of time and benefitted from an open community ecosystem. An MQTT extension is planned as the M2M communication channel for the Eclipse SmartHome project.
To paraphrase a quote from Toby Considine’s February OBIX column, “When App culture and App technology comes to smart homes, Smart Energy Apps for commercial buildings won’t be far behind.”