21x9.org | System Administration | Home Automation | Smart Home
11.07.2023

MQTT mit Mosquitto

Mosquitto1 ist ein MQTT-Broker. MQTT2 ist ein Protokoll über das sehr viele smarte Geräte Statusinformationen senden und Steuerbefehle erhalten können. Der MQTT-Broker ist quasi eine Zustandsdatenbank für die angeschlossenen MQTT-Clients.

Die Installation und Einrichtung ist sehr einfach:

apt install mosquitto mosquitto-clients  

Anschließend erzeugt man eine Datei mit Benutzer und Kennwort und passt die Konfiguration an:

mosquitto_passwd -c /etc/mosquitto/passwd gpkvt  
mcedit /etc/mosquitto/mosquitto.conf  
mcedit /etc/mosquitto/conf.d/listener.conf  
/etc/init.d/mosquitto restart

Die mosquitto.conf3 sollte wie folgt aussehen:

pid_file /run/mosquitto/mosquitto.pid  

persistence true  
persistence_location /var/lib/mosquitto/  

log_dest file /var/log/mosquitto/mosquitto.log  

include_dir /etc/mosquitto/conf.d

Die listener.conf so:

listener 1883 0.0.0.0  
password_file /etc/mosquitto/passwd  
allow_anonymous false

Die korrekte Funktion von Mosquitto kann mit den Befehlen mosquitto_sub4 und mosquitto_pub5 getestet werden, in einem Terminal wird der folgende Befehl ausgeführt:

mosquitto_sub -h localhost -t test -u gpkvt -P <PASSWORD>

In einem weiteren Terminal dieser:

mosquitto_pub -h localhost -t test -m "hello world" -u gpkvt -P <PASSWORD>

Im Terminal mit mosquitto_sub sollte daraufhin hello world erscheinen.

Ein verbreitetes Anwendungsszenario für MQTT sind z.B. mit Tasmota6 geflashte Steckdosen. Aber auch Eigenkreationen auf Basis von ESP327/ESP82668 Mikrokontroller lassen sich leicht an MQTT Server anbinden und steuern. Es gibt auch viele iOS und Android Apps, mit denen sich MQTT Geräte auslesen und ansteuern lassen. Ich nutze MQTT auch gern um Statusinformationen meiner SmartHome Geräte in einem standardisierten Format und Protokoll zu übertragen und lese diese dann z.B. mit Prometheus9 ein und werte die Daten mit Grafana10 aus (z.B. Temperatur und Luftfeuchtigkeit).


  1. https://mosquitto.org ↩

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

  3. https://mosquitto.org/man/mosquitto-conf-5.html ↩

  4. https://mosquitto.org/man/mosquitto_pub-1.html ↩

  5. https://mosquitto.org/man/mosquitto_sub-1.html ↩

  6. https://tasmota.github.io/docs/ ↩

  7. https://de.wikipedia.org/wiki/ESP32 ↩

  8. https://de.wikipedia.org/wiki/ESP8266 ↩

  9. https://prometheus.io ↩

  10. https://grafana.com ↩

Tags: linux mqtt smart_home

Mehr

  • Flexible, bootfähige USB-Sticks mit Ventoy
  • Smarte Steckdosen ohne Cloud
  • Datenerfassung mit Prometheus
  • Smarthome-Geräte mit ESP-Mikrokontrollern
  • Datenvisualisierung mit Grafana

Tags

linux mqtt smart_home

Archiv

  • Mar 2025 (2)
  • May 2024 (2)
  • Oct 2023 (1)
  • Aug 2023 (5)
  • Jul 2023 (31)

  • Ältere Einträge (95)

Feeds

Atom 1.0 RSS JSON
  • Datenschutz
  • Impressum
  • Archiv