問題タブ [azure-iot-hub]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - Azure IoT Hub にデバイスを追加するときの無効なプロトコル バージョン エラー
Azure IoT Hub の ID レジストリに新しいデバイス ID を作成しようとしています。ここで概説されている手順に従います。
しかし、レジストリに新しいデバイスを追加すると:
次のメッセージで例外が発生します。
ErrorCode:InvalidProtocolVersion;無効なプロトコル バージョン:2016-04-30
正しい方向のポイントは大歓迎です。
java - Azure Iot Send コマンド: フィードバックが受信されないときに、フィードバック受信者が null ポインターを表示する
コーディングに Java を使用して Azure IoT Platform に取り組んでおり、コマンドをデバイスに送信する際に問題に直面しています。送信したコマンドのフィードバックを受信しない場合、feedbackReceiver.receiveAsync() メソッドで null ポインター例外を受信します。以下は私のコードスニペットです。
この問題で助けてくれてありがとう:)
c - AMQP を使用した Azure IoT Hub プロトコルのオーバーヘッドとバッチ処理
背景/動機
Microsoft Azure IoT Hub のドキュメントをよく読み、サンプルを試してみましたが、このテクノロジが、断続的/信頼性が低く高価なネットワーク (GSM など) を介して接続するデバイスに適しているかどうか、およびコストを最小限に抑えることが非常に重要である場所については、まだよくわかっていません。レイテンシを最小限に抑えることよりも重要です。
特に、すべてのサンプルで、メッセージのプロトコル オーバーヘッドに注意が向けられていないことに気付きました。テレメトリデータは常に小さくて単純なメッセージとして送信されます。
おそらく、リアルタイム配信の優先度が非常に高いため、コストは実際には考慮されていないという前提があります。また、IoT Hub で使用されるトピック/エンドポイント名が非常に冗長であることにも気付きました。これにより、オーバーヘッドが増加する必要があります。
C SDKのドキュメントには、「通信効率を向上させるためにメッセージをバッチ処理する」という言及がありますが、それ以上の詳細はなく、これが HTTP のみに適用されるのか、AMQP にも適用されるのかは明らかではありません。ライブラリがどのメッセージをまとめてバッチ処理するかを決定する方法についても言及されていません。
IoTHubClient_LL_SetOption への "SetBatching" オプション(既定ではオフ) についても言及されていますが、これが HTTP のみに適用されるのか、AMQP にも適用されるのかについては言及されていません。ソース コードを見たところ、このオプションは存在しないように見えたので、リンクされたドキュメントが古くなっている可能性があります。
更新:「IoTHubClient についての詳細」にも が記載されていますSetBatching
が、これが HTTP のみであるかどうかはまだ明確ではありません。(おそらく、バッチ処理は AMQP に利点をもたらさないでしょう。これをよりよく理解したいと思っています。これが私の質問の核心です。)
実際の質問
具体的には、Azure IoT C SDK に関して、次のことを知りたいです。
AMQP を使用した、Azure IoT Hub デバイスからクラウドへのメッセージの一般的なプロトコル オーバーヘッドはどれくらいですか?
AMQP の使用時にメッセージをバッチ処理するために、C SDK には何が含まれていますか? たとえば、アプリケーションが (接続がアップしている間に) 3 つのメッセージを立て続けに送信する場合、SDK はそれらをネットワーク経由で 1 つのパケットに結合しますか? アプリケーションがメッセージを SDK に送信するまでに、SDK がメッセージの送信を決定する前に、さらにメッセージがあるかどうかを確認するのを待つのではなく、どれくらいの時間が経過する必要がありますか?
シャットダウン中のデバイスは、SDK によってまだバッファリングされている (まだ送信されていない) メッセージをどのように判断して、これらのメッセージを保存し、次回の起動時に再送信を試みることができますか?(これは簡単です。メッセージが実際にいつ送信されたかを知らせるコールバック パラメータがあります。)IoTHubClient_LL_SendEventAsync()
java - Azure REST Web サービスに接続できません
azure のおかげでデバイス ID を作成するクライアント プログラムを開発しようとしています。私はそれを作成するためにazure restを使用しているので、jersey実装を使用してクライアントプログラムからこのWebサービスを呼び出しますが、com.sun.jersey.api.client.ClientHandlerException: java.net.SocketException: Socket is not connected: connect i test it usingを使用してエラーが発生しますpostman は動作し、python は動作します。ここに私のJavaコードがあります:
ありがとう
powerbi - ASA のセンサー タイプによる異なる集約
さまざまな種類の集約を必要とする多くのセンサーを備えたデバイスがあり、私の質問は 2 つの部分に分かれています。デバイスは、Azure IoT Hub を介して通信し、Azure Stream Analytics から SQL DB および Power BI に移動します。
1) データを送信する最良の方法は何ですか? 各センサー (センサー 1、センサー 2 など) の列と、DateTime または DeviceId、DateTime、SensorNumber、および SensorValue の列? センサー名、トリガー値などの詳細情報は、参照テーブルを介して追加されます。これらのアプローチの長所と短所は何ですか?
2) ASA で必要な集計には、MAX と AVERAGE があります。これは、参照テーブルを通じてデバイスの各チャネルにリンクされているセンサー タイプに応じて変化します。たとえば、センサー タイプ「Switch」には MAX 集計が必要ですが、センサー タイプ「Temp」には AVERAGE 集計が必要です。ref テーブルを介してリンクされた別の SensorType フィールドに応じて、集計タイプを 1 つの入力 (IoTHub) から 1 つの出力 (SQL) に変更できますか?
どんな助けでも大歓迎です。
c - 独自のコードで Azure Iothub_client の例を使用する
Azure-iothub の C-SDK から AMQPoverWebsockets-Client の例を使用しようとしています。
特定のライブラリをメイクファイルにリンクして正常にコンパイルするにはどうすればよいですか?
メイクファイルにパスを書き留めようとしました。しかし、うまくいきませんでした。これまでの私のメイクファイルは次のとおりです。
azure-iot-hub - Mqtt プロトコルのメッセージ プロパティ
Mqtt プロトコルでのメッセージ プロパティとメッセージ システム プロパティの受信に問題があります。ただし、TransportType.Amqp を使用すると問題なく動作します。
このページの「メッセージの受信」セクションに説明がありますか? https://azure.microsoft.com/da-dk/documentation/articles/iot-hub-mqtt-support/ はいの場合、それはどういう意味で、どのようにすればよいですか?
レシーバー コード: nuget とすべての依存関係から Microsoft.Azure.Devices.Client の 1.0.12 を使用しています。
送信者コード: Microsoft.Azure.Devices.dll のバージョン 1.0.11 を使用しています
C サンプル コードはプロパティを読み取りますが、 csharpサンプル コードは読み取りません。