2017-04-20 48 views
1

ゴール: MQTT WebSocketで接続されたAzure IoT Hubデバイスのグループにメッセージを送信します。MQTT WebSocket経由で接続されたAzure IoT Hubデバイスのグループにメッセージを送信できますか?

最初のアイデア:が話題XにメッセージをサブスクライブしたIoTハブデバイス(グループX)の基を有していても

問題:Communicate with your IoT hub using the MQTT protocolドキュメント上

、私は表示されませんデバイスを追加のトピックに登録する方法。 端末固有のエンドポイントdevices/{device_id}/messages/devicebound/#のサブスクリプションの例だけが表示されます。

「IoTハブは一般的なpub-subメッセージブローカーではなく、文書化されたトピック名とトピックフィルタののみをサポートしています。私はIoTをハブデバイスのグループ(グループX)が話題Xとのメッセージをサブスクライブすることはできません:私はこれらのトピックは、私の結論

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

だと思います

質問:

  1. 私の結論は正しいですか?
  2. 私の結論が正しい場合、MQTT WebSocket経由で接続されているAzure IoT Hubデバイスのグループにメッセージを送信できる別の方法はありますか?

答えて

1

あなたの結論は正しいです。 Azure IoT Hubは、MQTTブローカーそのものではありません。 Azure IoT Hubに接続されているデバイスのグループにメッセージを送信する場合は(接続されているプロトコルに関係なく)、IoTハブのCloud 2 Device featuresのいずれかを調べる必要があります。 シナリオに応じて、次のいずれかを使用できます。クラウド2デバイスメッセージ、ツインまたはメソッド。 IoT Hubは、バックエンド側のAPI(Service Client SDKで簡単に使用可能)を公開しているため、これらのAPIを使用できます。

C2Dメッセージは、生データをデバイスに送信するために使用されます。つまり、クラウドとデバイスの間に独自の「プロトコル」を実装します。デバイスが接続されていない場合、IoTハブが(設定で定義された特定の時間)それらを保持するため、C2Dメッセージもクラウドに永続的です。

デバイスツインを使用すると、デバイスの設定をクラウドと同期させることができ、デバイス(一見近くに見たいもの)でバッチ操作が可能になります。

デバイスダイレクトメソッドでは、クラウドからデバイス上で実行されている関数を呼び出すことができ、Twinsはバッチ操作をサポートしています。

+0

Azure IoT Hubを一般目的のMQTT pub-subメッセージブローカーにする計画はありますか? AWSには完全にサーバーレスのアーキテクチャ(MQTTブローカーとしてAWS IoT Gatewayを使用)があり、我々はAzureで複製しようとしています。 – mrh042

関連する問題