2017-04-20 1 views
1

Ziel: Senden Sie Nachrichten an eine Gruppe von Azure IoT Hub-Geräten, die über MQTT WebSocket verbunden sind.Kann ich eine Nachricht an eine Gruppe von Azure IoT Hub-Geräten senden, die über MQTT WebSocket verbunden sind?

Erste Idee: eine Gruppe von IoT-Hub-Geräte haben (Gruppe X) X zu Nachrichten mit Thema abonnieren

Problem:

Auf den Communicate with your IoT hub using the MQTT protocol docs, sehe ich nicht ein Möglichkeit, ein Gerät für weitere Themen zu abonnieren. Ich sehe nur Beispiele für eine Subskription zu einem gerätespezifischen Endpunktdevices/{device_id}/messages/devicebound/#.

Die Seite geht weiter zu sagen "IoT Hub ist kein allgemeiner PUB-Sub-Messaging-Broker, unterstützt nur die dokumentierten Themennamen und Themenfilter." Ich denke, diese Themen

  • devices/{device_id}/messages/devicebound/
  • devices/{device_id}/messages/devicebound/#

Mein Fazit sind: Ich kann nicht eine Gruppe von IoT-Hub-Geräte haben (Gruppe X) abonnieren, um Nachrichten mit Thema X .

Fragen:

  1. Ist meine Schlussfolgerung richtig?
  2. Wenn meine Schlussfolgerung richtig ist, gibt es eine andere Möglichkeit, Nachrichten an eine Gruppe von Azure IoT Hub-Geräten zu senden, die über MQTT WebSocket verbunden sind?

Antwort

1

Ihre Schlussfolgerung ist richtig. Azure IoT Hub ist kein MQTT-Broker an sich. Wenn Sie Nachrichten an eine Gruppe von Geräten senden möchten, die an Azure IoT Hub angeschlossen sind (unabhängig vom Protokoll, mit dem sie verbunden sind), müssen Sie in eines der Cloud 2 Device features des IoT-Hubs schauen. Je nach Szenario können Sie eine der folgenden Methoden verwenden: Cloud 2-Gerätenachrichten, Twins oder Methoden. IoT Hub stellt APIs auf der Back-End-Seite zur Verfügung (die problemlos mit den Service Client-SDKs verwendet werden kann), um die Verwendung dieser APIs zu ermöglichen.

C2D-Nachrichten werden verwendet, um Rohdaten an Geräte zu senden, dh Sie implementieren ein eigenes "Protokoll" zwischen Cloud und Gerät. C2D-Nachrichten sind auch in der Cloud persistent, da der IoT Hub sie (für eine bestimmte in den Einstellungen definierte Zeit) behält, wenn das Gerät nicht verbunden ist.

Mit Device Twins können Sie die Konfiguration eines Geräts mit der Cloud synchronisieren und Batch-Vorgänge auf Geräten ermöglichen (auf jeden Fall sollten Sie näher darauf eingehen).

Device Direct Methods ermöglicht es, eine auf einem Gerät ausgeführte Funktion aus der Cloud aufzurufen und wie Twins Batch-Operationen unterstützt.

+0

Gibt es einen Plan, um den Azure IoT Hub zu einem allgemeinen MQTT-Pub-Sub-Messaging-Broker zu machen? Wir haben in AWS vollständig Serverless Architekturen (mit AWS IoT Gateway als MQTT-Broker), und wir versuchen, in Azure zu replizieren. – mrh042

Verwandte Themen