AWSを使用したスマートホームデモシステム
システムの全体像
Amazon Echo及びGoogle Homeから、発話でLEDライトを操作できるスマートホームシステムの全体像です。発話の録音データがAlexa Cloud及びGoogle Assistantで解釈され、インテント(指示電文)がデバイスクラウドに送信されます。デバイスクラウド管理下にあるデバイス(デモ用LEDライト)がMQTT通信で指示を捕捉し、ライトのON/OFFや色などを制御します。
①デバイスクラウド
デバイスクラウドはAWS上に構築しています。サーバレスサービスのLambdaに、Node.js(Typescript/Javascript)でホストしています。AWS IoTサービスを用いてデバイスとの通信機構を作っています。ユーザー管理にCognitoを用い、OAuth認証を実現しています。
②組込みアプリ
デバイスのクラウドとの通信を担うIoT部には、ハードウェアとしてMicrochip社製:Zero Touch Provisioning AWS IoT Kitを使用し、そこのMCUにC言語で作った組込みアプリをいれています。LEDライトを制御するArduino nano基板とUARTでつなぎ、デバイスクラウドからの指示をLEDライトに反映しています。セキュアエレメントとしてATECC608Aを用いて重要な鍵を管理し、デバイスのJust In Time登録を実現しています。
③スマホアプリ
デバイスクラウドにデバイス:デモ用LEDライトを登録する手続きをするために、デバイスアプリを開発してます。本デモシステムでは保守コストの高いネイティブアプリは採用せず、ブラウザ上で動作するWebアプリとして実装しています。
④分析ツール
④-1. QuickSightの画面例
④-2.デバイスクラウドで収集したデータをQuickSightでグラフに描画するまでの流れ
各デバイスから解析用のデータがMQTTのTopicに集まり、AWS IoTがAnalyticsのchannelにデータを転送します。データがある程度蓄積されるとpipelineを通して加工され、data storeに貯まります。そこからdata setが抽出され、QuickSightと連携してグラフを作成できます。
【商標について】
※AWS、Amazon Echo、Alexa、Lambda、DynamoDB、Cognito、API Gateway、AWS IoT、AWS IoT Analytics、QuickSightは、米国その他の諸国におけるAmazon.com, Inc.またはその関連会社の商標です。
※Node.jsはJoyent, Inc.の商標です。
※Google、Google Home、Google Assistant、Androidは、Google LLCの商標または登録商標です。
※Zero Touch Provisioning AWS IoT Kit、ATWINC1500、ATSAMG55、ATECC608Aは米国およびその他の国における Microchip Technology Incorporated の登録商標です。