MQTT Protocol + Experimental Setup

Last Updated on 8. October 2026 by SuffocationLink status: OK

Ich bin im Netz auf den Begriff MQTT gestoßen und fand den Ansatz dahinter richtig gut. Deshalb habe ich mir mal einen kleinen Versuchsaufbau gegönnt, den ich im Folgenden beschrieben habe.

Vorab ein paar Details zu MQTT

Infos zu MQTT

Allgemeines

MQTT regelt die Kommunikation zwischen Datenquellen und Datensenken mittels eines Brokers.

Datenquelle

Quellen für Daten können ganz unterschiedliche Geräte sein, eines haben sie jedoch alle gemeinsam, sie können Netzwerkverbindungen aufbauen, um ihre Daten weiterzugeben und sie haben was, was sie mitteilen wollen.

In der IoT können dies Sensor-Knoten sein, welche ihre Daten an einen oder mehrere Empfänger senden wollen.  Die Liste der möglichen Daten ist hierbei nahe unendlich. Beispiele sind Temperaturwerte, Schaltzustände,  Helligkeitswerte usw.

Die Quelle meldet sich an einem (oder mehreren Brokern?) an. Ihre Daten sendet sie so lange, bis diese vom Broker quittiert wurden.

Datensenken (Interessenten)

Senken für Daten sind bei MQTT die sog. Interessenten. Diese möchten bestimmte Informationen von Quellen erhalten und diese dann auswerten (Berechnung) oder einfach nur präsentieren (Bildschirmanzeige). Beispiele sind Handy Apps, eine Lampe, die wissen will, wann sie eingeschaltet wird usw.

Broker

Der Broker dient als Bindeglied zwischen den Quellen und den Senken. Er hat die Aufgabe, Daten von Quellen zu sammeln und diese an die Interessenten weiterzureichen.  Eine Auswertung/ Aufbereitung der Daten ist ihm nicht gestattet, jedoch darf er die Daten zwischenspeichern, um zum Beispiel neue Interessenten mit dem zuletzt empfangenen oder auch mit historischen Werten zu versorgen.

Die Idee hinter dem Protokoll ist, dass leistungsschwache Sensorknoten nur eine Verbindung mit einem Broker (Empfänger Server) aufbauen und nur an diesen senden sie ihre Daten. Der leistungsstärkere Broker verteilt die Informationen dann an die Interessenten.

Ein kleines Projekt

Ich habe ein kleines Projekt aufgesetzt, mit einem Sensorknoten als Quelle, einem Broker auf einem Raspberry Pi und meinem Handy als Senke.

What

  • Board Node MCU ESP8266
  • Temperatursensor DHT11
  • Bibliothek pubsubclient

Der genaue Aufbau ist in einem anderen Beitrag bereits beschrieben, weshalb ich mich hier nur auf die MQTT basierten Fakten stürze.

DHT10 mit ESP8266Link status: OK

Die Bibliothek installieren:

Hier ist der nach MQTT angepasste Quellcode:

ESP8266TempSensorMQTTLink status: OK

Bitte die Netzwerkdaten und die Brokerdaten an eure Topologie anpassen. Achtung, der DHT Sensor benötigt auch eine Bibliothek wie im gelinkten Beitrag beschrieben.

Broker

Raspberry nach Belieben aufsetzen oder so wie hier:

Auf dem Pi dann die Mosquitto Software installieren.

Software Download

Link: http://mosquitto.org/downloadLink status: OK

Die letzte Version holen, der Link kann von der obigen Seite kopiert werden. Die aktuelle Version kann mit wget direkt auf den PI geholt werden:

sudo wget <direkter link zum paket>

in meinem Fall war das

sudo wget http://mosquitto.org/files/source/mosquitto-1.5.tar.gz

Installation

Benötigte libs installieren mit

sudo apt-get install libwrap0-dev libcurl4-openssl-dev libmysqlclient-dev libssl-dev apt-get install uuid-dev 

Paket auspacken:

tar zxf ./mosquitto-1.5.tar.gz

In den ausgepackten Ordner springen und mosquitto …

cd mosquitto-1.5/

… bauen und installieren …

make
sudo make install
sudo ldconfig

… noch starten

Den ESP8266 starten und die erste Verbindung sollte klappen:

Senke

Ich verwende mein Handy als Senke und eine MQTT Empfänger APP. Ich habe ein paar probiert, bin dann aber erstmal bei „IoT MQTT Panel“ hängen geblieben, weil sie auf Anhieb funktionierte und auch Platzhalter unterstützt.

Hier der LinkLink status: OK

Folgende Einstellungen habe ich vorgenommen, ihr müsst diese natürlich an eure Applikation und Netzwerktopologie anpassen.

Erstmal eine neue Verbindung erstellen mit den Verbindungsdaten des Mosquitto Servers.

Die neue Verbindung öffnen

Conclusion

Solch ein MQTT Projekt ist in wenigen Stunden aufgebaut und macht Spaß. Dabei hat es noch großes Potential, denn man kann leicht mehrere Knoten mit einem Standard-Server verbinden und zusätzlich die Daten z.B. auf dem Handy anzeigen lassen.

Sources

https://de.wikipedia.org/wiki/MQTT

Java Client PahoLink status: OK

MQTT Git-hub Community WikiLink status: OK
https://github.com/mqtt/mqtt.github.io/wiki

Github Seite mit MQTT libsLink status: Unknown
https://github.com/mqtt/mqtt.github.io/wiki/libraries

Lib für ESP8266 und andereLink status: OK
https://github.com/knolleary/pubsubclient

Mosquitto Broker KonfigurationshilfeLink status: Unknown
http://www.steves-internet-guide.com/mossquitto-conf-file/

MQTT best practiceLink status: Unknown
https://www.hivemq.com/blog/mqtt-essentials-part-5-mqtt-topics-best-practices

DateChangeAuthor
08.10.2026Überschriften-Hierarchie korrigiert (H1→H2, Unterebenen eine Stufe tiefer)Suffocation
04.10.2026Rechtschreibung korrigiert: Tippfehler, Kommas, Groß-/KleinschreibungSuffocation
03.10.2026Log-Liste eingefügtSuffocation
09.08.2018Post createdSuffocation
Changelog

Leave a Reply

Your email address will not be published. Required fields are marked *