Slide 1

Slide 1 text

M5Stackで始めるIoT 入門 2021/08/28 16:10 - 16:40 初音 玲 Microsoft MVP - Windows Development https://hatsune.hatenablog.jp/ 2021/08/28 NETラボ 勉強会 2021年08月

Slide 2

Slide 2 text

本日のアジェンダ 1. M5Stackとは 2. M5Stackの開発環境 3. M5Stackで環境を測定する 4. Azure IoT Hubとは 5. M5StackからAzure IoT Hubに接続する 6. まとめ - 次にすべきこと 2021/08/28 NETラボ 勉強会 2021年08月 2

Slide 3

Slide 3 text

M5Stackとは 2021/08/28 NETラボ 勉強会 2021年08月 3

Slide 4

Slide 4 text

M5Stack 開発元は、深圳のM5Stack社 プロセッサーは「ESP32」 ◼Wi-FiとBluetoothを内蔵する低コスト&低消費電力なSoCシリーズ 今回使用するのは、M5Stack Core 2 ◼M5Stack開発キットシリーズの第2世代のCoreデバイス 2021/08/28 NETラボ 勉強会 2021年08月 4

Slide 5

Slide 5 text

M5Stack Core 2のインターフェース USB ◼電源 ◼シリアル接続 (TXD3, RDX3) PORT.A ◼I2Cシリアルバス規格 ◼I2CはArduinoでもおなじみの規格 M-Bus ◼ESP32のピンを取り出しているI/F M5StackのStackとは ◼サイズとM-Busの位置を合わせた モジュールを積み重ねて機能拡張 2021/08/28 NETラボ 勉強会 2021年08月 5

Slide 6

Slide 6 text

M5Stackの開発環境 2021/08/28 NETラボ 勉強会 2021年08月 6

Slide 7

Slide 7 text

開発環境 王道:Arduino IDE 2021/08/28 NETラボ 勉強会 2021年08月 7 便利:Visual Studio Code

Slide 8

Slide 8 text

Visual Studio Codeは楽だけれど Arduino拡張をいれれば便利 ◼インテリセンスが効く! Arduino拡張は、必ず設定が必要 ◼Arduino拡張自体の設定 ◼付随するC++インテリセンス拡張の設定 拡張機能の環境設定はコピーが楽 ◼そもそもソースコードファイルではなくフォルダを指定 ◼.vscodeの中に設定ファイルが書かれる ◼ M5Stack Core 2アプリのフォルダを作ったら既存の.vscodeフォルダをコピーでOK 2021/08/28 NETラボ 勉強会 2021年08月 8

Slide 9

Slide 9 text

ボードとしてM5Stack Core 2を指定 Arduino Board Managerで「M5Stack」をインストール ◼バージョンごとにインストールされるtoolsフォルダの構成が異なる ◼インテリセンス拡張のincludePath指定が[1.0.7]→[1.0.9]の置換だけでは無理 ◼気楽に[Update]するとインテリセンスエラー&ビルドエラーが! 2021/08/28 NETラボ 勉強会 2021年08月 9 【解決方法】 その1: M5Stackのバージョンを戻す その2: 新規にフォルダを作成してそこで環境設定を新 規に行った.vscodeファイルから設定反映

Slide 10

Slide 10 text

M5Stackで環境を測定する 2021/08/28 NETラボ 勉強会 2021年08月 10

Slide 11

Slide 11 text

モジュールまたはユニット モジュール:M-Busに接続するM5Stackモジュール ユニット :PORT.Aに接続するセンサーでArduinoのGROVE規格互換 今回利用する環境センサー:ENV. II SENSOR ◼温湿度センサー :SHT30 ◼気圧センサー :BMP280 2021/08/28 NETラボ 勉強会 2021年08月 11

Slide 12

Slide 12 text

ENV II用ライブラリを追加する Arduino拡張のArduino Library Managerからインストール ◼BMP280関連のみ 公式GitHubから取得 ◼STH関連のみ 2021/08/28 NETラボ 勉強会 2021年08月 12

Slide 13

Slide 13 text

コード(スケッチ)初期化 2021/08/28 NETラボ 勉強会 2021年08月 13

Slide 14

Slide 14 text

コード(スケッチ)センサー値取得 2021/08/28 NETラボ 勉強会 2021年08月 14

Slide 15

Slide 15 text

Azure IoT Hubとは 2021/08/28 NETラボ 勉強会 2021年08月 15

Slide 16

Slide 16 text

Azure Azure IoT Hub 2021/08/28 NETラボ 勉強会 2021年08月 16 IoT Hub MQTT IoT Device IoT Device MQTT Azureのサービス ◼IoTデバイスとの双方向通信を実現 使用プロトコル ◼「小さい」「大量の」データを 「低遅延」「双方向」通信

Slide 17

Slide 17 text

Azure IoT Hubを使ってみよう 無料プラン ◼1日8000メッセージ上限→1台のみなら12秒間隔 2021/08/28 NETラボ 勉強会 2021年08月 17

Slide 18

Slide 18 text

IoT Hubと通信するデバイスを定義 2021/08/28 NETラボ 勉強会 2021年08月 18

Slide 19

Slide 19 text

M5Stackから Azure IoT Hubに接続する 2021/08/28 NETラボ 勉強会 2021年08月 19

Slide 20

Slide 20 text

IoT Hubに接続するライブラリは? Arduino Board Managerで「M5Stack」をインストール 2021/08/28 NETラボ 勉強会 2021年08月 20

Slide 21

Slide 21 text

コード(スケッチ)初期化:追加コード Wi-Fi初期化 MQTT初期化 2021/08/28 NETラボ 勉強会 2021年08月 21 ↓プライマリ接続文字列

Slide 22

Slide 22 text

コード(スケッチ)センサー値送信 JSONフォーマット メッセージ送信 2021/08/28 NETラボ 勉強会 2021年08月 22

Slide 23

Slide 23 text

データをWEBでリアルタイム表示 1. サービス用の共通アクセスポリシー 2. コンシューマーグループ 2021/08/28 NETラボ 勉強会 2021年08月 23 3. Webアプリで指定

Slide 24

Slide 24 text

データをWEBでリアルタイム表示 Core 2 →(MQTT) →IoT Hub→WebApps→(WSS)→ブラウザ 2021/08/28 NETラボ 勉強会 2021年08月 24

Slide 25

Slide 25 text

IoT Hubに送信されたデータを閲覧 2021/08/28 NETラボ 勉強会 2021年08月 25 Stream Analytics Job

Slide 26

Slide 26 text

まとめ - 次にすべきこと 2021/08/28 NETラボ 勉強会 2021年08月 26

Slide 27

Slide 27 text

本日の範囲 次にすべきこと 2021/08/28 NETラボ 勉強会 2021年08月 27 IoT Device IoT Hub Stream Analytics Job 収集 蓄積/制御 分析 制御 PowerBIで分析 他ツールで分析

Slide 28

Slide 28 text

2021/08/28 NETラボ 勉強会 2021年08月 28