MQTT Broker für ein HAM Netzwerk

Diese Anleitung erklärt, wie du den Mosquitto MQTT-Broker auf einem Raspberry Pi mit Raspberry Pi OS (Raspbian) installierst und konfigurierst und ihn über den mDNS-Hostnamen mqtt.ham.local
im Netzwerk erreichbar machst.
📦 Voraussetzungen
- Raspberry Pi mit Raspberry Pi OS (Debian-basiert)
- Lokales Netzwerk mit mDNS/Bonjour-Unterstützung (unter Linux/macOS standardmäßig vorhanden, unter Windows Bonjour erforderlich)
1. System aktualisieren
sudo apt update
sudo apt upgrade -y
2. Mosquitto-Broker und -Clients installieren
sudo apt install mosquitto mosquitto-clients -y
mosquitto
→ der MQTT-Broker-Dienstmosquitto-clients
→ Testwerkzeuge (mosquitto_pub
,mosquitto_sub
)
Der Broker startet automatisch und lauscht auf dem Port 1883.
3. mDNS-Hostname aktivieren (mqtt.ham.local
)
Installiere Avahi für mDNS-Unterstützung:
sudo apt install avahi-daemon -y
Bearbeite die Avahi-Konfiguration:
sudo nano /etc/avahi/avahi-daemon.conf
Hostname setzen:
host-name=mqtt.ham
Avahi neu starten:
sudo systemctl restart avahi-daemon
Dein Pi ist nun erreichbar unter:
mqtt.ham.local
4. Mosquitto konfigurieren (optional)
Standardmäßig erlaubt Mosquitto anonyme Verbindungen im LAN. Um die Konfiguration anzupassen:
sudo nano /etc/mosquitto/mosquitto.conf
Beispiel für eine minimale Konfiguration:
listener 1883
allow_anonymous true
persistence true
persistence_location /var/lib/mosquitto/
log_dest file /var/log/mosquitto/mosquitto.log
Broker neu starten:
sudo systemctl restart mosquitto
5. Broker testen
Öffne zwei Terminals oder nutze zwei Geräte:
Subscriber (Abonnent):
mosquitto_sub -h mqtt.ham.local -t test
Publisher (Veröffentlicher):
mosquitto_pub -h mqtt.ham.local -t test -m "Hello MQTT"
Du solltest die gesendete Nachricht im Subscriber-Terminal sehen ✅.
6. ESP32/ESP8266-Clients verbinden
In deinem Arduino/ESP32-Code den MQTT-Server so konfigurieren:
client.setServer("mqtt.ham.local", 1883);
✅ Ergebnis
- Der Raspberry Pi läuft als stabiler MQTT-Broker.
- Alle Geräte können sich über den Hostnamen
mqtt.ham.local
verbinden. - Keine statische IP-Konfiguration erforderlich.