AWS IoTとは何ですか?
AWS IoT(Amazon Web Service IoT)は、接続されたデバイスをクラウドアプリケーションやその他のデバイスと簡単かつ安全にやりとりできる管理されたクラウドプラットフォームです。 AWS IoTは、何十億ものデバイスと何千ものメッセージをサポートし、これらのメッセージをAWSエンドポイントや他のデバイスに確実に安全に処理し、ルーティングすることができます。 AWS IoTを使用すると、TimeTecスマートコミュニティシステムは、接続されていなくても、TimeTec IoTスマートホームセキュリティデバイスを常に追跡し、通信できます。

AWS IoTを使用すると、AWS Lambda、Amazon Kinesis、Amazon S3、Amazon Machine Learning、Amazon DynamoDB、Amazon CloudWatch、AWS CloudTrail、Amazon Elasticsearch ServiceなどのAWSサービスを簡単に使用でき、インフラストラクチャを管理することなく、接続されたデバイスによって生成されたデータを処理、分析、処理することができます。
AWS IOTのメリット
AWS IoTデバイスSDK
AWS IoTはTimeTecのSDKを提供し、TimeTec IoTハードウェアデバイスとモバイルアプリケーションを簡単かつ迅速に接続します。 AWS IoT Device SDKを使用すると、TimeTecデバイスは、MQTT、HTTP、またはWebSocketsプロトコルを使用して、AWS IoTとのメッセージの接続、認証、および交換を行うことができます。 Device SDKはC、JavaScript、Arduinoをサポートし、クライアントライブラリ、開発者ガイド、および製造元の移植ガイドを含みます。
デバイスゲートウェイ
AWS IoT Device Gatewayにより、TimTec IoTデバイスはAWS IoTと安全かつ効率的に通信できます。 Device Gatewayは、1対1および1対多の通信を可能にするパブリケーション/サブスクリプションモデルを使用してメッセージを交換できます。この1対多の通信パターンにより、AWTは、TimeTec接続デバイスが、特定のトピックについて複数の加入者にデータをブロードキャストすることを可能にします。 Device GatewayはMQTT、WebSockets、およびHTTP 1.1プロトコルをサポートしており、TimeTecは独自のプロトコルまたはレガシープロトコルのサポートを容易に実装できます。 Device Gatewayは、インフラストラクチャのプロビジョニングを行わずに10億台以上のデバイスをサポートするように自動的に拡張されます。
認証と認可
AWS IoTは、すべての接続ポイントで相互認証と暗号化を提供するため、証明されたIDなしにデバイスとAWSのIoT間でデータが交換されることはありません。 AWS IoTはAWSの認証方式(「SigV4」と呼ばれる)とX.509証明書ベースの認証をサポートしています。

HTTPを使用する接続はこれらの方法のいずれかを使用できますが、MQTTを使用する接続は証明書ベースの認証を使用し、WebSocketsを使用する接続はSigV4を使用できます。 AWS IoTを使用すると、TimeTecはAWS IoTによって生成された証明書と、優先認証局(CA)によって署名された証明書を使用できます。デバイスまたはアプリケーションにアクセスする権限を与えたり、デバイスに触れずにアクセスを取り消したり、アクセスを完全に取り消すことができるように、役割やポリシーの選択肢を各証明書にマップすることができます。

TimeTecは、コンソールまたはAPIを使用して、IoTデバイスの証明書とポリシーを作成、展開、管理できます。これらのデバイス証明書は、AWS IAMを使用して設定された関連ポリシーにプロビジョニング、アクティブ化、関連付けることができます。これにより、お客様は個々のデバイスのアクセス権を瞬時に取り消すことができます。 AWS IoTは、Amazon Cognitoを使用してユーザーのモバイルアプリからの接続もサポートしています。これは、アプリのユーザーの一意の識別子を作成し、一時的な限定的な特権のAWS認証情報を取得するために必要なすべての手順を処理します。
レジストリ
レジストリは、デバイスのアイデンティティを確立し、デバイスの属性や機能などのメタデータを追跡します。レジストリは、デバイスのタイプまたは接続方法に関係なく、一貫してフォーマットされた各デバイスに固有のIDを割り当てます。また、デバイスの機能を記述するメタデータ(例えば、センサーが温度を報告するかどうか、データが華氏か摂氏かなど)をサポートしています。

レジストリでは、お客様のデバイスに関するメタデータを追加料金なしで保存することができます。レジストリのメタデータは、レジストリエントリに少なくとも7年に1回アクセスまたは更新する限り有効です。
デバイスシャドウ
AWS IoTでは、デバイスの最新の状態を含む各デバイスの永続的な仮想バージョンまたはシャドーを作成して、アプリケーションや他のデバイスがメッセージを読み込んでデバイスとやりとりできるようにします。デバイスシャドウは、デバイスがオフラインであっても、最後に報告された状態と各デバイスの将来の状態を保持します。 TimeTecは、APIまたはルールエンジンを使用して、デバイスの最後に報告された状態を取得したり、将来の状態を設定したりできます。

デバイスシャドウを使用すると、常に利用可能なREST APIを提供することで、TimeTecデバイスとやりとりするアプリケーションを簡単に構築できます。さらに、アプリケーションは、デバイスの現在の状態を考慮せずに、デバイスの所望の将来の状態を設定することができる。 AWS IoTは、要求された状態と最後に報告された状態の差を比較し、差を補うようにデバイスに指示します。

AWS IoT Device SDKを使用すると、TimeTecデバイスがその状態をそのシャドウと同期させることが容易になり、シャドウで設定された将来の希望の状態に応答することが容易になります。

デバイスシャドウを使用すると、デバイスの状態を最大1年間無料で保存できます。デバイスシャドウは、少なくとも1年に1回更新すると永遠に残ります。そうでない場合は期限切れになります。
ルールエンジン
Rules Engineは、インフラストラクチャを管理することなく、グローバル規模で接続されたデバイスによって生成されたデータを収集し、処理し、分析し、処理するIoTアプリケーションを構築することを可能にします。 Rules Engineは、AWS IoTに公開された受信メッセージを評価し、定義したビジネスルールに基づいて、別のデバイスまたはクラウドサービスに変換して配信します。ルールは、1つまたは複数のデバイスのデータに適用でき、1つまたは複数のアクションを並行して実行できます。

Rules Engineは、AWS Lambda、Amazon Kinesis、Amazon S3、Amazon Machine Learning、Amazon DynamoDB、Amazon CloudWatch、およびAmazon Elasticsearch Service(組み込みのKibana統合を含む)を含むAWSエンドポイントにメッセージをルーティングすることもできます。 AWS Lambda、Amazon Kinesis、およびAmazon Simple Notification Service(SNS)を使用して、外部エンドポイントにアクセスできます。

管理コンソール内でルールを作成したり、SQLのような構文を使用してルールを書き込んだりするのは簡単です。ルールは、メッセージの内容によって異なる動作をするように作成できます。たとえば、温度の読み取り値が一定のしきい値を超えると、データをAWS Lambdaに送信するルールがトリガされます。ルールは、他のデバイスからのデータなど、クラウド内の他のデータも考慮に入れて作成することもできます。たとえば、この温度が他の5つのデバイスの平均値よりも15%以上高い場合、アクションを実行すると言えます。

ルールエンジンは、データを変換するために使用できる数十の利用可能な関数を提供し、AWSラムダ経由で無限に多くを作成することが可能です。たとえば、幅広い値を扱う場合、着信番号の平均値を取ることができます。ルールは、AWS LambdaのJava、Node.js、またはPythonコードの実行をトリガし、デバイスデータを処理する最大の柔軟性とパワーを提供します。