クラウド側から IoT Edge 上のモジュールの状態を監視する方法

クラウド側から IoT Edge 上のモジュールの状態を監視する方法をご案内します。 ただし、Azure IoT Edge は現在プレビューであるため、一般公開時には変更となる可能性がございます点にご留意ください。   1. Azure ポータルから状態を確認 ======================= 以下の手順でAzure ポータルよりご確認いただくことができます。   (1)         Azure ポータルのIoT Hub の左側のペインから [IoT Edge (preview)] をクリックし、右側のペインで IoT Edge デバイスの デバイス ID をクリックします。     (2)         [デバイスの詳細] 画面の下部の Deployed Modules タブで$edgeAgent と$edgeHub などの各モジュールのRUNTIME STATUS がrunning となっていることが確認できます。     2. プログラムから確認する手順 ======================= プログラムから監視する場合は、HTTP REST API を利用することでモジュール ツインから状態を取得可能です。  …


Azure IoT Edge で透過的なゲートウェイ デバイスを作成する手順の一例

(更新 2018/07/20) – IoT Edge の一般提供 (GA) 開始後の情報について追記しました。   IoT Edge は現在プレビューですが、「透過的なゲートウェイとして動作する IoT Edge デバイスを作成する – プレビュー」のドキュメントの具体的な手順に関するご質問をいただいておりますので、私の手元で確認した手順を一つの構成例としてご案内します。   弊社が公開している構成例として、すでに以下のようなページがありますが、今回ご案内する手順では、両方を参考にして、後者の、IoT Edge のゲートウェイをLinux (ローカルPC 上の仮想マシン)、IoT デバイスをRaspberry Pi 3 としています。   ・IoT Edge のゲートウェイがWindows、IoT デバイスがRaspberry Pi 3 の例   IOT EDGE PYTHON RASPBERRYPI CONNET TRANSPARENT GATEWAY < https://github.com/Azure-Samples/iot-edge-python-raspberrypi-connect-transparent-gateway >   ・IoT Edge のゲートウェイとIoT デバイスをともにLinux のAzure VM 1 つの中に持つ例…


IoT Edge ランタイムのバージョンアップの手順

IoT Edge ランタイムのバージョンアップの手順をご案内します。 ただし、Azure IoT Edge は現在プレビューであるため、一般公開時には変更となる可能性がございます点にご留意ください。   IoT Edgeランタイムのバージョンアップの手順   IoT Edge ランタイムには、Edge Agent とEdge Hub が含まれるため、それぞれのバージョンアップの手順をご案内いたします。   1-1.      Edge Agent のバージョンアップ手順   Edge Agent は、プレビュー段階では、クラウドからバージョンアップする方法はありません。そのため、IoT Edge 上で以下のコマンドを実行します。   (A)         すでに IoT Edge ランタイムがデプロイされており、その Edge Agent のバージョンアップを行う場合   sudo iotedgectl update –image microsoft/azureiotedge-agent:1.0.0-preview022   上記コマンドの「microsoft/azureiotedge-agent:1.0.0-preview022」の部分は、以下のサイトで公開されているレポジトリからお選びいただけます。   microsoft/azureiotedge-agent < https://hub.docker.com/r/microsoft/azureiotedge-agent/tags/ >   IoT Edge ランタイム実行中に上記コマンドを実行していただくことができます。…


IoT Edge ランタイムの再起動が必要な場合について

IoT Edge は現在プレビューですが、IoT Edge ランタイムの再起動(iotedgectl restart)が必要な場合についてのご質問と回答をご案内します。   Q. IoT Edge ランタイムが再起動が必要な場合とは、どのようなオペレーションを実施した場合でしょうか?例えば、運用中にIoT Edge 配下に新規デバイスを追加した場合、IoT Edge ランタイムの再起動が必要になりますでしょうか?   A. IoT Edge ランタイムの再起動が必要となる場合は、「iotedgectl setup」のようなランタイム自体の設定変更を行った場合です。例えば、Edge ランタイムの接続文字列(connection string) を変更したり、モジュールのレジストリの資格情報(container registry credential) を追加する場合などが挙げられます。   IoT Edge配下に新規デバイスを追加した際、すなわちIoT Edge ゲートウェイに新しいリーフデバイスをMQTT プロトコルで接続する時に、IoT Edge ランタイムの再起動は必要ありません。   Azure ポータルからの変更([Specify Routes] でルート変更する場合も含む) では、IoT Edge ランタイムを再起動する必要はありません。     上記の内容がお役に立てば幸いです。   Azure IoT 開発サポートチーム 津田  


タイムアウトエラーについて (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…