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. Azure IoTハブ:メッセージのオフラインストレージ
- 2. Azure IoTハブ操作監視
- 3. Windows Azure iotハブのテレメトリメッセージで通知をプッシュ
- 4. Azure IoTハブからデバイスへのアラート/コマンドの受信
- 5. AMQP経由でAzure IoT hubに接続
- 6. IoTハブを使用したAzure関数
- 7. Azure IoTハブ、イベントハブおよびファンクション
- 8. AzureのIOTハブ休憩API無断
- 9. Azure IoTハブとTTN(The Things Network)
- 10. Azure IoTハブ - ポータブルライブラリのデバイス登録
- 11. Azure IOTハブからのSMSメッセージ
- 12. Azure通知ハブUWP
- 13. Xamarin.Mac Azure通知ハブ
- 14. Azure通知ハブ、通知ログ
- 15. Azure IoT Hub - IoTハブでテーブルストレージを使用する方法
- 16. 通知ハブ配信エラーC#
- 17. Azure IoTプッシュ通知
- 18. バックエンドシステムからAzureプッシュ通知ハブへのプッシュ通知の送信
- 19. IoTハブSASトークンノードJS暗号化エラー
- 20. Azure通知ハブのインストールC#
- 21. SQL Azureデータベーストリガー通知ハブ
- 22. 多層WCF二重通信
- 23. IoTハブでDeviceClientをインスタンシエート
- 24. IoTハブのデバイス原則
- 25. Windows IoT、IoTハブ、ストリーム解析、Azure SQL、Power BI - 正しいパスは何ですか?
- 26. Azureハブ通知がFCMに送信されない
- 27. はアズールのIoTハブは、新しいデバイス
- 28. Arduino + SIM800&wolfMQTTを使用してAzure IoTハブに接続
- 29. Azure IOTハブをNew-AzureRmIotHubで作成する
- 30. x509証明書とTPMを使用したAzure IoTハブ
これは非常に興味深いアプローチです。合理的な解決策のようだ。 –