[AI Router] Installation des MQTT-Brokers (Mosquitto)

MQTT (Message Queuing Telemetry Transport) ist ein leichtgewichtiges Nachrichtenprotokoll, das häufig für die Kommunikation zwischen IoT-Geräten verwendet wird. In Home Assistant wird MQTT oft zur Automatisierungsintegration eingesetzt. Zum Beispiel, wenn Sie Frigate für die Videoanalyse verwenden (wie das Erkennen, wenn jemand einen bestimmten Bereich betritt), sendet Frigate eine Nachricht an Home Assistant über MQTT, welche dann andere Automatisierungen auslösen kann (wie das Einschalten von Lichtern oder das Senden von Benachrichtigungen).

 

MQTT-Rollen:

Welche Rollen gibt es im MQTT-Protokoll? Als Beispiel dient das Szenario der Integration von Frigate-IP-Kameras mit Home Assistant:

  • Publisher: Frigate. Wenn Frigate ein Ereignis erkennt (z. B. wenn jemand einen bestimmten Bereich betritt) aus dem IP-Kamera-Feed, veröffentlicht es dieses Ereignis als Nachricht an den MQTT-Broker.
  • Subscriber: Home Assistant. Es abonniert das spezifische Thema, das von Frigate veröffentlicht wird. Wenn Home Assistant die Nachricht erhält, kann es Automatisierungen auslösen (wie das Einschalten von Lichtern oder das Senden von Benachrichtigungen).
  • Broker: Mosquitto. Agiert als Vermittler, empfängt Nachrichten von Frigate und leitet sie an Home Assistant-Abonnenten weiter. In diesem Beispiel kommunizieren Frigate und Home Assistant nicht direkt, sondern tauschen Nachrichten über den Mosquitto-MQTT-Broker aus.

 

 

1. Voraussetzungen

 

2. Mosquitto installieren

   2-1. Mosquitto mit Portainer bereitstellen:

  • Gehen Sie zur Seite [Stapel] in Portainer und klicken Sie auf [Stapel hinzufügen].
  • Benennen Sie diesen Stapel mosquitto.
  • Fügen Sie im [Web-Editor] die folgende Konfiguration ein:

version: "3.8"

services:

   # --- MQTT Broker (Eclipse Mosquitto) ---

   mosquitto:

       image: eclipse-mosquitto:2

       container_name: mosquitto

       restart: unless-stopped

       volumes:

       - mosquitto_config:/mosquitto/config

       - mosquitto_data:/mosquitto/data

       - mosquitto_log:/mosquitto/log

          

       ports:

       - "1883:1883"   # MQTT

       - "9001:9001"   # WebSocket

volumes:

   mosquitto_config:

   mosquitto_data:

   mosquitto_log:

 

   2-2. Klicken Sie auf die Schaltfläche [Stack bereitstellen], um die Bereitstellung abzuschließen.

 

 

3. Mosquitto konfigurieren

   3-1. Gehen Sie auf die Seite [Container] in Portainer und suchen Sie mosquitto.

 

   3-2. Klicken Sie auf mosquitto , um zur Detailseite des Containers zu gelangen, und klicken Sie dann auf die Registerkarte [Konsole].

 

   3-3. Geben Sie im Feld [Befehl] /bin/sh einund klicken Sie auf [Verbinden], um die Befehlszeilenschnittstelle des Containers zu öffnen.

 

   3-4. Geben Sie in der Befehlszeile den folgenden Befehl ein, um eine Passwortdatei zu erstellen:

mosquitto_passwd -c -b /mosquitto/config/passwd <Benutzername> <Passwort>

Ersetzen Sie <Benutzername> und <Passwort> durch Ihren gewünschten Benutzernamen und Ihr Passwort (verwenden Sie nur Buchstaben und Zahlen und beginnen Sie nicht mit #). Um zu bestätigen, dass die Datei erstellt wurde: Führen Sie ls /mosquitto/config aus, um zu prüfen, ob sowohl mosquitto.conf als auch passwd vorhanden sind.

 

   3-5. Bearbeiten Sie die Mosquitto-Konfigurationsdatei mosquitto.conf, indem Sie Folgendes eingeben:

vi /mosquitto/config/mosquitto.conf

 

   3-6. In der mosquitto.conf, fügen Sie die folgenden Einstellungen hinzu, um den Pfad zur Passwortdatei anzugeben und anonymen Zugriff zu deaktivieren: Drücken Sie i, um den Einfügemodus zu aktivieren, und fügen Sie dann den folgenden Inhalt am Anfang oder Ende der Datei hinzu: Sie können ctrl + shift + v verwenden, um Text im vi-Editor einzufügen.

allow_anonymous false

password_file /mosquitto/config/passwd

listener 1883 0.0.0.0

socket_domain ipv4

 

   3-7. Drücken Sie Esc, tippe :wq und drücke Eingabe, um zu speichern und den Editor zu verlassen. (Wenn du Änderungen verwerfen möchtest, tippe :q!  und drücke Eingabe )

 

   3-8. Starte den Mosquitto-Container neu, um die Einstellungen zu übernehmen:

  • Gehe zurück zur [Container]-Seite in Portainer und finde mosquitto.
  • Klicke auf mosquitto, um die Container-Detailseite zu öffnen, dann klicke auf die [Neustarten]-Schaltfläche.

 

 

 

4. MQTT-Integration in Home Assistant einrichten

   4-1. Gehe in Home Assistant zu [Einstellungen] > [Geräte & Dienste] und klicke auf [Integration hinzufügen].

 

   4-2. Suche nach und wähle [MQTT] aus.

 

   4-3. Im Popup-Dialog wählen Sie MQTT aus und geben Sie die folgenden Informationen ein:

  • Broker: localhost oder die IP-Adresse Ihres AI-Boards
  • Port: 1883
  • Benutzername: Der Benutzername, den Sie für Mosquitto festgelegt haben
  • Passwort: Das Passwort, das Sie für Mosquitto festgelegt haben

 

   4-4. Nach Abschluss können Sie einen MQTT-Client verwenden, um eine Verbindung mit Mosquitto herzustellen.

 

 

 

 

 

 

Wie erhält man das (Dienstprogramm / Firmware)?

Sie können die neuesten Treiber, Software, Firmware und Benutzerhandbücher im ASUS Download Center herunterladen.

Wenn Sie weitere Informationen zum benötigenASUS Download Center, bitte beachten Sie diesen Link.