AWS IoT EduKit ワークショップのご紹介
- 1. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
2021/2/17
アマゾンウェブサービスジャパン株式会社
嶺 行伸
AWS IoT EduKit ワークショップのご紹介
- 3. AWS IoT EduKit はこんな人に向いています
• IoT 開発を始めたいが、どのデバイスを選んだらいいかわからない
• IoT 開発に役立つ情報が豊富なデバイスを選びたい
• AWS IoT Core に証明書を安全にプロビジョニングする方法を知りたい
- 4. AWS IoT EduKit
• AWS を使った IoT ���リューションの開発⽅法を
簡単に学べる学習プログラム
• M5Stack Core 2 ベースのリファレンスハードウェア
• Trust & GO 暗号認証チップ / 6軸IMU / 温度センサー / 10個の
RGB LED / マイクといった様々なデバイスを搭載
• シンプルな構成から始まり、機械学習や Alexa を使った⾼度な
内容までステップアップする学習⽤ワークショップ
• IoT 開発の学習に必要なものを低コストで提供
• ハードウェアは Amazon.com で $42 で販売
(⽇本ではスイッチサイエンス様から販売)
• ワークショップは edukit.workshop.aws で無償提供
• ワープショップの GitHub リポジトリも公開されています
- 6. 開発環境について
• M5Stack と同じく、ESP-IDF (FreeRTOS) や Arduino、MicroPython 等を利用可能
• 自由にソフトウェアをインストールできるPCが必要
• Windows
• インストールが制限された会社支給PCのような環境だと難しい可能性あり
• Python や AWS CLI を使った作業があるため、コマンドライン操作の経験が必要
• macOS
• GitHub 上の platformio.ini のデフォルト設定が macOS 向けになっているなど、最も推奨さ
れる環境だが、業界によっては Mac を使っている人は少ない
• Linux
• 業界によっては Mac より使われている上、Windows や Mac に仮想環境としてインストー
ルできるので試しやすい
• 仮想環境の Linux に開発環境をインストールするのがおすすめ
• 現時点では Jetson 等の ARM64 環境ではビルドできないようです
- 7. 学習用コンテンツの概要 (1)
1. 開始方法 (Getting Started)
• Espressif が提供する ESP RainMaker という IoT プラットフォームに接続し、スマートフォン
アプリと連携する
• ESP RainMaker は AWS IoT Core ベースだが、この章は AWS というよりはデバイスの使い方
の学習がメイン
• 開発環境は Visual Studio Code + PlatformIO
2. Blinky Hello World (Lチカ)
• ATECC608A に埋め込まれた証明書を AWS IoT Core に登録し、MQTT 通信を行う
• これ以降の章では、ここで登録した証明書を使って AWS にアクセスするため実施が必須
• ここから開発環境は ESP-IDF に変わりますが、PC にインストールするものが急に増えるので
環境によっては注意が必要
- 8. 学習用コンテンツの概要 (2)
3. スマートサーモスタット
• 温度センサーとマイクの音量の値を AWS IoT Core のデバイスシャドウに反映
• AWS IoT Core のルールエンジンを使い、音量が一定以上なら部屋に「人がいる」と判定
• AWS IoT Events を使い、部屋に「人がいる」時と「人がいない」時それぞれで異なる閾値を
用いて、「温度が高ければ冷房、低ければ暖房、そうでなければ停止」という制御を行う
4. スマートスペース
• 前の章の続きで、部屋に「人がいる/いない」の判断を機械学習で行うように変更する
• 「人がいる/いない」それぞれの状況におけるセンサーデータを IoT Analytics に蓄積し、
SageMaker でモデルを作成してルールエンジンから推論を実行
5. Alexa for IoT 入門
• Alexa Voice Service Integration for AWS IoT を使い、M5Stack Core2 for AWS を Alexa 対応
スマートスピーカーにする
• LED を Alexa 対応の照明として公開し、Alexa アプリや音声で ON/OFF できるようにする
- 11. 含まれているドライバ一覧
各ディレクトリの ‘components/core2forAWS’ 以下にドライバがあります
ディレクトリ名 制御対象
atecc608 ATECC608A Trust & GO セキュアエレメント
axp192
AXP192 Power Management Unit (PMU)
振動モーター、バッテリー、電源LEDもこちらで制御
bm8563 Real Time Clock (RTC)
button
タッチパネル上の矩形領域をボタンとして扱う
押した / 離した / 長押し の判定が可能
ft6336u 静電容量タッチパネル
i2c_bus ESP32 I2C Driver のラッパー
microphone マイク (SPM1423)
mpu6886 6軸 IMU と温度センサー
sk6812 左右に5個ずつあるフルカラー LED
speaker スピーカーアンプ (NS4168)
tft 液晶画面 (ILI9342C)
- 12. 1. 開始方法 (Getting Started)
• USB ドライバーのインストール
• Visual Studio Code と PlatformIO のインストール
• スマートフォンに ESP Rainmaker アプリをインストール
• デバイスに ESP RainMaker Agent をインストール
• スマートフォンからデバイスに Bluetooth 接続して
初期設定し、クラウドに接続
- 14. 2. Blinky Hello World (Lチカ)
• ESP-IDF v4.2 と AWS CLI v2 と Miniconda をインストール
• ATECC608A から証明書を取得して AWS IoT Core に登録
• AWS IoT Core のエンドポイントと Wi-Fi の SSID / パスワードを menuconfig で設定
• デバイスからは「Hello from AWS IoT EduKit」という MQTT メッセージを定期的に送信
• デバイスに MQTT メッセージを送ると、LED の点滅状態がトグルする
- 17. Alexa for IoT 入門 (1)
• Alexa Voice Service Integration for AWS IoT に対応した Espressif
Voice Assistant SDK を利用してスマートスピーカー化
• Alexa 対応スマートスピーカーの開発方法を学べる
• この章の内容は GitHub の README の方が詳細に説明されている
• チュートリアルでは Espressif の AWS アカウントで設定する方法しか解説されていないが、
GitHub では自分の AWS アカウントで設定する方法も書かれている
• Espressif Voice Assistant SDK の詳細についても書かれているので、自分でスマートスピーカー
を作ってみたいという方は必読
- 18. Alexa for IoT 入門 (2)
• デバイスの LED を Alexa 対応の照明機器として公開
• Alexa アプリの UI や音声コマンドで ON / OFF を制御
• Alexa 対応のスマートホームデバイスの開発方法を学べる
- 19. まとめ
• AWS IoT EduKit を使えば、クラウドにつながる IoT デバイスの
開発を簡単に始められます
• セキュアエレメントを利用した安全な証明書管理も学べます
• m5stack の豊富な拡張デバイスで夢が広がります
• AWS IoT EduKit ワークショップを踏み台にして、クールな IoT
デバイスを開発しましょう!
- 20. IoT 関連リンク
• AWS IoT 開発者ポータル
• AWS の IoT に関する最新情報を発信しています
• https://aws.amazon.com/jp/local/iot/
• AWS IoT サービスのオンラインハンズオン
• AWS を使った IoT 開発を実際にお試し頂けます
• https://aws.amazon.com/jp/blogs/news/tag/iot-workshop/
• IoT@Loft – IoT デベロッパー向けのオンラインイベント
• IoT を使った開発事例やノウハウを共有するイベントです
• https://aws.amazon.com/jp/start-ups/loft/tokyo/iot-loft/