MQTT-Broker-Einrichtung auf CMTK
1. Voraussetzungen
- SD-Karte eingelegt
- Docker aktiviert
- Portainer-Einrichtung
2. Internetzugang einrichten
- Den LAN2-Port des CMTK mit Ihrem Router verbinden.

- Auf die Registerkarte "Netzwerkeinstellungen" gehen, den LAN2-Port als DHCP-Client einstellen und auf "Speichern" drücken.
Wenn der Anschluss richtig verkabelt und konfiguriert ist, sollten die IP-Adressinformationen eingeblendet werden. Die URL balluff.com mit dem Ping-Server sollte anpingbar sein.
- Die Funktion "Ping Server" auf balluff.com sollte erfolgreich sein.

3. Portainer öffnen
- Auf die Registerkarte "Einstellungen" --> Docker --> Portainer öffnen gehen.

- Die Anmeldedaten eingeben und anmelden. Bei ersten Login kommt die Aufforderung, einen Benutzernamen und ein Passwort zu erstellen.

4. Den MQTT-Broker erstellen
- Nach dem Login in Portainer, zum Reiter "Stacks" navigieren.
- Einen Stapel erstellen
- Dem Stack einen Namen geben, der aus Kleinbuchstaben bestehen muss. In diesem Beispiel lautet der Name "mqtt".
- "Webeditor" als Erstellungsmethode wählen.
- Das Folgende kopieren und es in den Webeditor einfügen. Portnummern können geändert werden. In diesem Beispiel ist sie auf "50008:50008" gesetzt
-
Dienste:
mosquitto:
image: eclipse-mosquitto:latest
container_name: MQTT_Broker
ports:
- "50008:50008"
volumes:
- mosquitto_config:/mosquitto/config
- mosquitto_data:/mosquitto/data
- mosquitto_log:/mosquitto/log
Neustart: immer
Volumes:
mosquitto_config:
mosquitto_data:
mosquitto_log:
-
-
Auf "Deploy the Stack" klicken.

-
Auf die Registerkarte "Volumes" gehen und bestätigen, dass die Volumes erstellt wurden. Es sollten insgesamt drei sein (Log, Config und Data).

- Auf die Registerkarte "Container" gehen. Es sollte ein neu erstellter Container mit dem Namen "MQTT_Broker" laufen. In der Spalte "Quick Actions" auf den Befehl "Exec Console" klicken.

- "/bin/sh" als Befehl wählen und auf "Verbinden" klicken.

- Die folgenden Befehle eingeben:
- Verzeichnis wechseln
- cd/mosquitto/config
- Listener auf dem Port zulassen (50008 für dieses Beispiel)
- echo "Zuhörer 50008" > mosquitto.conf
- Anonyme Verbindung nicht zulassen
- echo "allow_anonymous falsch >> mosquitto.conf
- Eine Passwortdatei erstellen
- echo "passwort_datei /mosquitto/config/passwortdatei" >> mosquitto.conf
- Den Benutzernamen setzen
- mosquitto_passwd -c passwortdatei admin
- Ist ein anderer Name gewünscht, das Ende des Befehls ändern, indem admin in den gewünschten Namen geändert wird.
- Sobald die Eingabetaste gedrückt wird, wird aufgefordert, ein Kennwort einzugeben, und anschließend muss es zur Bestätigung erneut eingegeben werden. Bei der Eingabe des Kennworts werden die Zeichen nicht auf dem Bildschirm angezeigt.
- Befehl zum Bestätigen der Konfigurationseinstellungen
- cat mosquitto.conf
- cat mosquitto.conf
- Auch die Option allow anonymous auf true statt auf false zu setzen, ist erlaubt, so dass für den Zugriff auf den Broker kein Benutzername und kein Passwort eingegeben werden muss. Wenn dies der Fall ist, muss der Befehl "mosquitto_passwd -c passwordfile admin" nicht ausgeführt werden.
- echo "allow_anonymous true" >> mosquito.conf
- cd /mosquitto/config
- Verzeichnis wechseln
- Zurück zur Registerkarte "Container" gehen, um den Container zu stoppen und dann wieder zu starten, damit die im vorherigen Schritt vorgenommenen Konfigurationseinstellungen wirksam werden können.
-
-
- Anhalten des Containers

- Nachdem Sie den Container gestoppt haben, starten Sie ihn wieder.

- Anhalten des Containers
-
-
- Der MQTT-Broker kann nun verwendet werden, um Daten von einem MQTT-Gerät zu speichern.

