Mosquitto ist ein frei verfügbarer Broker, welcher gut auf dem Raspberry Pi läuft. Er dient in meiner HomeAutomation 2.0 als Datenvermittlungszentrale. Zum Einsatz kommt ein Raspberry B Model 2 mit angeschlossener USB-Festplatte, auf dem auch OpenHAB läuft. Der Pi muß eine feste IP-Adresse haben, das neueste Raspbian Wheezy muß installiert sein. Im Beispiel wird die im September 2015 aktuelle Version 1.4.3 installiert.
Die Installation von 'Mosquitto'
Die Installationsanleitung auf http://mosquitto.org/2013/01/mosquitto-debian-repository/ kann für den Raspberry Pi verwendet werden. Man meldet sich 'pi' über PuTTY an.
Um das Debian Paket nutzen zu können, muß man zuerst den Paket-Signierungs-Key importieren:
wget http://repo.mosquitto.org/debian/mosquitto-repo.gpg.key
sudo apt-key add mosquitto-repo.gpg.key
cd /etc/apt/sources.list.d/
Für Raspbian Wheezy wird die Repositoryliste geladen mit
sudo wget http://repo.mosquitto.org/debian/mosquitto-wheezy.list
alternativ für Raspbian Jessie:
sudo wget http://repo.mosquitto.org/debian/mosquitto-jessie.list
Dann wird die Updateinformation auf den neuesten Stand gebracht:
sudo apt-get update
und dann Mosquitto installiert:
sudo apt-get install mosquitto mosquitto-clients python-mosquitto
Dabei werden die Mosquitto-Client-Befehle und die Python-Unterstützung mitinstalliert. Nach der Installation prüft man, ob Mosquitto läuft:
ps -A | grep mosq
Betrieb von Mosquitto
Mosquitto startet nach jedem Boot automatisch. Im Verzeichnis
/etc/init.d/mosquitto
befindet sich das Startup-Skript. Von der Kommandozeile aus kann man Mosquitto steuern:
sudo service mosquitto restart
sudo service mosquitto stop
sudo service mosquitto start
Test von 'Mosquitto'
Ein erster Test kann über die Kommadozeile durchgeführt werden. Dazu öffnet man zwei PuTTY-Fenster und meldet sich jeweil mit dem Benutzer 'pi' an.
Das erste Fenster dient der Anzeige von MQTT-Topics. Mit 127.0.0.1 ist immer der Localhost gemeint. Wir geben den Befehl für eine Topic-Subscription ein:
mosquitto_sub -h 127.0.0.1 -t meinTopic/#
Das zweite Fenster dient dazu, Topics mit Nachrichten abzusetzen:
mosquitto_pub -h 127.0.0.1 -t meinTopic/Temp -m "23.7"
Jetzt sollte im 1. Fenster "23.7" zu sehen sein. Das wäre testweise die Temperatur eines Thermostats gewesen.
mosquitto_pub -h 127.0.0.1 -t meinTopic/Temp -m "31.2"
Jetzt sollte im linken Fenster '31.2' angezeigt werden. Damit funktioniert 'Mosquitto' und kann für OpenHAB und FHEM bzw. eigene Sensoren verwendet werden.
Weitere Infos im Internet
http://mosquitto.org/
https://harizanov.com/wiki/wiki-home/raspberry-pi/how-to-rasbperry-pi-install-mosquitto-with-websockets-enable/
http://blog.moneybag.de/fhem-sensoren-an-fhem-mit-nrf24l01-transceiver/