Tim · Server & Infrastruktur

MQTT-Broker-Server

Debian-VM mit Mosquitto als MQTT-Broker, mit eigener Benutzer-Authentifizierung

Bearbeitet von: Tim

Der MQTT-Broker läuft auf einer eigenen Debian-VM (ohne GUI). Er nimmt die Messwerte vom ESP32 entgegen und stellt sie für Node-RED bereit. Als Broker wird Mosquitto genutzt.

Eckdaten

PunktWert
VMDebian (ohne GUI)
Maschinennamemqtt
Interne IP192.168.1.… (noch eintragen)
BrokerMosquitto
Port1883
AuthBenutzer + Passwort (Passwort-Datei)
MQTT-Benutzermqtt_f
Zugangsiehe Passwörter

Installation

Mosquitto ist als normale Standard-Installation auf der Debian-VM eingerichtet.

Authentifizierung (Besonderheit)

Standardmäßig würde Mosquitto jeden ohne Login annehmen. Damit nur unsere Geräte zugreifen, ist in der Config eine Passwort-Datei eingetragen und der anonyme Zugriff abgeschaltet. Darüber wurde ein eigener Benutzer mqtt_f für unsere Gruppe angelegt. Mit dem meldet sich der ESP32 (publish) und Node-RED (subscribe) am Broker an.

In der Mosquitto-Config:

# /etc/mosquitto/mosquitto.conf (bzw. eine Datei in conf.d)
allow_anonymous false
password_file /etc/mosquitto/passwd

Benutzer anlegen (das -c legt die Passwort-Datei neu an):

sudo mosquitto_passwd -c /etc/mosquitto/passwd mqtt_f

Das Passwort von mqtt_f steht bei den Passwörtern.

Topics

Die genutzten Topics (vom ESP32 befüllt) stehen in Finns Konfiguration: sensor/temperatur, sensor/luftfeuchte, sensor/luftdruck.