Azure IoTハブを扱うためのMicrosoft documentationの一部では、単一のTLS接続(AMQPプロトコルを使用)で複数のデバイスの通信を多重化することが可能であることが説明されていますデバイスは、IoTハブと通信するのに十分強力なローカルハブデバイスと通信します。この多重化をどのように実装するのかの例はありますか? DeviceClient libraryはこれをサポートしていないようです(私は間違っているかもしれませんが)。このシナリオでは、IoT Gateway SDKについても言及していますが、これを使用して多重化を設定する方法の明確な例は見つかりませんでした。他のマテリアルへのアドバイスや参照は感謝します。Azure IoTハブAMQP通信多重化
答えて
私は最近、そのようなアーキテクチャを構築しました。おそらく参考になるでしょう。 プレイヤー - フィールドゲートウェイ - Iotハブとの通信を処理し、エッジセンサーからのデータを受信するのに十分な強度のローカルハブ。 エッジセンサー - Iotハブに直接接続できないデバイスで、フィールドゲートウェイ(Zwave、Zigbee ...)に接続するための通信プロトコルを実装しています。 Iotハブ - フィールドゲートウェイとハブ間のD2CとC2Dを処理します。 バックエンドサーバー - Iotハブからデータを受信します。
エッジセンサーはテレメトリをフィールドゲートウェイに送信します。フィールドゲートウェイは、IOTハブへの接続を維持し、IOTハブが知っている唯一のデバイスはフィールドゲートウェイです。 エッジセンサーからフィールドゲートウェイで受信されている各テレメトリには、メッセージペイロードに一意のIDが含まれています。 メッセージがIot Hubで受信されている場合、Iot HubはField Gatewayについてのみ認識します。しかし、メッセージがバックエンドによって処理されているときは、ペイロードから一意のIDを取得するため、テレメトリを送信した正しいデバイスがどれかを知ることができます。 1つの接続にすべて乗っている複数のデバイスがあります。
希望すると助かります。
Azure IoT Gatewayはまだ例がないかもしれないベータ版だと思います。ここで
はもう少し洞察力を提供するページのカップルです:アズールのIoTゲートウェイSDK (2016年4月掲載)
のIoTハブのための追加のプロトコルをサポートするhttps://azure.microsoft.com/en-gb/blog/introducing-the-azure-iot-gateway-sdk-beta/
を紹介
(2016年8月更新)
https://azure.microsoft.com/en-gb/documentation/articles/iot-hub-protocol-gateway/最後に
GitHubの上の実際のベータ版SDKが、あなたはすでにこの持っていると仮定します。私はこれの出力を知ることに興味があると思い
https://github.com/Azure/azure-iot-gateway-sdk
を。私が今まで遭遇したほとんどのアーキテクチャでは、ハブと直接通信するデバイスがあるため、ゲートウェイの要件はありませんでした。まだです。
あなたは、これは便利なウォークスルーを見つけることがあります。https://azure.microsoft.com/documentation/articles/iot-hub-linux-gateway-sdk-simulated-device/
それはあなたがゲートウェイSDKを使用して構築されたゲートウェイを介して複数のデバイスを接続する方法を示すために、シミュレートされたデバイスを使用しています。
C#DeviceClientは、単一のAmqp/TLS接続を使用して複数のデバイスを多重化することをサポートしています。ここでは、3つのデバイスを1つのAmqp接続を使用してIotHubに接続するサンプルを示します。
var devices = new Device[3];
for(int i = 0; i < 3; i++)
{
devices[i] = new Device();
devices[i].Id = Guid.NewGuid().ToString();
devices[i] = await registryManager.RegisterDeviceAsync(device);
}
var deviceClients = new DeviceClient[3];
for(int i = 0; i < 3; i++)
{
var auth = new DeviceAuthenticationWithRegistrySymmetricKey(devices[i].Id, devices[i].Authentication.SymmetricKey.PrimaryKey);
var deviceClients[i] = DeviceClient.Create(
<IotHubHostName>,
auth,
new ITransportSettings[]
{
new AmqpTransportSettings(Client.TransportType.Amqp_Tcp_Only)
{
AmqpConnectionPoolSettings = new AmqpConnectionPoolSettings()
{
Pooling = true,
MaxPoolSize = 1
}
}
});
await deviceClients[i].OpenAsync()
}
- 1. Windows Azure iotハブのテレメトリメッセージで通知をプッシュ
- 2. Azure IoTハブからデバイスへのアラート/コマンドの受信
- 3. AzureのIOTハブ休憩API無断
- 4. Azure IoTハブ、イベントハブおよびファンクション
- 5. Azure IoTハブ - ポータブルライブラリのデバイス登録
- 6. Azure IoTハブとTTN(The Things Network)
- 7. Azure通知ハブ、通知ログ
- 8. Azure IoTプッシュ通知
- 9. 通知ハブ配信エラーC#
- 10. IoTハブSASトークンノードJS暗号化エラー
- 11. バックエンドシステムからAzureプッシュ通知ハブへのプッシュ通知の送信
- 12. SQL Azureデータベーストリガー通知ハブ
- 13. IoTハブでDeviceClientをインスタンシエート
- 14. 多層WCF二重通信
- 15. IoTハブのデバイス原則
- 16. Azure IoTハブとラズベリーパイについてのアドバイス
- 17. Azure IOTハブFTPサーバーからCSVファイルを読み取る
- 18. Azure IoTハブはCoAPプロトコルをサポートしていますか?
- 19. Azure通知ハブ「WNS Channel Disconnected」エラー
- 20. Azure通知ハブ - 一般的な質問
- 21. Azure通知ハブ - GetNotificationOutcomeDetailAsync PnsErrorDetailsUri常にNULL
- 22. Azure通知AppleとAndroidへのハブ
- 23. Azure通知ハブ遅延問題
- 24. Android通信デバイスとIOTデバイス
- 25. XamarinフォームAzure通知ハブを使用したプッシュ通知
- 26. Azure通知ハブを使用したAndroidブロードキャスト通知
- 27. Azure通知ハブの「テスト送信」で不正なリクエスト(400)を取得する
- 28. AndroidのAzure通知ハブ特定のユーザーに送信する方法
- 29. AzureはIoTハブでルーティングするjson形式を受け入れません
- 30. Azureの外部開発者にIOTハブへのアクセスを許可する
これは非常に興味深いアプローチです。合理的な解決策のようだ。 –