この章の終わりには、サーバーレスアプリケーションで次のようなことができるようになります。
この時点までは、IoT ソリューションのあらゆる側面は、各メッセージの受信、処理、その後の廃棄という意味では一時的なものとなっています。IoT Events 探知器モデルの場合、新規メッセージに対応するステートフルエンティティはありますが、それ以外ではサーモスタットメッセージの履歴は保存されていません。このステップでは、サーモスタットメッセージのデータストアを構築します。
AWS にはクラウドにデータを保存するさまざまな方法があり、IoT データの保存も同様です。このソリューションでは AWS IoT Analytics というサービスの使用を推奨しています。これは IoT データの受信、保存、処理、分析を一括で行う専用のマネージドサービスです。IoT Analytics を使用して、Device Shadow への更新のそれぞれのサブセットを保存します。
AWS IoT Analyticsのドキュメントでは、これについて詳細を網羅していますが、そのしくみの概要は次のとおりです。サービスのエントリポイントは、チャネルと呼ばれるリソースです。チャネルはワークフローのすべての未加工データを保存します。また、受信した各メッセージのコピーを、パイプラインと呼ばれる次のリソースに送信します。パイプラインは一連のアクティビティで、データが分析ユースケースで使用される前に、データの処理、クレンジング、フィルター、エンリッチを行います。処理されたメッセージはパイプラインからデータストアに入ります。データストアはチャネルと同様に、処理データの永続的なストレージユニットです。最後にデータセットが AWS IoT Analytics プロジェクトの最後のリソースです。データセットは SQL に似たクエリを定義します。このクエリはデータストアからマテリアルズド・ビューとしてメッセージを読み取り、クエリのコンテンツを S3 バケットといった送信先に配信します。
スマートスペースソリューションは、サーモスタットからの数時間のランタイムデータを AWS IoT Analytics に蓄積します。その後、データセットクエリの結果によって、このデータが Amazon SageMaker の機械学習ツールチェーンで使用可能になります。
AWS IoT Analytics にはより多くの機能がありますが、このモジュールの目的からは、この方法が最も簡単にサーモスタットメッセージの履歴を保存し、機械学習モデルのトレーニングデータセットとして蓄積できる方法です。
次のステップでは、新しい IoT Core ルール、新しい AWS IoT Analytics プロジェクトを作成する方法、ルールを使用して Device Shadow メッセージを AWS IoT Analytics プロジェクトに転送する方法を詳しく説明します。IoT Core ルール作成ウィザードには便利なインターフェイスがあり、AWS IoT Analytics プロジェクト全体をユーザーに代わって作成します。
SELECT current.state.reported.sound, current.state.reported.temperature, current.state.reported.hvacStatus, current.state.reported.roomOccupancy, timestamp FROM '$aws/things/<<CLIENT_ID>>/shadow/update/documents'
次章に進む前に、サーバーレスアプリケーションが想定どおりに設定されているかを検証できます。
想定どおりに機能している場合は、 機械学習 に進みましょう。
AWS IoT Kit now features direct access to
M5Stack Forum
, which is a community-driven, questions-and-answers service. Search re:Post using the
Core2 for AWS
tag to see if your question has been asked and answered. If not, ask a new question using the Core2 for AWS
tag.