Einführung in MQTT: Alles läuft über den Broker

MQTT eignet sich hervorragend für Sensoren und IoT-Anwendungen. Wir geben eine Einführung in das Protokoll für Machine-to-Machine-Kommunikation.

Artikel von Florian Bottke/seeseekey.net veröffentlicht am
Nicht alle Maschinen brauchen einen Broker, um miteinander zu kommunizieren.
Nicht alle Maschinen brauchen einen Broker, um miteinander zu kommunizieren. (Bild: Pixabay)

Wer Daten von A nach B übermitteln möchte, hat unzählige Möglichkeiten dies zu tun. Je nach Anforderung und Anwendungsfall sieht die ideale Möglichkeit der Datenübermittlung anders aus. Für die Kommunikation zwischen Sensoren und im IoT-Bereich hat das Protokoll MQTT den Standard gesetzt.

Inhalt:
  1. Einführung in MQTT: Alles läuft über den Broker
  2. Wenn die Verbindung plötzlich abbricht
  3. Drei unterschiedliche Qualitätsstufen

Immer dort, wo verteilte Systeme miteinander kommunizieren müssen, eignet sich MQTT. MQTT steht für Message Queue Telemetry Transport und ist architektonisch relativ einfach aufgebaut. MQTT ist Nachrichten-orientiert und zentralisiert.

  • Die MQTT-Architektur (Bild: Florian Bottke, Screenshot: Golem.de)
  • Die Kommunikation zwischen Client und Broker (Bild: Florian Bottke, Screenshot: Golem.de)
  • Das OSI-Modell (Bild: Florian Bottke, Screenshot: Golem.de)
  • MQTTBox unter Mac OS (Bild: Florian Bottke, Screenshot: Golem.de)
Die MQTT-Architektur (Bild: Florian Bottke, Screenshot: Golem.de)

Für MQTT wird ein Broker benötigt, die zentrale Instanz, an welche alle Clients ihre Nachrichten senden und sie von diesem Broker empfangen.

Im Umkehrschluss bedeutet dies, dass sich die Clients untereinander nicht kennen.

Stellenmarkt
  1. Business Process Engineer (w/m/d)
    ZDF Studios GmbH, Mainz
  2. Softwareentwickler Backend Java Online-Games (m/w/d)
    BALLY WULFF Games & Entertainment GmbH, Berlin-Tempelhof
Detailsuche

Die gesamte Kommunikation läuft über den Broker ab. Die Nachrichten werden nicht einfach wahllos an den Broker geschickt, sondern an ein sogenanntes Topic, ein Thema, zum Beispiel bad/lichtsensor1.

Diese Topics sind hierarchisch aufgebaut und werden wie ein Pfad, mit einem Slash als Trennzeichen, definiert.

Die Topics können von anderen Clients abonniert werden, so dass diese bei einer neuen Nachricht das Topic betreffend informiert werden.

Durch den hierarchischen Aufbau ist es möglich, alle Topics einer bestimmten Hierarchieebene zu abonnieren. So würde der Topic:

  1. bad/#

alle Untertopics von bad abonnieren. Eine weitere Möglichkeit ist, an einer bestimmten Stelle im Pfad das Sonderzeichen Plus zu benutzen:

  1. +/lautsprecher/

In diesem Beispiel würden alle Lautsprecher aller Zimmer abonniert, so wären sowohl bad/lautsprecher als auch wohnzimmer/lautsprecher abgedeckt.

Nach der Verbindung mit einer CONNECT-Nachricht antwortet der Broker mit einer CONNACK-Nachricht. Damit ist die Verbindung etabliert. Der Client abonniert in dem Beispiel (siehe unten) den Topic bad/lichtsensor1. Nun kann der Broker den Client über Nachrichten, die dieses Topic betreffen, informieren.

Wenn eine solche Nachricht eingeht, reagiert der Client, indem er auf dem Topic bad/lautsprecher die Nachricht bzw. den Wert on hinterlässt. Soll die Verbindung später wieder beendet werden, so wird eine DISCONNECT-Nachricht gesendet.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed
  • Die MQTT-Architektur (Bild: Florian Bottke, Screenshot: Golem.de)
  • Die Kommunikation zwischen Client und Broker (Bild: Florian Bottke, Screenshot: Golem.de)
  • Das OSI-Modell (Bild: Florian Bottke, Screenshot: Golem.de)
  • MQTTBox unter Mac OS (Bild: Florian Bottke, Screenshot: Golem.de)
Die Kommunikation zwischen Client und Broker (Bild: Florian Bottke, Screenshot: Golem.de)
Wenn die Verbindung plötzlich abbricht 
  1. 1
  2. 2
  3. 3
  4.  


Smolo 20. Jan 2022

So schlimm würde ich das jetzt nicht bezeichnen. Ich bin schon ein großer Freund von...

Bernte 19. Jan 2022

Vielen Dank für diese Liste! Einen SMA Wechselrichter und einen Node Red Pi habe ich...

Zombieanfuehrer 18. Jan 2022

Vielen Dank! :)

FlashBFE 18. Jan 2022

Wie der Artikel schon richtig beginnt, gibt es Protokolle wie Sand am Meer. Und hier wird...



Aktuell auf der Startseite von Golem.de
Geleaktes One Outlook ausprobiert
Wie Outlook Web, nur besser

Endlich wird das schreckliche Mail-Programm in Windows 10 und 11 ersetzt. One Outlook ist zudem mehr, als nur Outlook im Browser.
Ein Hands-on von Oliver Nickel

Geleaktes One Outlook ausprobiert: Wie Outlook Web, nur besser
Artikel
  1. App Store: Apple gestattet Abo-Preiserhöhung ohne Kundenzustimmung
    App Store
    Apple gestattet Abo-Preiserhöhung ohne Kundenzustimmung

    Wer ein Abo über eine App im App Store bucht, muss damit rechnen, dass er vor einer Preiserhöhung nicht mehr nach einer Zustimmung gefragt wird.

  2. Was man aus realen Cyberattacken lernen kann
     
    Was man aus realen Cyberattacken lernen kann

    "Hätte ich das mal vorher gewusst!" Die Threat Hunter von Sophos haben ihre Erfahrungen im täglichen Kampf gegen Cyberkriminelle in einem Kompendium zusammengefasst. Jedes Kapitel enthält praxisorientierte IT-Sicherheitsempfehlungen für Unternehmen.
    Sponsored Post von Sophos

  3. Forschung: Blaualge versorgt Mikrocontroller sechs Monate mit Strom
    Forschung
    Blaualge versorgt Mikrocontroller sechs Monate mit Strom

    Ein Forschungsteam hat einen Arm Cortex-M0+ sechs Monate ununterbrochen mit Strom versorgt. Die Algen lieferten sogar bei Dunkelheit Strom.

Du willst dich mit Golem.de beruflich verändern oder weiterbilden?
Zum Stellenmarkt
Zur Akademie
Zum Coaching
  • Schnäppchen, Rabatte und Top-Angebote
    Die besten Deals des Tages
    Daily Deals • Cyber Week: Bis zu 400€ Rabatt auf Gaming-Stühle • AOC G3 Gaming-Monitor 34" UWQHD 165 Hz günstig wie nie: 404€ • Xbox Series X bestellbar • MindStar (u.a. Gigabyte RTX 3090 24GB 1.699€) • LG OLED TV (2021) 65" 120 Hz 1.499€ statt 2.799€ [Werbung]
    •  /