Azure IoT Hubのツール

Azure IoT Hubに接続するデバイスを開発するときに、Azure IoT Hubに送られたD2Cメッセージをモニタリングしたいことがよくあります。そんなときは、わたしはいつもDevice Explorerを使っています。

さて、最近、SignalR Serviceを試しているのですが、こんなときはデバイスの代わりにD2Cメッセージを送信したい(様々なデータを送信して試したい)のですが、Deivce Explorerには、D2Cメッセージを送信する機能がありませんでした。

他に何か使えそうなツールが無いか調べてみたところ、、、Azure IoT Hubの開発に使えるツールがいくつかあったので、メモしておきます。

Device Explorer @WinForm

f:id:matsujirushix:20190707095836p:plain

オープンソースGUIツール。
WinFormで作られているので、Windowsでしか使えません。

https://aka.ms/aziotdevexpのリンク先から、最新のビルド済みインストーラ(SetupDeviceExplorer.msi)をダウンロードできます。

バイス管理は、デバイスの作成、削除、接続文字列の取得と、接続状態、最終接続日時などを確認できます。
バイス操作は、D2Cモニタリング、C2Dメッセージ、ダイレクトメソッド、デバイスツインの読み書きができます。

iothub-explorer @黒画面

後述の「az iotを推奨」ってことでメンテナンス継続しないアナウンスあり。
ってことで、リンクだけ置いておきます。

az iot @黒画面

f:id:matsujirushix:20190707101949p:plain

オープンソースコマンドラインツール。
正式名称はMicrosoft Azure IoT Extension for Azure CLI
Azure CLI拡張機能で、Pythonで作られています。

ちなみに、Azure CLIの正式名称はMicrosoft Azure Cross-platform Command Line Interface。

Azure CLI拡張機能追加コマンドでインストールできます。 (インストール方法

Azure IoT Hubのデバイス管理、デバイス操作など、様々なことが可能です。さらに、Azure IoT Hub Device Provisioning Serviceの操作もできます。
また、Azureポータルでは表示されていない内部の情報も取得することができます。
できることのバリエーションでいえば、これが最強。
ドキュメントはここですが、英語&もりだくさんなので辛し。

Azure IoT Hub Toolkit @VSCode

f:id:matsujirushix:20190707104620p:plain

オープンソースVisual Studio Code拡張。
Node.js向けAzure IoT SDKを使って作られています。←軽く見た感じだと

インストールは、VSCode拡張の追加で。

出来ることは、ここに詳しく書かれています。
機能は、ざっと見ると、Device Explorerの機能+D2Cメッセージ 送信(!)、カスタムエンドポイント関連、IoT Edge関連のようです。

Cloud Explorer @VisualStudio

f:id:matsujirushix:20190707105234p:plain

ソースは非公開。VisualStudio拡張機能

VisualStudioインストーラに統合されているので、VisualStudioに「Azureの開発」ワークロードを追加すると、デフォルトでインストールされます。

出来ることは、Azure IoT Hub Toolkitと同等のようです。
メニューが日本語化されていて、ちょっと嬉しい。

まとめ

ちょっとD2Cメッセージ見てみたいといったライトな使い方だと、

で、
D2Cメッセージを送りたいときは、

  • Azure IoT Hub Toolkit もしくは Cloud Explorer

を使う。

Azure IoTの内部を掘り下げてやろう!という強者は、

  • az iot

を使う。

Windows, Macのどちらにも対応したハンズオンでは、Azure IoT Hub Toolkit推しってことになります。