Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Amazon FreeRTOSを用いた量産向けIoTマイコンデバイス開発プロトタイピング

2,709 views

Published on

Amazon FreeRTOSを用いた量産向けIoTマイコンデバイス開発プロトタイピング

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Amazon FreeRTOSを用いた量産向けIoTマイコンデバイス開発プロトタイピング

  1. 1. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. IoT@Loft ハンズオン #2 Amazon FreeRTOSを⽤いた 量産向けIoTマイコンデバイス開発プロトタイピング はじめに アマゾン ウェブ サービス ジャパン株式会社 2020/01/08
  2. 2. 1. AWSにおけるIoTサービス
  3. 3. 165 を超える主要なAWSサービス テクニカル & ビジネス サポート AWS Marketplace 7サービス 分析 11サービス IoT 11サービス 機械学習 20サービス コアサービス 5サービス マネジメン トツール 8サービス DevOps 11サービス ブロック チェーン 2サービス モバイル サービス 8サービス アプリ サービス 5サービス インフラ ストラクチャ 7サービス エンタープラ イズアプリ 9サービス 移⾏ 7サービス セキュリティ& コンプライア ンス 19サービス 9 サービス
  4. 4. IoTを支えるマネージドサービス群 11の構成要素:すべてを使う必要はない IoT Greengrass Amazon FreeRTOS AWS IoT Device SDK IoT Core IoT Device Management IoT Device Defender IoT Things Graph IoT Analytics IoT SiteWise IoT Events 2 1 どのようにしてIoTデータから価値を抽出するのか? デバイスを制御、管理、保護する⽅法は? デバイスをどのように接続・操作するのか︖
  5. 5. IoTを支えるマネージドサービス群 11の構成要素:すべてを使う必要はない IoT Greengrass Amazon FreeRTOS AWS IoT Device SDK IoT Core IoT Device Management IoT Device Defender IoT Things Graph IoT Analytics IoT SiteWise IoT Events 2 1
  6. 6. オンプレミス、EC2+ミドルウェア 、マネージドサービスの⽐較 電源、ネットワーク ラック導入管理 サーバメンテナンス OSのパッチ ミドルウェアのパッチ バックアップ スケーラビリティ 可用性 ミドルウェアの導入 OSの導入 アプリからの利用 オンプレミス ミドルウェアon EC2 AWS IoT, RDS等 マネージドサービス お客様がご担当する作業 AWSが提供するマネージド機能 電源、ネットワーク ラック導入管理 サーバメンテナンス OSのパッチ ミドルウェアのパッチ バックアップ スケーラビリティ 可用性 ミドルウェアの導入 OSの導入 アプリからの利用 電源、ネットワーク ラック導入管理 サーバメンテナンス OSのパッチ ミドルウェアのパッチ バックアップ スケーラビリティ 可用性 ミドルウェアの導入 OSの導入 アプリからの利用
  7. 7. IoTに求められる機能要件 モニタリング 状態監視・実績把握 予測・分析 故障予測・異常パターン検知・マーケティング 分析 モバイル/API連携 スマートデバイス/API連携 遠隔制御 家電制御・ファームアップ
  8. 8. 本ハンズオンで利用するAWS IoTサービス IoT Greengrass Amazon FreeRTOS AWS IoT Device SDK IoT Core IoT Device Management IoT Device Defender IoT Things Graph IoT Analytics IoT SiteWise IoT Events 2 1
  9. 9. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon FreeRTOSを利用するデバイス そ の 他 も ロ ボ テ ィ ッ ク ス 医 療 機 器 ス マ ー ト ホ ー ム ス マ ー ト デ バ イ ス 油 圧 セ ン サ ー フ ィ ッ ト ネ ス ト ラ ッ カ ー ス マ ー ト メ ー タ ー 洗 濯 機 自 動 車 ス マ ー ト キ ー エ ア コ ン
  10. 10. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. マイクロコントローラー向け No.1 リアルタイムOSがベース • 14年間にわたり広く配布された信頼性 • 40以上のアーキテクチャでサポート • 広範なエコシステム • フリーでオープンソース • バージョンは、10 • MIT オープンソース・ライセンス • ストリームとメッセージバッファによるプロセス間通信 (IPC)機能 Amazon FreeRTOS
  11. 11. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. クラウド接続用のライブラリ • AWS IoT コアへの接続 • MQTT Pub/Sub メッセージング • デバイス シャドウのサポート • IoT用マイクロコントローラーを 活用するための最速の手段 AWS IoT Core
  12. 12. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. セキュリティライブラリ • TLSを使ったセキュア・ソケット • 証明書ベースの認証 • オープン ネットワークポート無し • 信頼できるコードのみを実行 • デフォルト状態から安全
  13. 13. MQTT over BLE • BLE デバイスをiOS/Android をプロ キシとして AWS IoT に接続 • 新しい MQTT Agent が BLE と TCP をサポート • iOS と Android SDK がプロキシライ ブラリを提供 • Amazon Cognito がプロキシと AWS IoT 間の認証を行う • Shadow, Device Defender, OTA の 機能も BLE 経由で利用可能 https://docs.aws.amazon.com/ja_jp/freertos/latest/userguide/ble-demo.html#ble-demo-mqtt
  14. 14. Wi-Fi Provisioning over BLE • Wi-Fi の Credential を モバイルデバ イスを使って BLE で設定 • 複数のネットワークの設定、優先順 位付け、追加、削除が可能 • BLE Secure Connections をサポート (BLE 4.2 以上) https://docs.aws.amazon.com/ja_jp/freertos/latest/userguide/ble-demo.html#ble-demo-wifi
  15. 15. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Hardware Partners Amazon FreeRTOS – ハードウエアパートナー
  16. 16. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. ローカル接続用のライブラリ • AWS Greengrass(エッジゲートウェイ)とのローカル通 信、Wi-Fiスタック • Wi-Fi管理ライブラリ Wi-Fi機能の抽象レイヤーを実装 • クラウドへの接続が無くても、 コミュニケーションとデータ収集を継続 • 多くのネットワークトポロジと ユースケースのサポート AWS Greengrass
  17. 17. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Over-the-Airファームウェアアップデート • 新しいファームウェアイメージのコード署名 • MQTTを使用してデバイスにアップデートを配布 • デバイスの署名の検証 • シンプルなグループの管理 • メモリ効率のよいアップデート・クライアント
  18. 18. 本ハンズオンで利用するAWS IoTサービス IoT Greengrass Amazon FreeRTOS AWS IoT Device SDK IoT Core IoT Device Management IoT Device Defender IoT Things Graph IoT Analytics IoT SiteWise IoT Events 2 1
  19. 19. AWS IoT : 2つの利⽤⽤途 データ収集 数⼗万規模のデバイスからのデー タ収集 リモート制御 遠隔にあるデバイスをクラウドを 介してコントロール 使⽤例 デバイスのデータの可視化 故障予測・異常検知 ファームアップ リモート機器制御
  20. 20. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. デバイスをAWSクラウドや 他のデバイスに 安全に接続する データを基に推論を⾏うため のAWSの各種サービス (Analytics、データベース、 AIなど)との完全な統合 接続されたデバイスから のデータに基づいて、 ルーティング、処理、 実⾏を⾏う 安全なデバイス接続とメッセージング AWS IoT コア AWS IoT Coreは、IoTデバイスを簡単かつ、安全に クラウドアプリケーションや他のデバイスと 通信できるようにするマネージドサービスです。 デバイスがオフラインで あっても、アプリケーショ ンがデバイスと対話できる ようにする
  21. 21. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
  22. 22. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
  23. 23. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. AWS IoT証明書による:セキュリティ管理 クラウド側で予め証明書とpolicyを紐づける デバイス側はAWS IoTに証明書を用いて接続 挙動の正当性はクラウド側がpolicyに従い判定をおこなう private.key public.key ceritificate.key { effect: allow action:[iot:connect, iot:publish] resource :[data/send] },{ effect: deny action:[iot:subscribe] resource:[*] } 証明書のみでpolicyを 推測することはできない 当該証明書のアクション を評価 policy 証明書 active /in-active status 証明書 statusの確認
  24. 24. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
  25. 25. MQTTの通信方式 Publisher Broker Topic: sensor/temp Subscriber Subscriber publish subscribe Brokerはpublisherからのメッセージを受取り、topicへ向けて通信を送ることで当該 topicを受信しているSubscriberはメッセージを受信できる。 IoT rule オペレータ thing Subscribeは常時接続 これによりニアリアルタイムの通信が⾏われる IoT rule
  26. 26. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
  27. 27. 1. AWS サービス (直接連携可能) ルールエンジン アクション ルールエンジンのアクション AWS Lambda Amazon SNS Amazon SQS Amazon S3 Amazon Kinesis Amazon DynamoDB Amazon RDS Amazon Redshift Amazon Glacier Amazon EC2 3. 外部のエンドポイント (Lambda and SNSを経由) AWS IoTからAWSサービス/ 外部のエンドポイントの 呼び出しを⾏なう 2. その他のAWS (Amazon Kinesis, AWS Lambda, Amazon S3など のサービスを経由) SELECT * FROM ʻthings/thing-2/colorʼ WHERE color = ʻredʼ
  28. 28. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
  29. 29. デバイス シャドウ { "state" : { “desired" : { "engine" : "ON" }, "reported" : { "engine" : ”OFF" }, "delta" : { "engine" : ”ON" } }, "version" : 10 } Thing 現状ステータスをシャドウに通知 シャドウから要求されるステータスを取得 Mobile App デバイスに対して変更したいステータスをセット 最新の通知されたステータスを取得 シャドウの削除 Shadow シャドウは、delta, desired 及びreported ステータスをメタデータとバージョンをつけて管理 デバイスの現在の状態情報の保存と取得に使用される JSON ドキュメント
  30. 30. デバイスは現在のステータスをアップデート "engine" : ”OFF” { "state" : { “desired" : "engine" : ”OFF" }, "reported" : { "engine" : ”OFF" } }, "version" : 10 } SDK:update_shadow MQTT: $aws/things/{thingname}/shadow/update
  31. 31. アプリケーションからエンジンON "engine" : ”ON” { "state" : { “desired" : { "engine" : ”ON" }, "reported" : { "engine" : ”OFF" } }, "version" : 10 }
  32. 32. deltaが通知される "engine" : "ON” { "state" : { “desired" : { "engine" : "ON" }, "reported" : { "engine" : ”OFF" }, "delta" : { "engine" : ”ON" } }, "version" : 10 }
  33. 33. 最新のステータスにアップデート(deltaは消える) "engine" : "ON” { "state" : { “desired" : { "engine" : "ON" }, "reported" : { "engine" : ”ON" }, "delta" : { "engine" : ”ON" } }, "version" : 10 }
  34. 34. Thank you!

×