AZ3166 で IoT Plug and Play サンプルコードを動かす

f:id:matsujirushix:20210110141034p:plain

IoT Plug and Play を実デバイスで試せるように、マイクロソフトMXChip IoT DevKit (AZ3166) で動かすサンプルコードと手順を公開しています。

docs.microsoft.com

試してみたのですが、、、手順がちょっとわかりにくい&うまくいかない部分があったので、自分がうまく試せた手順を備忘として書いておきます。

1. Azure IoT Hub にデバイスを作成

Azure IoT Hub にデバイスを作成します。
Authentication type は、Symmetric Keyを選択してください。
好みのツールを使ってかまいません。Azure CLI や Azure ポータル、VSCode拡張などのツールが使えますが、わたしは Azure ポータルで作成しました。

f:id:matsujirushix:20210110133813p:plain

2. サンプルコードをダウンロード

サンプルコードが GitHub に上がっているので、zipをダウンロードして適当なフォルダに解凍します。

git clone ...でも構いませんが、後にフォルダ名を変更するので履歴管理がちょっと崩れます。

github.com

f:id:matsujirushix:20210110134102p:plain

3. フォルダ名を変更

解凍したフォルダにあるDevicePnPGetStartedという名前に変更します。

f:id:matsujirushix:20210110134706p:plain

4. コンパイルしてデバイスへ書き込む

Arduino IDEPnPGetStarted/PnPGetStarted.inoを開いて、デバイスへ書き込みます。
ボードはMXCHIP AZ3166です。

MXCHIP AZ3166が選択できないときは、ボードマネージャで追加する必要があります。
追加URLはhttps://raw.githubusercontent.com/VSChina/azureiotdevkit_tools/master/package_azureboard_index.json

f:id:matsujirushix:20210110135111p:plain

5. デバイスに接続先のWi-Fi / Azure IoT Hubを設定

サンプルコードをデバイスに書き込んだ後、デバイスWi-FiとAzure IoT Hubの接続情報をデバイスに設定します。
次の2つの手段があります。

  1. Aボタンを押しながらリセット ... Configuration Mode。USBのVCOMから設定。
  2. Bボタンを押しながらリセット ... AP Mode。Wi-Fiから設定。

どちらかというと、Configuration Modeのほうが迷わないと思います。Aボタンを押しながらリセットすると、USBのVCOMに次のメッセージが表示されますので、以下のコマンドで接続情報を設定します。

  • set_wifissid ... Wi-Fi SSID
  • set_wifipwd ... Wi-Fi パスワード
  • set_az_iothub ... Azure IoT Hub デバイス接続文字列

f:id:matsujirushix:20210110135918p:plain

6. 動作確認

正常に動作するとUSBのVCOMに送信している旨が表示され、

f:id:matsujirushix:20210110140301p:plain

Azure IoT Explorerで、Azure IoT Hubにメッセージが届いているのが確認できます。

f:id:matsujirushix:20210110140440p:plain

バイスから、IoT Plug and Playの情報(Model ID)も届いていますね。

f:id:matsujirushix:20210110140657p:plain