タイムアウトエラーについて (MQTT / IoT Device SDK for Java)

今回は IoT Device SDK for Java で MQTT プロトコルを利用した時のタイムアウト値について説明いたします。 Device SDK for Java における MQTT プロトコルでは、IoT Hub とのキープアライブのタイムアウト値として 230 秒という値が設定されております。このキープアライブタイムアウト値はハードコードされており、デバイス アプリ側からは変更することができません。また、キープアライブのインターバル値も 230 秒で、こちらも変更できません。 これは SDK の MqttConnection.java に定義されています。     //mqtt connection options     private static final int KEEP_ALIVE_INTERVAL = 230; ソースコードはこちら https://github.com/Azure/azure-iot-sdk-java/blob/master/device/iot-device-client/src/main/java/com/microsoft/azure/sdk/iot/device/transport/mqtt/MqttConnection.java タイムアウトが発生すると、次のようなエラーメッセージが出力されます。 Timed out as no activity, keepAlive=230,000 lastOutboundActivity=2,623,682,362,159 lastInboundActivity=2,623,672,132,304 time=2,623,672,592,158 lastPing=2,623,672,362,159 [水 03…


"Unable to determine hardware version" のエラーについて

Raspberry Pi 3 を使って、「Raspberry Pi の Azure IoT Hub への接続 (Node.js)」のドキュメントのチュートリアルを実施すると、「サンプル アプリケーションの実行」の「sudo node index.js ‘<YOUR AZURE IOT HUB DEVICE CONNECTION STRING>’ 」を実行時に、以下のエラーが発生する場合があります。   ———- Unable to determine hardware version. I see: Hardware   : BCM2835 , – expecting BCM2708 or BCM2709. Please report this to projects@drogon.net ———-   エラーメッセージの内容は、ハードウェア バージョンが、期待される BCM2708 または BCM2709 でないことを意味します。これは最新バージョンの Raspbian における…