Azure_IoT_Central_ESP32をSeeed Studio XIAO ESP32C3で動かしてみた(グループSAS)
関連記事。
- Azure_IoT_Central_ESP32をSeeed Studio XIAO ESP32C3で動かしてみた(グループSAS)
- Azure_IoT_Central_ESP32をSeeed Studio XIAO ESP32C3で動かしてみた(個別X.509)
- Azure_IoT_Central_ESP32をSeeed Studio XIAO ESP32C3で動かしてみた(個別SAS)
- Azure_IoT_Central_ESP32をSeeed Studio XIAO ESP32C3で動かしてみた(グループX.509)
- Azure_IoT_Central_ESP32をSeeed Studio XIAO ESP32C3で動かしてみた(グループX.509 その2)
Azure SDK for Embedded Cを、Arduinoライブラリ化してサンプルコードを追加したazure-sdk-for-c-arduinoというGitリポジトリがあります。
ここに含まれているサンプルコードAzure_IoT_Central_ESP32を試しました。
どのサンプルコードを試す?
サンプルコードを見ると、
- Azure_IoT_Central_ESP32
- Azure_IoT_Central_ESP32_AzureIoTKit
- Azure_IoT_Hub_ESP32
- Azure_IoT_Hub_ESP8266
- Azure_IoT_Hub_RealtekAmebaD
の5つが含まれています。
xxx_ESP32の対象ボードは、特定のものではなく、ESPRESSIF ESP32のMCUを対象にしている模様。明記されていないのではっきり分からず。
xxx_ESP32_AzureIoTKitの対象ボードは、ESPRESSIF ESP32-Azure IoT Kit。
xxx_ESP8266の対象ボードは、ESPRESSIF ESP8266のMCUを対象にしている模様。明記されていないので(ry
xxx_RealtekAmebaDの対象ボードは、Realtek AMB21/AMB22。
Azure IoT Central vs Azure IoT Hubは、操作性が良いAzure IoT Centralにしましょう。(デバイスを作るスキルはAzure IoT Hubの方が低いのだが...)
Azure_IoT_Central_ESP32 vs Azure_IoT_Central_ESP32_AzureIoTKitは、ESPRESSIF ESP32-Azure IoT Kitを使うか否かで決まるのですが、持っていたはずのESPRESSIF ESP32-Azure IoT Kitが見当たらない...引っ越しの際に捨ててしまったのか...なので、選択の余地なく、Azure_IoT_Central_ESP32にします。
ESP32ってことなら、手元にいっぱい転がっているSeeed Studio XIAO ESP32C3を使いましょうw
- 使用デバイスはSeeed Studio XIAO ESP32C3
- サンプルコードはAzure_IoT_Central_ESP32
- 接続先はAzure IoT Central
さあ、動かそう
まず、Arduino IDEのライブラリフォルダに、azure-sdk-for-c-arduinoをcloneします。
git clone https://github.com/Azure/azure-sdk-for-c-arduino
Arduino IDEのExamplesでAzure_IoT_Central_ESP32が選べるようになりますので、ポチします。
次はAzure IoT Centralです。Devices画面でデバイスを追加して、そのデバイスのConnect画面からID scope
、Device ID
、SAS Key
をコピっておきます。
サンプルコードへのWi-FiとAzure IoT Centralの接続情報は、iot_configs.h
にハードコードって感じですw Wi-FiのSSIDとパスフレーズをIOT_CONFIG_WIFI_SSID
、IOT_CONFIG_WIFI_PASSWORD
に書いて、さきほどコピったAzure IoT Centralの接続情報をDPS_ID_SCOPE
、IOT_CONFIG_DEVICE_ID
、IOT_CONFIG_DEVICE_KEY
に書きます。
iot_configs.h:
#define IOT_CONFIG_WIFI_SSID "seeed2g" #define IOT_CONFIG_WIFI_PASSWORD "seeedjapan" #define DPS_ID_SCOPE "0ne0014D070" #define IOT_CONFIG_DEVICE_ID "device1" #define IOT_CONFIG_DEVICE_KEY "THqFJ3rv2EJsLPM1xxxxxxxxxxxxxxxxxxxx"
最後に、Arduino IDEでデバイスにUploadします。
何事も無く、すんなり動きました。(簡単すぎる...)
わかったこと、気づいたこと
- Azure_IoT_Central_ESP32はSeeed Studio XIAO ESP32C3で動いた
- Azure IoT Centralのテンプレート設定は不要(Model ID dtmi:azureiot:devkit:freertos:Esp32AzureIotKit;1を自動割当)
- X.509認証にも対応しているっぽい(iot_configs.hの雰囲気)