Amazon Web Services ブログ

AWS中国リージョンでAWSサービスを活用して構築されたスマートホームソリューションと家電製品との接続

この記事は、Connecting home appliances with a smart home solution built on AWS in the AWS China Region を翻訳したものです。

本ブログでは、AWSサービスを活用した家電メーカーのスマートホームソリューション構築および維持する方法を紹介していきます。これらのソリューションは、接続された製品の付加価値を提供するプラットフォームであると同時に、ユーザーが製品を利用するためのアプリケーションでもあります。中国で家電製品を製造して世界中で販売しているお客様の実際のユースケースとなります。本ブログではエンドツーエンドソリューションの概要のリファレンスアーキテクチャについて紹介し、AWS IoTと他のAWSサービスをどのように連携したかのコアユースケースについて説明します。本ブログにより、スマート家電を利用する家族と情報共有するためにどのようにセキュアに構築したか、およびAWS中国リージョンで大規模な家電製品のフリートを安全に管理する方法を学習できます。本ブログには Python コードスニペットが含まれているので、デバイスからスマートホーム IoT プラットフォームにデータを送信し、デバイスからユーザー向けのモバイルアプリケーションや Web アプリケーションへのマルチメディアファイルを安全に共有するソリューションをトライできます。

家電製品はユーザーとのやり取りを通じて、よりスマートになっています

IoTとAIの継続的な開発により、スマートホームデバイスの成長は加速しています。スマートデバイスとスマートホーム全体のトレンドは、主に2つあります。

  1. 家電製品とユーザーとの間のインテリジェントでパーソナライズされたインタラクション
  2. 2つ以上のインテリジェント家電の間でより簡単に連携可能

AWS IoTを利用すると、インフラストラクチャを管理しなくても、接続されたホームデバイスによって生成されたデータを収集、処理、分析、処理するスケーラブルなIoTアプリケーションを簡単に構築できます。AWS IoTは他のAWSサービスとも統合されるため、包括的なスマートホームソリューションを簡単に構築し、新しいエクスペリエンスの提供とユーザーへのさらなる価値の追加に注力できます。

本ブログでは、AWS IoTサービスの2つ主要なサービスであるAWS IoT CoreとAWS IoT Greengrassにフォーカスしています。AWSはAWS IoT CoreとAWS IoT Greengrassに加え、エッジからクラウドまで幅広いAWS IoTサービスを提供し、包括的なテクノロジーとソリューションのエコシステムを提供しています。お客様がIoTデバイスとプラットフォームを構築し、管理及び継続的に改善するのに役に立ちます。AWS IoTの詳細については、https://aws.amazon.com/iot/ を参照ください。

AWS IoT Core

AWS IoT Coreは、サーバーをプロビジョニングまたは管理することなく、IoTデバイスをAWSクラウドや他のIoTデバイスに接続できるフルマネージドサービスです。AWS IoT Coreの詳細については、AWS IoT テクニカルドキュメント https://docs.aws.amazon.com/ja_jp/iot/latest/developerguide/what-is-aws-iot.html を参照してください。

AWS IoT Greengrass

AWS IoT Greengrass は、AWS サービスを物理デバイスにシームレスに拡張し、管理、分析、永続ストレージにAWSクラウドを使用しながら、生成されたデータでローカルで運用できます。AWS IoT Greengrass の詳細については、AWS IoT Greengrass テクニカルドキュメント https://docs.aws.amazon.com/greengrass/ を参照してください。

次のセクションでは、お客様がスマートホームユースケースの IoT インフラストラクチャを構築するために使用した AWS サービスについて説明します。

AWS IoTサービスを搭載したスマートホームプラットフォーム

このセクションで、お客様の実際のユースケースについて説明し、AWS IoT サービスがスマートホームソリューションでどのような役割を果たすかを説明します。

ソリューションの背景

まず、お客様が解決したい課題の背景と、スマートホームソリューションの技術アーキテクチャを理解していきます。お客様は、ワールドクラスの家電製品の製造および販売業者です。彼らは、新しいIoTインフラストラクチャを構築して、それらのアプライアンスをクラウドに簡単に接続し、スケーラブルに管理でき、よりインテリジェントにすることを期待していました。これらの目標を達成するために、彼らは次のような多くのAWSサービスを使用してソリューションを構築しています。

  • AWS IoT Core: デバイスを簡単かつ安全にクラウドに接続します。数十億個のデバイスと数兆件のメッセージを確実にスケールします。
  • AWS IoT Device Management: 接続デバイスを大規模に登録、編成、監視、リモート管理します。
  • AWS IoT Greengrass: エッジデバイスで、ローカルコンピューティング、メッセージング、データ管理、同期、ML 推論機能を実現します。
  • Amazon Cognito: シンプルでセキュアなユーザーのサインアップ、サインイン、およびアクセスコントロールを提供します。
  • Amazon API Gateway: 規模に応じた API の作成、維持、保護を行います。
  • AWS Lambda: サーバーやクラスターについて検討することなくコードを実行できます。料金は従量課金制です。
  • Amazon S3: どこからでも簡単に、お好みの量のデータを保存したり取得できるオブジェクトストレージ。
  • Amazon Relational Database Service (RDS): クラウド上のリレーショナルデータベースのセットアップ、オペレーション、スケールを数回のクリックで実現します。

ソリューションアーキテクチャ

お客様のソリューションアーキテクチャは、エッジデバイス(冷蔵庫など)、リモート管理用のモバイルアプリ、およびスケーラブルな家電製品のフリート管理に使用されるクラウドベースのスマートホームIoTプラットフォームで構成されています。AWS IoT Greengrassは、電子レンジなどのスマートホームデバイスとスマートホームIoTプラットフォーム間のゲートウェイとなる冷蔵庫にデプロイされました。モバイルアプリでのユーザーの認証は、お客様の既存のSSOソリューションをAmazon Cognito IDプールと統合され処理されます。スマートホームIoTプラットフォームは、AWS IoT CoreとAWS Lambdaで構築され、ユーザーのデバイスを登録でき、スケーラブルなデバイスフリート管理は容易になります。このプラットフォームに接続されるユーザーと家電製品の相互接続を提供します。

この図はAWS 中国リージョンで AWS IoT サービスを使用したスマートホームプラットフォームアーキテクチャとなります。

図1: AWS中国リージョンでAWSサービスを使用して構築されたIoTプラットフォームアーキテクチャ

図1に示すように、ソリューションは次のとおりです。

  • ステップ1:冷蔵庫はインターネットに接続し、MQTTプロトコルを介してAWS IoTCoreにメッセージを送信します。電子レンジは、冷蔵庫にデプロイされたAWS IoT Greengrassに接続して、MQTTプロトコルを介してインターネット経由でAWS IoT Coreに接続します。
  • ステップ2:AWS IoT Coreは、ルールエンジンを使ってメッセージから必要なデータを取り出して、AWS Lambda関数に渡します。
  • ステップ3:AWS Lambda関数は、保存されたマルチメディア(画像、オーディオファイル、ビデオなど)Amazon S3の署名付きURLを生成して返します。
  • ステップ4:AWS Lambda 関数がAmazon RDS MySQLにデータを書き込みます。
  • ステップ5:モバイルアプリは、すでにお客様のAWS Directory Serviceと統合されたAmazon Cognitoアカウントにリクエストして、IDトークンをもってAWS ALBにリクエストします。
  • ステップ6:Amazon EC2インスタンスにデプロイされたアプリケーションレイヤーファイアウォールは、Amazon API GatewayでサポートされているAPIを保護します。
  • ステップ7:Amazon API Gatewayはモバイルアプリからのリクエストをトリガーにして、AWS Lambda関数でリクエストを実行します。

エッジでのアクションと付加価値の提供

このソリューションでは、冷蔵庫のドアにユーザーインターフェイスとしてAndroidタブレットを使用し、冷蔵庫のドアの内側に複数のカメラを設置しています。Androidインターフェースは、タイピング、口頭でのコマンド、内側カメラの画像などのインタラクションをサポートしています。これらのカメラは、サードパーティの画像認識ソリューションを活用して、冷蔵庫に入れた食品および取り出した食品を検出します。そのデータは、Amazon RDS MySQLデータベースにアップデートされます。次に、Androidタブレットまたは携帯電話アプリを介してユーザーにデータを表示し、ユーザーがリアルタイムで冷蔵庫に残った食品を把握できるようにしています。

この図は、冷蔵庫のドアに Android タブレットを使用してエンドユーザーインターフェイスを提供し、冷蔵庫のドアの内側に設置された複数のカメラを提供して AWS IoT に接続冷蔵庫を示しています。この図は、冷蔵庫のドアに Android タブレットを使用してエンドユーザーインターフェイスを提供し、冷蔵庫のドアの内側に設置された複数のカメラを提供して AWS IoT に接続冷蔵庫を示しています。

図2: 冷蔵庫のタブレットインターフェースと内側カメラ

ユースケースのソリューション

このソリューションの主要なユースケースは以下の通りです。

  1. ユーザーは、モバイルアプリを使って冷蔵庫を登録し、デバイスをお客様のスマートホームプラットフォームに追加登録します。
  2. ユーザーはモバイルアプリにサインインして、スマートホームプラットフォームとやり取りします。
  3. ユーザーは、タブレットやモバイルアプリを使って、既存の食品を検索し、冷蔵庫に新しい食品を追加します。
  4. お客様は、スマートホームプラットフォームに登録されている冷蔵庫を安全に管理します。

ユースケース1:ユーザーが冷蔵庫を登録する

まず、冷蔵庫がスマートホームIoTプラットフォームに登録されるまでのプロセス概要を説明します。冷蔵庫はスマートホームIoTプラットフォームとしてメーカーより事前に用意済みの証明書をもってタブレットがAWS IoT Coreにアクセスします。事前に埋め込んだクレーム証明書には、AWS IoT Coreでデバイス登録するために必要なアクセス許可のみが付与されます。これにより、新しいデバイスがユーザーのスマートホームIoTプラットフォームに追加され、証明書が冷蔵庫(のタブレット)にダウンロードされます。ユーザーにとってセキュアになります。冷蔵庫は、これらの事前に埋め込んだ証明書を使用してAWS IoT Coreに接続し、AWS IoT のモノ、証明書、およびプライベートキーを作成します。ローカルストレージにクライアントIDを保存し、証明書をダウンロードします。これらの新しい証明書は、冷蔵庫(のタブレット)がモバイルアプリユーザーとペアリングされるまでアクティブ化されていません。ユーザーはモバイルアプリを使用して、冷蔵庫(のタブレット)にあるバーコードをスキャンします。バーコードには、一意のシリアル番号やハードウェアタイプなどの冷蔵庫のデバイス情報が含まれています。モバイルアプリがバーコードをスキャンすると、情報がスマートホームIoTプラットフォームに送信され、検証されます。検証が成功すると、冷蔵庫はお客様のデバイス管理サービスのデータベースに記録され、冷蔵庫用のモノの証明書がAWS IoT Coreでアクティブ化されます。これで、冷蔵庫はスマートホームIoTプラットフォームでの登録プロセスを完了します。このプロセスは、次の図で示されています。

この図は、冷蔵庫をスマートホームプラットフォームに登録するユーザーのユースケースのソリューションアーキテクチャを示しています。

図3: ユーザーが冷蔵庫をスマートホームプラットフォームに登録する

ユースケース2:ユーザーがスマートホームプラットフォームにサインインする

ユーザーは、冷蔵庫をリモートで制御するために、スマートホームIoTプラットフォームに登録してログインする必要があります。最初のユースケース1で説明したようにデバイスを登録したら、ユーザーはAndroidタブレットを使って、スマートホームIoTプラットフォームにログインしなくても、音声メッセージの送信など、冷蔵庫の外側から操作できます。ユーザー管理の観点から、このソリューションは、同じ冷蔵庫を制御するユーザーを家族グループとして扱います。たとえば、夫はユーザーとして自分のiPhoneを使用してIoTプラットフォームのiOSアプリにログインし、冷蔵庫を制御できます。妻は、別のユーザーとしてAndroid電話アプリを使用してIoTプラットフォームにログインし、同じ冷蔵庫を制御できます。さらに重要なのは、冷蔵庫のAndroidタブレットが、IoTプラットフォームにログインする必要がないユーザーとして扱われ、冷蔵庫を制御できます。代わりに、タブレットは証明書をアイデンティティとして使用し、スマートホームIoTプラットフォームと通信します。これらの認証アプローチは、スマートホームIoTプラットフォームがさまざまな認証要件を満たし、冷蔵庫とそれが生成するデータをセキュアに、エンドユーザーエクスペリエンスを最適化するのに役立ちます。

この図は、スマートホームプラットフォームにサインインするユーザーのユースケースのソリューションアーキテクチャを示しています。

図4: ユーザーがスマートホームプラットフォームにサインインする

ユースケース3:ユーザーはタブレットとモバイルアプリから食材を追加および検索します

ユーザーが冷蔵庫のドアを閉じたことをトリガーとして、 Amazon API Gatewayサービス で管理されるREST APIによってAWS Lambda関数「add ingredients」が呼び出されます。サードパーティの画像認識ソリューションは、新しい食材が冷蔵庫に入れられたまたは冷蔵庫から取り出されたかどうかを検出します。入れられたまたは取り出された場合は、Amazon RDS for MySQL を使ったデータベースに挿入またはデータベースから削除します。次に、別のLambda関数「search ingredients」がいま冷蔵庫にあるすべての食材を取得し、冷蔵庫に取り付けられているタブレットとスマートホームIoTプラットフォームに接続されているユーザーのモバイルアプリに送り返します。タブレットとモバイルアプリの両方が、内側のカメラからストリーミングされたビデオデータによって冷蔵庫内の食材をリアルタイムでチェックできます。ユーザーはスーパーでも外出中のどこからでも、ドアを開くことなく冷蔵庫で使える食材を見えて、省エネルギー且つ食材の品質を維持できます。

この図は、エンドユーザーがタブレットおよびモバイルアプリから食材を追加および検索する場合のユースケースのソリューションアーキテクチャを示しています。

図5: ユーザーがタブレットとモバイルアプリから食材を追加および検索する

ユースケース4:安全なフリート管理

お客様のスマートホームIoTプラットフォームは、AWS IoT Device Managementを活用して、冷蔵庫のフリートをまとめて管理し、デバイスのデータをデータベースに格納します。AWS IoT Device Shadow サービス は冷蔵庫のステートと同期し、AWS IoT Device Managementは、モノのシャドウで「RunningMode」や「DoorOpened」などの属性にインデックスを付けます。次に、スマートホームIoTプラットフォームは、特定の属性値を持つ冷蔵庫をフィルタリングして、それらの属性に基づいてアクションできます。たとえば、冷蔵庫のモノのグループを「DoorOpened」状態で抽出し、冷蔵庫が10分以上「DoorOpened」状態の場合、Androidタブレットとユーザーのモバイルアプリの両方にアラートできます。

この図は、お客様が AWS IoT デバイス管理を活用して、接続された冷蔵庫のフリートを安全に管理する方法を示しています。

図6: AWS IoT Device Managementを活用して冷蔵庫を管理する

Amazon S3の署名付き URL は、Amazon S3サービスによって提供され、ユーザーが持っている音声ファイルや画像ファイルなどのマルチメディアなどのオブジェクトを、アクセスするクレデンシャルなしで他のユーザーと一時的に共有できます。これで、バケット内のオブジェクトを読み書きする権限をユーザーに付与せずに、レシピカードやボイスメッセージなどのオブジェクトをAmazon S3バケットにユーザーはアップロードまたはダウンロードできます。スマートホームプラットフォームにアクセスするクレデンシャルを持たないユーザーが、冷蔵庫のタブレットを介してマルチメディア情報を送信するようなシナリオを、スマートホームIoTプラットフォームはサポートする必要があるため、これは非常に重要です。Amazon S3の署名付きURLを使用してオブジェクトを共有する方法の詳細について、テクニカルドキュメント https://docs.aws.amazon.com/sdk-for-java/v2/developer-guide/examples-s3-presign.html を参照してください。

サマリー

AWS IoT上に構築されたスマートホームIoTソリューションを使用すると、ユーザーが冷蔵庫や電子レンジなどの家電製品のリアルタイムのステータスを確認できます。ユーザーがどこからでもこれらの家電製品をコントロールし、操作できます。ユーザーが家族とデバイスのステータスを安全に共有したり、画像やビデオなどのマルチメディアを介してコミュニケーションしたりするのが簡単にできます。これにより、ユーザーは、家族と過ごす時間を増やしながら、食材の計画、レシピの作成、健康な食事をより簡単かつ便利にできます。この例のように、AWS IoTで未来型のスマートホームを構築し始める方法を楽しみにしています。コネクテッドスマートホーム向けのAWS IoTソリューションの詳細については、ソリューションページ(https://aws.amazon.com/jp/iot/solutions/connected-home/)を参照してください。または、https://pages.awscloud.com/connectedhomecontact.html にて直接お問い合わせください。

著者について

Shi Yinは、カリフォルニアを拠点とするAWS Professional ServicesのIoTコンサルタントです。Shiは多くの大企業と協力して、AWS IoT Servicesを活用してセンサーとデバイスをプラットフォームに接続したIoTプラットフォームを構築しています。

翻訳はソリューションアーキテクトの丁が担当しました。