Azure IoT HubはどのようにEmbedded / IoTデバイスと対話しますか?


13

私はAzure IoTプラットフォームに取り組んでおり、デバイスがIoTハブにデータを送信する方法を理解しています(間違っていない場合は、単なるWebサービス呼び出しまたはそれに類似したものです)。

しかし、デバイスコミュニケーションのためにIoTハブに取り組んでいないため、IoTハブがどのようにデータ/コマンド/入力をデバイスに送信するのだろうと思います(データをデバイスにプッシュする必要はありません)。IoTハブはデバイスと直接対話できますか?(デバイスの一意のIDを使用するか、IP、Macアドレスなどの一意のIDを使用します)。

IoTハブに入力がある場合、デバイスはIoTハブへの要求を続け、IoTハブはデータ/コマンド/入力をデバイスに応答で送信することをどこかで読んだことがあります。本当?そうでない場合は、説明してください。

回答:


14

IoT Hub接続デバイスが使用するモデルは、着信接続を受け入れないというものです。IoT Hubデバイスは「サーバー」として機能することはありません。これは、Azure IoTのセキュリティモデルの重要な部分です。これに関する決定的なモデルは、Clemens Vastersの「Service Assisted Communication」にカプセル化されています。

したがって、デバイスは、データを送信したりコマンドを受信したりするために、常に外部サービスを「ポーリング」しています。APIは、データがデバイスに送信されているように見えますが、常に送信接続を行うデバイスです。

IoTハブはこれを2つの方法で行います。

  1. デバイスエンドポイントにデータを送信する/devices/{deviceId}/messages/devicebound。これは、キューまたはトピックサブスクリプションに似たAMQPメッセージングエンドポイントです。デバイスは、コマンドを読み取るときに、必要に応じて受信を確認する必要があります。これは、基礎となるAMQPプロトコルの一部です。これはMQTTでも同じように機能し、httpsは有効なフォールバックです。APIは、これらすべてをまとめてくれます。基本的な同じメッセージプロトコルのAPIラッパーである「ダイレクトメソッド」などの追加の概念があります。
  2. サーバー側のデバイスツインを使用して、デバイスとサーバー間でプロパティの同期を論理的に維持する方法。デバイスツインにプロパティを設定し、デバイスが同期すると、そのプロパティがデバイスに同期されます。これはメッセージベースではなく、LMM2Mデバイス管理プロトコルの上に構築されています。

AMQP(またはMQTT)プロトコルの一部として、多くの「ポーリング」、接続、接続の共有、受信などを処理する必要があります。これは、IoT Hub SDKにまとめられています。したがって、上記は非常に単純化されていますが、繰り返しになりますが、IoT HubはデバイスのIPアドレス/ポートにデータを送信しようとすることはできませんし、送信しません。


@Simonに感謝します。これで、データを送受信するためにIoTハブを呼び出すだけのデバイスであることがわかりました。あなたは答えで「Azure IoT」に言及しましたが、それを確認したいのは、すべてのIoTプラットフォームにわたる回答アプリケーションですか?またはAzure IoTのみ。
シュリ

@ShrikantBhusalwad答えはすべてのプラットフォームに適用できるわけではありません。多くのプラットフォームがまだ開発されていないためです。これは一般的なモデルであり、セキュリティには適していますが、特に新しい環境では、他のモデルが正当化される可能性があります。
ショーンフーリハネ

2
すべてのプラットフォームに精通しているわけではありませんが、ほとんどのクラウドプラットフォームは似ています。AWSはMQTTを使用しますが、これはほとんど同じです。@seanが観察するように、すべてのプラットフォームに適用できるわけではありませんが、リスクのあるセキュリティ対策を事前に実行するクラウドプラットフォームはほとんどありません。サーバーとしてのデバイスモデルを使用する方法は、レガシーであるか、セキュリティの厳密さがはるかに高くなります(エッジまたはメッシュパターンの開発に伴い)。アズールのIoTは、建築遺産やエッジベースのデバイスの問題を周りを取得するために、フィールドとクラウドゲートウェイをサポートしています
サイモン・マンロー

Azure IoT Hub MQTTルールは、docs.microsoft.com / en
Gambitサポート
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.