© Liashko/Shutterstock.com
Entwickler Magazin
M2M-Kommunikation mit MQTT

Kuck mal, wer da spricht!

Das Internet der Dinge ist in aller Munde. Dank günstigen Einplatinencomputern wie Raspberry Pi und Arduino ist es möglich, preiswerte Geräte z. B. für die Erhebung und Auswertung von Sensordaten über das Internet zu vernetzen. Grund genug, sich Paho, die Referenzimplementierung des MQTT-Protokolls zur Maschine-zu-Maschine-(M2M-)Kommunikation für Java, genauer anzusehen und in einem konkreten Anwendungsfall einzusetzen.

Dominik Obermaier, Christian Götz


Der Begriff „Internet of Things“ wurde bereits 2009 von Kevin Ashton geprägt [1] und bezeichnet die Vernetzung von Dingen der realen Welt über das Internet oder geschlossene Netzwerke. Die Grundidee ist simpel: Physische Geräte können miteinander kommunizieren und so Daten untereinander austauschen oder gar gesteuert werden. Populär ist dieser Ansatz heute bereits bei der Erhebung von Sensordaten, die man dann über das Internet an interessierte Clients sendet. Diese Daten werden in der Folge meist aggregiert und für Menschen lesbar in Form von Diagrammen oder Statistiken aufbereitet.

Die Anwendungsszenarien sind praktisch unbegrenzt. Stellen Sie sich vor, Ihr Wecker würde automatisch zehn Minuten später klingeln, da er benachrichtigt wird, dass Ihre Zugverbindung fünfzehn Minuten Verspätung hat. Gleichzeitig würde Ihre Kaffeemaschine sich automatisch auch zehn Minuten später einschalten, damit ihr Frühstückskaffee nicht kalt ist, bis Sie aufstehen. Klingt wie Zukunftsmusik? Das alles ist heute schon möglich. Die Firma Ericsson prognostiziert, dass bis 2020 mindestens 50 Milliarden Geräte über das Internet kommunizieren werden [2]. Möglich ist das dank der zunehmenden Verbreitung von IPv6 und offenen Maschine-zu-Maschine-(M2M-)Kommunikationsprotokollen, die leichtgewichtig genug sind, um mit möglichst wenig Protokoll-Overhead sogar über Mobilfunknetze eine günstige Kommunikation zu erlauben.

MQTT

Das Message-Queue-Telemetry-Transport-(MQTT-)Protokoll wurde 1999 von Andy Stanford-Clark (IBM) und Arlen Nipper (Eurotech) als ein M2M-Kommunikationsprotokoll mit minimalen Protokoll-Overhead entwickelt, um vernetzten Geräten eine Möglichkeit zu bieten, möglichst bandbreiten- und batterieschonend zu kommunizieren. Das Protokoll schlägt mit einem ereignisgesteuerten Ansatz einen anderen Weg ein als beispielsweise HTTP, welches auf Request/Response basiert. MQTT benutzt das Publish Subscribe Pattern (Abb. 1). Das bedeutet, dass die Clients sich untereinander nicht kennen und einen zentralen Verteiler, einen so genannten Broker, zur Kommunikation nutzen. Der Broker ist dafür zuständig, dass eine gesendete Nachricht alle interessierten Clients erreicht. Wenn ein Client sich mit einem Broker verbindet, teilt dieser dem Broker mit, für welche so genannten Topics er benachrichtigt werden möchte, also welche Topics er abonnieren will. Diesen Vorgang nennt man Subscribe. Wenn ein Client eine Nachricht sendet, muss er darin angeben, an welches Topic diese Nachricht gesende...

Entwickler Magazin
M2M-Kommunikation mit MQTT

Kuck mal, wer da spricht!

Das Internet der Dinge ist in aller Munde. Dank günstigen Einplatinencomputern wie Raspberry Pi und Arduino ist es möglich, preiswerte Geräte z. B. für die Erhebung und Auswertung von Sensordaten über das Internet zu vernetzen. Grund genug, sich Paho, die Referenzimplementierung des MQTT-Protokolls zur Maschine-zu-Maschine-(M2M-)Kommunikation für Java, genauer anzusehen und in einem konkreten Anwendungsfall einzusetzen.

Dominik Obermaier, Christian Götz


Der Begriff „Internet of Things“ wurde bereits 2009 von Kevin Ashton geprägt [1] und bezeichnet die Vernetzung von Dingen der realen Welt über das Internet oder geschlossene Netzwerke. Die Grundidee ist simpel: Physische Geräte können miteinander kommunizieren und so Daten untereinander austauschen oder gar gesteuert werden. Populär ist dieser Ansatz heute bereits bei der Erhebung von Sensordaten, die man dann über das Internet an interessierte Clients sendet. Diese Daten werden in der Folge meist aggregiert und für Menschen lesbar in Form von Diagrammen oder Statistiken aufbereitet.

Die Anwendungsszenarien sind praktisch unbegrenzt. Stellen Sie sich vor, Ihr Wecker würde automatisch zehn Minuten später klingeln, da er benachrichtigt wird, dass Ihre Zugverbindung fünfzehn Minuten Verspätung hat. Gleichzeitig würde Ihre Kaffeemaschine sich automatisch auch zehn Minuten später einschalten, damit ihr Frühstückskaffee nicht kalt ist, bis Sie aufstehen. Klingt wie Zukunftsmusik? Das alles ist heute schon möglich. Die Firma Ericsson prognostiziert, dass bis 2020 mindestens 50 Milliarden Geräte über das Internet kommunizieren werden [2]. Möglich ist das dank der zunehmenden Verbreitung von IPv6 und offenen Maschine-zu-Maschine-(M2M-)Kommunikationsprotokollen, die leichtgewichtig genug sind, um mit möglichst wenig Protokoll-Overhead sogar über Mobilfunknetze eine günstige Kommunikation zu erlauben.

MQTT

Das Message-Queue-Telemetry-Transport-(MQTT-)Protokoll wurde 1999 von Andy Stanford-Clark (IBM) und Arlen Nipper (Eurotech) als ein M2M-Kommunikationsprotokoll mit minimalen Protokoll-Overhead entwickelt, um vernetzten Geräten eine Möglichkeit zu bieten, möglichst bandbreiten- und batterieschonend zu kommunizieren. Das Protokoll schlägt mit einem ereignisgesteuerten Ansatz einen anderen Weg ein als beispielsweise HTTP, welches auf Request/Response basiert. MQTT benutzt das Publish Subscribe Pattern (Abb. 1). Das bedeutet, dass die Clients sich untereinander nicht kennen und einen zentralen Verteiler, einen so genannten Broker, zur Kommunikation nutzen. Der Broker ist dafür zuständig, dass eine gesendete Nachricht alle interessierten Clients erreicht. Wenn ein Client sich mit einem Broker verbindet, teilt dieser dem Broker mit, für welche so genannten Topics er benachrichtigt werden möchte, also welche Topics er abonnieren will. Diesen Vorgang nennt man Subscribe. Wenn ein Client eine Nachricht sendet, muss er darin angeben, an welches Topic diese Nachricht gesende...

Neugierig geworden?


   
Loading...

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang