Suche

Hype ohne Ende: Mit MQTT zum Rockstar im Internet der Dinge

Diana Kupfer

MQTT ist in aller Munde. In der IoT-Szene wird das leichtgewichtige, quelloffene Messaging-Protokoll längst schon seit längerer Zeit als Standard für das Internet der Dinge gehandelt – und erlebt gemeinsam mit anderen M2M- bzw. IoT-Technologien derzeit einen enormen Popularitätsaufschwung. Wer das nicht glaubt, der sollte einmal Twitter nach dem Begriff „MQTT“ durchforsten.

2012 traten die Erfinder Andy Stanford- Clark und Arlen Nipper im Rahmen zweier TEDx-Talks vor die Kamera und machten die Öffentlichkeit auf ihre 1999 gemeinsam entwickelte Technologie neugierig. Auf einen Schlag berühmt wurde MQTT dann, als Ende März 2013 erstmalig ein OASIS-Komitee zusammentrat, mit dem Ziel, dem Protokoll offiziell den Status eines offenen Standards zu verleihen. Seither stellen sogar Mainstream-Medien wie die New York Times fest, dass MQTT der Kitt sein könnte, der Milliarden von Geräten – 50 Milliarden bis 2020, wenn man Ericsson glaubt – zusammenhält.

MQTT steht für „Message Queue Telemetry Transport“. Es basiert auf dem Publish-Subscribe-Prinzip. Clients kommunizieren also nicht untereinander (Peer-to-Peer), sondern nutzen dazu einen zentralen Server, den Broker. Von diesem abonnieren sie so genannte Topics (subscribe), zu denen sie Nachrichten empfangen möchten. Umgekehrt teilen sie dem Broker mit, zu welchen Topics sie Nachrichten an ihn schicken (publish). Aufgabe des Brokers ist es, die jeweils erwünschten Nachrichten an alle Clients zuzustellen.

Nun kann es bei der Vielzahl an vernetzten Geräten mit unterschiedlichen Anforderungen – vom Temperatursensor bis zur Insulinpumpe, vom Schrittzähler bis zum Aktor in einem komplexen mechatronischen System – nicht das Protokoll geben. Komplementäre Ergänzungen und Alternativen wie das CoAP (Constrained Application Protocol) oder das AMQP (Advanced Message Queuing Protocol) werden also weiterhin zum Zuge kommen. Umso erstaunlicher, dass MQTT trotz gewisser Einschränkungen – fehlende REST-Unterstützung etwa – immer mehr Adopter findet. So wird es etwa in der neuen IoT-Plattform von Wind River Daten hin- und hertransportieren. Bei der Eclipse Foundation setzt man spätestens seit der Aufnahme von Paho in den M2M-Projektkatalog auf MQTT. Im aktuellen Eclipse Magazin zeigt Florian Pirchner, wie man einen Chatclient mit Vaadin und Paho implementiert.

Die Broker-Seite – Red Hat JBoss A-MQ meets MQTT

Das Broker-Gegenstück zu Paho, Mosquitto, kam Ende September im Rahmen eines neuen Projektvorschlags zur Eclipse Foundation hinzu. Aber Mosquitto ist bei Weitem nicht der einzige potentielle MQTT-Broker. Für RabbitMQ, ebenfalls Open Source, steht ein MQTT-Adapter bereit, der für Interoperabilität zwischen MQTT und AMQP sorgt.

Seit gut einem Jahr gibt es moquette-mqtt, eine neue, kleinere MQTT-Broker-Implementierung in Java. Zur Enkodierung und Dekodierung verwendet moquette Apache MINA oder Netty. Derzeit ist es in Version 0.3 erhältlich.

Auch bei Red Hat ist man auf das Protokoll-Fliegengewicht aufmerksam geworden. Gestern veröffentlichte Kenneth Peeples, JBoss Technology Evangelist, ein Tutorial, in dem er mit wenigen Schritten die hauseigene Open-Source-Messaging-Plattform A-MQ mit MQTT und Android integriert. A-MQ basiert seinerseits auf dem Message Broker ActiveMQ, ein Apache-Projekt. Eine Beispiel-Anwendung hält Peeples ebenfalls parat, die den Nutzer, wie er verspricht, zum „Rockstar“ in der IoT-Welt macht. Ein Blick in das Tutorial lohnt sich – schon allein, um sich einen Eindruck davon zu verschaffen, wie leicht die ersten Schritte mit MQTT sind. Denn die niedrige Einstiegsbarriere dürfte neben der Leichtgewichtigkeit und der Offenheit ein wesentlicher Grund für den kometenhaften Aufstieg des Protokolls sein.

Geschrieben von
Diana Kupfer
Diana Kupfer
Diana Kupfer war Redakteurin bei S&S Media für die Zeitschriften Java Magazin, Eclipse Magazin und das Portal JAXenter. 
Kommentare
  1. Dominik Obermaier2013-10-15 16:09:34

    Sehr schöner Artikel! Sehr gut finde ich den Punkt, dass ein Publish/Subscribe Protokoll wie MQTT alleine für eine M2M Platform, die Maschinen *und* Menschen benutzen nicht ausreicht und mindestens ein RESTful Protokoll wie CoAP oder HTTP noch angeboten werden sollte.

    Es ist daher meiner Erfahrung nach extrem wichtig, dass sowohl der HTTP-REST Service als auch der MQTT Broker sehr eng verzahnt werden müssen (oder mit der dahinterliegenden Platform sehr eng verzahnt sind) und es deshalb eine gute Integration beider bedarf.

    Um die tiefe Integration in bestehende M2M Platformen zu ermöglichen kann man beispielsweise mit dem Open Source Plugin System des HiveMQ MQTT Brokers (http://www.hivemq.com) diese Integration vornehmen.

    Bezüglich CoAP gibt es in der Java Welt bisher leider noch sehr wenig Projekte. Wünschenswert wäre es beispielsweise wenn man in Zukunft CoAP Services nach einem ähnlichen Model wie JAX-RS serverseitig implementieren könnte. In der Node.JS Community tut sich da im Moment noch wesentlich mehr als in der Java Community...

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.