Mosquitto MQTT Broker
Mosquitto
(Link
zu Mosquitto) ist ein ressourcenschonender MQTT Broker, der auf vielen Plattformen läuft. So auch auf
dem Raspberry pi.
MQTT
ist ein offenes Protokoll, das von der OASIS
(Organization for the Advancement of Structured Information Standards) standardisiert wird (Link zu OASIS
MQTT).
Installieren von Mosquitto auf dem Raspberry pi
Mosquitto kann mit dem Paketmanager apt
heruntergeladen werden. Dazu öffnet
man ein Terminal:
:~> sudo apt install mosquitto
Neben dem Broker sollten auch die Clients installiert werden.
:~> sudo apt install mosquitto-clients
Nach dem Installieren kann Mosquitto mit der -v Option (verbose) gestartet werden.
:~> mosquitto
-v
1672050687: mosquitto version 2.0.10 starting
1672050687: Using default config.
1672050687: Starting in local only mode. Connections will only be possible from clients running on this
machine.
1672050687: Create a configuration file which defines a listener to allow remote access.
1672050687: For more details see https://mosquitto.org/documentation/authentication-methods/
1672050687: Opening ipv4 listen socket on port 1883.
1672050687: Opening ipv6 listen socket on port 1883.
1672050687: mosquitto version 2.0.10 running
1672050692: mosquitto version 2.0.10 terminating
So kann man überprüfen, welche Version von MQTT installiert ist und auf welchen Port Mosquitto hört. Normalerweise sollte dies der Port 1883 sein.
Test des Mosquitto Brokers
Ist Mosquitto und die Mosquitto-Clients auf dem System installiert, kann ein einfacher Funktionstest erfolgen.
Mosquitto Subscriber-Client testen
In einem Terminal wird ein Mosquitto Subscriber-Client gestartet.
:~> mosquitto_sub
-h localhost
-t test1
mosquitto_sub
-h localhost
-t test1
|
|
IP des Brokers oder localhost, wenn der Broker auf dem selben Rechner wie der Client läuft |
|
|
Bezeichner des Topics, das der Subscriber-Client abonnieren soll. |
Der Subscriber-Client kann mit der Tastenkombination Strg + c
beendet werden.
Mosquitto Publisher-Client testen
In einem anderen Terminal wird ein Mosquitto Publisher-Client gestartet.
:~> mosquitto_pub
-h localhost
-t test1
-m Hallo!
mosquitto_pub
-h localhost
-t test1
-m Hallo!
|
|
IP des Brokers oder localhost, wenn der Broker auf dem selben Rechner wie der Client läuft |
|
|
Bezeichner des Topics, das der Subscriber-Client abonnieren soll. |
|
|
Die Nachricht, die veröffentlicht werden soll. |
Die Nachricht sollte, sobald sie vom Publisher veröffentlicht wird, im Terminal des Subscribers auftauchen.
Link to the video in English language
Für die Kommunikation via MQTT im LAN muss der Mosquitto Broker konfiguriert werden: