SlideShare a Scribd company logo
© 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
2021/2/17
アマゾンウェブサービスジャパン株式会社
嶺 行伸
AWS IoT EduKit ワークショップのご紹介
自己紹介
嶺 行伸
アマゾンウェブサービスジャパン株式会社
IoT ソリューションアーキテクト
工場やプラントへのIoT導入を中心にサポートしています
IoT 関連ではスマートロックの開発に携わったりしていました
好きなサービス
• AWS Lambda
• AWS IoT Greengrass
• Amazon Managed Blockchain
AWS IoT EduKit はこんな人に向いています
• IoT 開発を始めたいが、どのデバイスを選んだらいいかわからない
• IoT 開発に役立つ情報が豊富なデバイスを選びたい
• AWS IoT Core に証明書を安全にプロビジョニングする方法を知りたい
AWS IoT EduKit
• AWS を使った IoT ソリューションの開発⽅法を
簡単に学べる学習プログラム
• M5Stack Core 2 ベースのリファレンスハードウェア
• Trust & GO 暗号認証チップ / 6軸IMU / 温度センサー / 10個の
RGB LED / マイクといった様々なデバイスを搭載
• シンプルな構成から始まり、機械学習や Alexa を使った⾼度な
内容までステップアップする学習⽤ワークショップ
• IoT 開発の学習に必要なものを低コストで提供
• ハードウェアは Amazon.com で $42 で販売
(⽇本ではスイッチサイエンス様から販売)
• ワークショップは edukit.workshop.aws で無償提供
• ワープショップの GitHub リポジトリも公開されています
⽇本語版
開発環境について
• 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 環境ではビルドできないようです
学習用コンテンツの概要 (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 にインストールするものが急に増えるので
環境によっては注意が必要
学習用コンテンツの概要 (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 できるようにする
学習用コンテンツで使うソースコードについて
ソースコードは GitHub で公開 (MITライセンス)
• https://github.com/m5stack/Core2-for-AWS-IoT-EduKit
ディレクトリ構成
• Factory-Firmware
出荷時のファームウェア
• Hardware-Features-Demo
ハードウェアを全て使うデモアプリ
• Getting-Started
第1章「開始方法」のソースコード
• Blinky-Hello-World
第2章「Blinky Hello World (Lチカ)」のソースコード
• Smart-Thermostat
第3章「スマートサーモスタット」のソースコード
• Smart-Spaces
第4章「スマートスペース」のソースコード (現時点では README.md だけですw)
• Alexa_for_IoT-Intro
第5章「Alexa for IoT 入門」のソースコード
含まれているドライバ一覧
各ディレクトリの ‘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)
1. 開始方法 (Getting Started)
• USB ドライバーのインストール
• Visual Studio Code と PlatformIO のインストール
• スマートフォンに ESP Rainmaker アプリをインストール
• デバイスに ESP RainMaker Agent をインストール
• スマートフォンからデバイスに Bluetooth 接続して
初期設定し、クラウドに接続
1. 開始方法 (Getting Started)
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 の点滅状態がトグルする
3. スマートサーモスタット
• 温度センサーとマイクの音量の値をデバイスシャドウに送信
• ルールエンジンと AWS IoT Events を使って仮想の空調を制御
• ここから AWS サービスを本格的に利用
4. スマートスペース
• 人がいる時といない時のセンサーデータを AWS IoT Analytics に蓄積
• SageMaker で学習を行って推論エンドポイントを作成
• 単純な音量の閾値ではなく、機械学習で「人がいる/いないを」判断するように変更
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 の詳細についても書かれているので、自分でスマートスピーカー
を作ってみたいという方は必読
Alexa for IoT 入門 (2)
• デバイスの LED を Alexa 対応の照明機器として公開
• Alexa アプリの UI や音声コマンドで ON / OFF を制御
• Alexa 対応のスマートホームデバイスの開発方法を学べる
まとめ
• AWS IoT EduKit を使えば、クラウドにつながる IoT デバイスの
開発を簡単に始められます
• セキュアエレメントを利用した安全な証明書管理も学べます
• m5stack の豊富な拡張デバイスで夢が広がります
• AWS IoT EduKit ワークショップを踏み台にして、クールな IoT
デバイスを開発しましょう!
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/

More Related Content

AWS IoT EduKit ワークショップのご紹介

  • 1. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved. 2021/2/17 アマゾンウェブサービスジャパン株式会社 嶺 行伸 AWS IoT EduKit ワークショップのご紹介
  • 2. 自己紹介 嶺 行伸 アマゾンウェブサービスジャパン株式会社 IoT ソリューションアーキテクト 工場やプラントへのIoT導入を中心にサポートしています IoT 関連ではスマートロックの開発に携わったりしていました 好きなサービス • AWS Lambda • AWS IoT Greengrass • Amazon Managed Blockchain
  • 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 できるようにする
  • 9. 学習用コンテンツで使うソースコードについて ソースコードは GitHub で公開 (MITライセンス) • https://github.com/m5stack/Core2-for-AWS-IoT-EduKit
  • 10. ディレクトリ構成 • Factory-Firmware 出荷時のファームウェア • Hardware-Features-Demo ハードウェアを全て使うデモアプリ • Getting-Started 第1章「開始方法」のソースコード • Blinky-Hello-World 第2章「Blinky Hello World (Lチカ)」のソースコード • Smart-Thermostat 第3章「スマートサーモスタット」のソースコード • Smart-Spaces 第4章「スマートスペース」のソースコード (現時点では README.md だけですw) • Alexa_for_IoT-Intro 第5章「Alexa for IoT 入門」のソースコード
  • 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 の点滅状態がトグルする
  • 15. 3. スマートサーモスタット • 温度センサーとマイクの音量の値をデバイスシャドウに送信 • ルールエンジンと AWS IoT Events を使って仮想の空調を制御 • ここから AWS サービスを本格的に利用
  • 16. 4. スマートスペース • 人がいる時といない時のセンサーデータを AWS IoT Analytics に蓄積 • SageMaker で学習を行って推論エンドポイントを作成 • 単純な音量の閾値ではなく、機械学習で「人がいる/いないを」判断するように変更
  • 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/