=========== MQTT Broker =========== MQTT (Message Queuing Telemetry Transport) ist ein offenes Nachrichtenprotokoll für Machine-to-Machine-Kommunikation (M2M), das die Übertragung von Telemetriedaten in Form von Nachrichten zwischen Geräten ermöglicht, trotz hoher Verzögerungen oder beschränkter Netzwerke. Im Voipio wird es eingesetzt für die Kommunikation zwischen SIP Registrierungen und GPIO Pins bzw LEDs und Buzzern. Eingesetzt wir `m̀osquitto `_ als Server, der im Docker Container läuft und über die ``docker-compose.yml`` Datei konfiguriert wird. .. literalinclude:: ./mqtt.yml Beim ersten Start wird im ``/data/`` Ordner eine Password Datei erstellt.:: root@9ea59274fb79:/# ls /data/ mosquitto.passwd In dieser sind drei Accounts mit Standart Passwörtern vorkonfiguriert. Der Account ``admin`` mit Passwort ``admin``, ``server`` / ``server`` und ``display`` / ``display``. .. note:: in der Standart Konfiguration wird ``server`` von den SIP/GPIO Container verwendet, ``display`` vomDisplay, ``admin`` von Node-RED bzw. Nutzern. Es lassen sich neue Benutzer erstellen undd löschen. Dazu wird das Tool ``mosquitto_passwd`` benötigt, welches im Container installiert ist. Man kann mit Portainer schnell in die Container, oder via:: docker-compose exec mqtt bash Im Container kann ``mosquitto_passwd`` gestartet werden:: root@9ea59274fb79:/# mosquitto_passwd mosquitto_passwd is a tool for managing password files for mosquitto. Usage: mosquitto_passwd [-c | -D] passwordfile username mosquitto_passwd -U passwordfile -c : create a new password file. This will overwrite existing files. -D : delete the username rather than adding/updating its password. -U : update a plain text password file to use hashed passwords. See http://mosquitto.org/ for more information. Mosquitto erlaubt in der mitgelieferten Konfiguration unverschlüsselten Zugriff und globale Nachrichte versende Rechte von Nutzern. Umfanreiche ACL Regeln können definiert werden. Siehe dazu siehe `Projekt Dokumentation `_.