皆さん、こんにちわ!りなたむです。
様々なIoTデバイスを提供している M5Stack さんには、 Scratch ライクに開発可能な UiFlow という開発ツールがあります。
UiFlow には、クラウド連携用のブロックが用意されており、様々なクラウドと連動させることが可能です。
もちろん、Azure もあります。
Azure の連携サービスとしては、 Azure IoT Hub と、Azure IoT Central の2つのブロックが用意されています。
今回は、この Azure IoT Central と UiFlow を組み合わせて
- M5Stackに搭載されているセンサー情報をテレメトリとして送信
- Azure IoT Central から M5Stack に メッセージ情報を表示
この2点をそれぞれ解説していきたいと思います。
1. Azure IoT Central
1.1. Azure IoT Central の作成
まずは、M5Stack と連動させるための、Azure IoT Central を作成しないことには始まりませんので、こちらを作成していきます
1.2. Azure IoT Central デバイステンプレートの作成
Azure IoT Central を作成したら、デバイスを登録する前に、テレメトリ情報やデバイスへのコマンドを定義する、デバイステンプレートを作成します。
1.2.1. テレメトリ受信用の機能を追加
M5Stack デバイスのセンサー情報(テレメトリ)を Azure IoT Central にて受信するための機能を追加します。
1.2.2. コマンド送信用の機能を追加
クラウドサービスから M5Stack に情報を送信する機能を追加します。
1.3. Azure IoT Central デバイス追加
デバイステンプレート を作成したら、実際に管理画面で今回使用するデバイスを登録します。
2. UiFlow 開発
UiFlowをつかって、M5StackデバイスとAzure IoT Central を接続していきます。
2.1. Azure IoT Central 接続前まで
基本的に、デバイスの構成やセンサーの設定をした上で、Wifi 接続部分までを以下のように定義していきます。
2.2. Azure IoT Central 接続部分
時刻同期の下ブロックを以下のように変更していきます。
2.3. テレメトリ送信
予め作成しているイベントタイマーにて、Azure IoT Central にテレメトリを送信する部分を作成していきます。
2.4. コマンド実行
Azure IoT Central からのコマンドを M5Stack デバイスに受信する部分を作成していきます。
-
IoTCloud > Azure > Classic から Subscribe Direct Method ブロックを選択する
-
Azure IoT Central のデバイスにあるコマンド実行画面でテキストを入れると、文字がデバイスに表示されることを確認する。
3. まとめ
いかがだったでしょうか?
M5Stack UiFlow と Azure IoT Central を組み合わせることで、双方向にやり取り可能なデバイスを簡単に作ることが出来ました!
次回は、Microsoft の Power Platform 製品である、Power Automate と Power Apps を組み合わせて、スマホから簡単にデバイスに文字を反映する部分を作成していきたいと思います。