Wie kann ich Azure ioTHub als Custom-Broker verwenden?

Die offizielle Dokumentation von Microsoft:


Besonderheiten

  • Die IoTHub-Geräte-ID muss mit der MQTT-Client-ID übereinstimmen

  • Sie können sich nur mit einem Client für ein bestimmtes IoTHub-Gerät verbinden

  • Der SAS-Token läuft nach einer vordefinierten Zeit ab und muss aktualisiert werden. Sie müssen den Token sowie das MQTT-Passwort regelmäßig für jeden Stream im Control Center aktualisieren.

Was bedeutet das in Bezug auf das Arbeiten mit der Software von Swarm Analytics?

  • Wir setzen die Stream-ID als MQTT-Client-ID. Sie können die MQTT-Client-ID bei Bedarf überschreiben.

Sie können sich zwischen den beiden nachfolgenden Schritten entscheiden:

  • für jeden Stream eine entsprechende IotHub-Geräte-ID erstellen (empfohlen) oder

  • zufällige IotHub-Geräte-IDs erstellen und jedem Stream eine zuweisen, indem Sie die MQTT-Client-ID festlegen

Schritte

(1) Erstellen Sie ein IotHub-Gerät, kopieren Sie die Stream-ID aus dem Control Center

az iot hub device-identity create --hub-name <hubname> --device-id "<stream-id> --edge-enabled

(2) Erzeugen Sie einen SAS-Token für das IoTHub-Gerät

az iot hub generate-sas-token --hub-name <hubname> --duration 51840000 --device-id <stream-id>

(3) Überprüfen Sie eingehende Events

az iot hub monitor-events --hub-name <hubname> -d "stream-id"

(4) Testen Sie mit einem MQTT-Client (z.B. mosquitto) und veröffentlichten Sie eine Message. Wir haben diese root.pem-Datei verwendet. Stellen Sie sicher, dass Sie zu diesem Zeitpunkt Messages erhalten. Fahren Sie nicht fort, wenn dieser Schritt nicht funktioniert.

mosquitto_pub -p 8883 -i <stream-id> -u '<hubname>.azure-devices.net/<stream-id>/?api-version=2021-04-12' -P '<SAS token>' -t 'devices/<stream-id>/messages/events' --cafile root.pem -d -V mqttv311 -m '{"swarm":"test"}'

(5) Geben Sie URL, Benutzername, Passwort und Topic als Custom-Broker im Control Center an.

Last updated