« 【AWS発表】AWS Mobile Hub – モバイルアプリケーションの構築、テスト、モニタリング | メイン | 【AWS発表】EC2インスタンスのアップデート - X1(SAP HANA) & T2.Nano »

【AWS発表】AWS IoT コネクテッドデバイス向けクラウドサービス

Internet of Things (IoT) をご存知でしょうか? 批評家は、チップの話だろうと退けるかもしれませんが、コンセプトは、長い間の技術トレンドであり、とても興味深く価値が高いものです。最も関連性の高いトレンドを低コストなCPUによって、IP接続が広く普及し、ビッグデータ関連のいろいDeck_compute_chip_300_1ろなツールや技術を使用して容易に大量の情報から情報を抽出することができます。

 

  • 大量生産されたコンピュートパワーとは、コンピュートパワーを適度に消費することができ、省スペース、低コストなプロセッサーを大量生産することができます。
  • (有線または無線)での広く広がったIP接続により、プロセッサー同士、または、クラウドと接続することできます。これは大変広がってますが、ユビキタスとは異なるものです。
  • ビックデータは、デバイス上で動作するプロセッサーによって、観察、または収集された情報の意味を理解することができます。

 

また、Internet of Things のための技術としてバッテリーやセンサーテクノロジーの発展も挙げられます。
工場内、車、ヘルスケア、家電など、その他にも多くのものが"モノ"として繋がっています。
2つの良いブログがありますのでご覧ください。”20 Real World Problems Solved by IoT” と "Smart IoT: IoT as a Human Agent, Human Extension, and Human Complement"。私の友人である、Sudha JamtheもIoTについてのブログを書いているのですが、彼女の本、IoT Disruptionsは、IoTが当たり前の時代になった時の新しい仕事やキャリアにフォーカスをあてて書いております。
これらの動向をすべて取ると、私達が、多種多様なIoTデバイスやアプリケーションをサポートするための様々な機能をもったAWSサービスの取り組みをしていても驚かないかもしれません。
私は、モノをコネクテッドデバイスと表現してきましたが、モノは、モバイルのアプリケーションも含まれます。

Iot_first_run_3

New AWS IoT

本日、AWS IoT(Beta)をリリースいたします。この新しいマネージドサービスは、コネクテッドカー、工場内、飛行機のエンジン、センサーグリッドなど(AWS IoTでは、”things"で参照されてます)にとって、簡単かつ安全に、クラウドサービスとそれらデバイスとをスケーラビリティが高くつなぐことができます。
クラウドとの接続は軽量で速く(MQTTやREST)、また、メモリ、CPUやバッテリーに制約があるデバイスにとてもフィットするものです。

 

AWS IoTのコンポーネントについてみてみましょう 

 Thingsは、すべてのタイプ、形、サイズのデバイスでアプリケーション、コネクテッドデバイス及び物理的オブジェクトが含まれます。Thingsは、ローカル環境に接続されている何かを計測、制御します。
AWS IoTのモデルは、ステータスとステータスの変化を管理します。これは、クラウドベースのThing Shadowという機能によって接続が断続的になるものやアプリケーションからの制御に対して、正しく動作することを許可します。
Thingsは、名前と属性、シャドーで構成されます。

 Things Shadowsは、クラウド上の仮想的な"モノ"です。これは、接続されているデバイスのステータスをトラックし、たとえ、一定期間接続ができなかったとしてもステータスをトラックできます。

リアルタイムルールエンジンは、メッセージを、SQLライクな文法を使って定義された条件とAWSエンドポイント(Amazon DynamoDB, Amazon Simple Storage Service (S3), AWS Lambda, Amazon Simple Notification Service (SNS), Amazon Simple Queue Service (SQS), Amazon Kinesis, and Amazon Kinesis Firehose)へのルーティングできます。個々のメッセージやコンテキストによってルーティングされます。例えば、温度センサからデータのルーティングとしてトラックするためにDynamoDBテーブルに書きこみ、値を超えた異常なデータの場合、Lambda functionを呼び出します。

メッセージブローカーは、MQTT(及びHTTP 1.1含む)に対応しており、仮にクラウドバックエンドがMQTT対応されてなくても、デバイスが代替プロトコルとして利用することができます。メッセージブローカーは、数百のモノとアプリケーションの間の長期間の接続を収容できます。Thingsは、トピックベースのput/subモデルを利用してブローカーとコミュニケーションし、また、HTTP リクエスト・レスポンス経由でパブリッシュすることができます。
モノは、ステータスをパブリッシュすることができ、メッセージを受信するためのサブスクライブこともできます。pub/subモデルは、1つのデバイスから如何なる数のデバイス(数千、数百万でさえ)に対して、簡単かつ効率的にステータスをシェアすることができます。

Things SDKは、固有の独立したタイプのデバイス向けのクライアントライブラリです。SDKの機能は、暗号化したAWS IoTのメッセージブローカーとの通信ができます。X509証明書かCognito identitiesを使ってデバイスの特定ができます。

Things Registryは、個々のモノを特定します。これは、属性や能力のようなメタデータを記述することができます。
すべてのコンポーネントは、AWS Management Console、AWS Command Line Interfaec(CLI)及びIoT APIによって作成、設定できます。

AWS IoTは、数百万のモノとクラウドの接続を維持することができ、モノとクラウドアプリケーションとの接続ができます。(Device shadow、ルールエンジン及びリアルタイム機能)モノからのメッセージを受け取り、フィルタ、記録、変換、増加や他のAWSサービスにルーティングできます。


Getting Started with AWS IoT

私たちは、多くのIoTパートナーと一緒にスターターキットの作成をしてきました。以下がリストになります。

 

キットを入手したら、AWS IoTを使った初めてのアプリケーションを作る準備が整いました。以下のプロセスに従って、幾つかの異なったSDKを使うことができます。

始めるのにAWS IoT コンソールは、とても便利です。数クリックで初めてのモノを作り、AWS IoTに必要なセキュリティクレデンシャルとサンプルコード及びSDKをダウンロードすることができます。
または、Alexa Skill Kitを使ってAmazon EchoとのコミュニケーションができるAWS IoTアプリケーションを作成できます。AWS IoTがLambda経由でAlexa Skillを起動することができ、Alexa Skillがthing shadowとやり取りを行います。また、Alexa Skillは、AWS IoTの間接的なメッセージ通信(家庭内ネットワークにNATとFirewallのトラバース設定をして)を利用してクラウドから家庭内のデバイスを起動することができます。

AWS IoT in the Console

コンソールに、チュートリアルが含まれております。

  Iot_demo_page_4

また、個々のモノやそれぞれのAPIのエンドポイント、MQTTトピックとシャドーの内容について詳細情報を確認できます。

  Iot_thing_detail_3

AWS IoT Topics, Messages, and Rules

 
先に述べたすべてのインフラストラクチャがAWS IoTの肝となるメッセージとルールベースのシステムを見ることができます。

モノは、自身のステータスを命名されたトピックにパブリッシュします。必要に応じてトピックをパブリッシュされたメッセージに応じて作成するので、事前にトピックを作成する必要はありません。
トピックの命名規則は、階層構造になってます。(“myfactories/seattle/sensors/door”)

ルールは、フィルタをするためにSQLライクなSELECT文を使用できます。IoTルールエンジンでは、FROM句がMQTTのトピックになり、WHERE句で、メッセージ内のJSONプロパティを参照します。
ルールに合致したメッセージ時、1つ以上の以下のアクションを実行することができます。

  • DynamoDB TableへのInsert, update及びクエリ
  • Lambda Functionの実行
  • S3バケットへの書き込み
  • SNSトピックまたは、エンドポイントへのパブリッシュ
  • SQSへのキューイング
  • Amazon Kinesisストレームへのパブリッシュ
  • Amazon Kinesis Firehoseへのパブリッシュ
  • 他のトピックへのパブリッシュ

SELECT文では、すべてを選択する(*)や特定のフィールドをメッセージから選択します。また、それに加えて上記のサービスのエンドポイントを使用することができます。例えば、Kinesis経由のAmazon Redshift、Lambda経由の外部エンドポイントやKinesisをコールできます。Thing Shadowsも、メッセージシステムに含まれてます。Shadowsは、JSONドキュメントのHTTP Getのレスポンスを返します。それぞれのドキュメントは、モノのメタデータとバージョン及びステータスを含んでます。ステータスには、"reported"(デバイスが最後に通知したステータス)と"desired"(アプリケーションが要求するステータス)が格納されてます。各シャドーは、要求されたステータス変更を受信し、"delta"と"accepted"メッセージをThings shadowとしてトピックメッセージをパプリッシュします。
デバイスは、これらのトピックを受信状態にしてステータス状況に従って変更します。

IoT at re:Invent

re:Inventに参加されている方、Mobile開発とIoTトラックをチェックしてください。幾つかのセッションが開かれます。

  • MBL203 - From Drones to Cars: Connecting the Devices in Motion to the Cloud.
  • MBL204 - Connecting the Unconnected – State of the Union – Internet of Things Powered by AWS.
  • MBL303 - Build Mobile Apps for IoT Devices and IoT Apps for Mobile Devices.
  • MBL305 - You Have Date from the Devices, Now What? Getting Value of the IoT.
  • WRK202 - Build a Scalable Mobile App on Serverless, Event-Triggered, Back-End Logic.

More to Come

今回は、概要だけをブログとしてお伝えしたので、もっとお伝えしたいです。AWS re:Inventから戻ったら、私の現在のホームラボから、1つ2つのモノを作り、シェアしたいと思います。ご注目ください!

 − Jeff

− 翻訳:Mobile & IoT 事業開発 榎並

PS – Check out the AWS IoT Mega Contest!

 

コメント

Featured Event

2016年3 月

    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31