MQTT Broker installieren neu

Um MQTT zu nutzen, muss ein Broker verwendet werden, mit dem die MQTT Clients kommunizieren. Wenn im Netzwerk noch kein Broker installiert ist, kann auf dem Rechner auf dem SmartHomeNG installiert wird, auch ein Broker installiert werden.

Ein populärer Open Source Broker ist Eclipse Mosquitto™. Die Installation dieses Brokers wird im folgenden beschrieben. Weitergehende Informationen zu dem Broker sind unter https://mosquitto.org zu finden.

Mosquitto ist bei Debian Stretch im Standard Repository enthalten und kann daher einfach mit dem folgenden Kommando installiert werden:

sudo apt-get install mosquitto

Anschließend kann mit dem Befehl

sudo service mosquitto status

überprüft werden, ob der Broker läuft. Wenn der Servic läuft, sieht man eine ähnliche Ausgabe wie folgende:

● mosquitto.service - LSB: mosquitto MQTT v3.1 message broker
   Loaded: loaded (/etc/init.d/mosquitto; generated; vendor preset: enabled)
   Active: active (running) since Wed 2018-05-30 13:39:47 CEST; 5min ago
     Docs: man:systemd-sysv-generator(8)
   CGroup: /system.slice/mosquitto.service
           └─3548 /usr/sbin/mosquitto -c /etc/mosquitto/mosquitto.conf

Mai 30 13:39:47 SmartHomeNG systemd[1]: Starting LSB: mosquitto MQTT v3.1 messag
Mai 30 13:39:47 SmartHomeNG mosquitto[3543]: Starting network daemon:: mosquitto
Mai 30 13:39:47 SmartHomeNG systemd[1]: Started LSB: mosquitto MQTT v3.1 message

Der Service kann dann mit den folgenden Befehlen gestartet, gestoppt und restartet werden:

sudo service mosquitto start
sudo service mosquitto stop
sudo service mosquitto restart

Nach der Installation ist der Broker für jeden MQTT Client nutzbar. Wenn eine Authentifizierung gewünscht wird, muss Mosquitto entsprechend der Dokumentation (https://mosquitto.org/man/mosquitto-conf-5.html) konfiguriert und neu gestartet werden.

Gleiches gilt, wenn zusätzlich zum MQTT Protokoll (auf Port 1883) auch noch Websockets genutzt werden sollen.