Amazon Web Services ブログ

Tag: IoT Edge

NVIDIA DeepStream on JetsonモジュールをAWS IoT CoreとAWS IoT Greengrassと統合する方法

AWSはコンシューマ製品や製造設備などのエッジデバイスにAWSのサービスを拡張し、インテリジェントに行動できるようにするべく必要な技術をお客様に提供するために、エッジコンピューティングの提供を継続的に進化させています。これにより、お客様は不要なコストやレイテンシーを回避し、エッジデバイスを安全かつ効率的に管理できるようになります。 AWS IoT Greengrassを利用して、AWSクラウドテクノロジーをエッジデバイスに拡張することにより、生成されたデータに対しローカルでアクションを起こしつつ、クラウドでリアルタイムのデータ分析、データの保存と可視化、機械学習モデルの精度の高いトレーニングを行うことが出来ます。AWSはエッジからクラウドまでのテクノロジーソリューションを提供するだけでなく、世界中のさまざまなデバイスプロバイダーと連携し、お客様の特定のユースケースに合わせて適切なハードウェアを選択できるようにしています。 NVIDIA DeepStream SDKは、インテリジェントなビデオ分析アプリやサービスを構築することを促進ためのフレームワークです。NVIDIA Jetson製品を使用することで、お客様はエッジで動作するデバイスにサーバークラスの計算性能を拡張することができます。Jetsonプラットフォーム上のTensorRT及び、CUDAと組み合わせてDeepStreamを使用することで、お客様は高スループットで低レイテンシのソリューションを構築し、展開することができます。 この記事では、NVIDIA DeepStream on JetsonモジュールとAWS IoTサービスを統合することで、AWSの技術とインフラストラクチャを使ってビジネス要件を満たす革新的なソリューションを構築する方法を紹介します。 ソリューション概要 この記事の目的は、NVIDIA DeepStream ApplicationsがAWS IoT CoreとAWS IoT GreengrassにMQTTメッセージを発行できるようにする方法の概要を提供することです。次の図は、この投稿でデモしたソリューションのアーキテクチャを示しています。 以下のセクションでは、DeepStream SDKのメッセージブローカーAPIをインストール及び設定し、AWS IoT CoreにMQTTメッセージを発行するまでの手順を順に説明します。(JetsonデバイスでAWS IoT Greengrassに対応させたい場合は、最後のセクション「AWS IoT Greengrassとの互換性」を参照してください)。 手順1:AWS DeepStreamアダプタのダウンロード 手順2(オプション):共有ライブラリを手動でビルド 手順3:AWSのIoT認証情報でDeepStreamアプリをプロビジョニング 手順4:Jetsonデバイスへ証明書の転送 手順5:DeepStreamアプリを実行 ソリューションの手順を説明した後、AWS IoT RulesでIoTメッセージを処理する方法と、AWS DeepStreamアダプタをAWS IoT Greengrassに接続する方法を説明します。 前提条件 Administrator権限を持つAWSアカウント インターネットに接続できる、DeepStream SDKがインストールされたJetsonデバイス NVIDIAのドキュメントに記載されているようにGstreamerをインストールされている このソリューションの手順の便宜上、DeepStream SDKがインストールされているパスの環境変数を作成する方法を示します。<DeepStream SDK PATH>をJetsonデバイス上のDeepStream SDKのパスに置き換えてください。 $ export DEEPSTREAM_SDK_PATH=<DeepStream SDK […]

Read More

AWS IoT Eventsを利用してデバイスの位置情報を監視する

多数のIoTデバイスを持つ組織では、運用上の問題を特定して対処するために、複数のデバイス間で発生したイベントを追跡する効率的なソリューションが必要となります。この記事では、AcmeTrackerという架空の組織が、IoTデバイスを使用して車両のジオロケーションを追跡するサービスを提供しており、車両が予想されるジオロケーションの境界から外れるとサポートチームに通知する仕組みについて紹介します。AcmeTrackerはAWSのIoTサービスを使用してデバイスとそのデータを管理しています。各デバイスはAWS IoT CoreのFleet Provisioning機能を利用して固有のデバイスのクレデンシャル(証明書と秘密鍵)を取得し、各デバイスのジオロケーションはAWS IoT Eventsで監視しています。 今回の記事では、前述の車両監視ソリューションの運用概要を説明した後、以下のAWS IoTサービスのセットアップ方法について説明します。 AWS IoT Eventsを設定し、GPS座標を監視する AWS IoT CoreのFleet Provisioningでユニークなクレデンシャルをデバイスに設定する ソリューションの概要 とある複数の車両が特定のルートに従わなければならないシナリオを考えてみましょう。ジオロケーションの入力は、各車両を監視し、車両が予想される旅程に沿っていない場合に車両オペレータに通知するために使用されます。AcmeTrackerという組織は、プロビジョニング クレーム クレデンシャル(証明書と秘密鍵)を組み込んで製造されたIoTデバイスを提供しています。 デバイスはAWS IoT Device SDK for Pythonを使用してAWS IoTで認証するために、プロビジョニング クレーム クレデンシャルを使用します。Python以外のプログラミング言語もAWS IoT Device SDKでサポートされており、サポートされているプログラミング言語の一覧はこちらのページをご覧ください。 この車両監視ソリューションでは、以下のような一連のデータとメッセージのやり取りが行われます。 デバイスは、MQTTトピックを介してAWS IoT Coreサービスに、固有のデバイスクレデンシャルの作成(証明書と秘密鍵の作成)を要求します デバイスは、AWS IoT Coreサービスで定義されたプロビジョニングテンプレートに基づいて、MQTTトピックを介してAWS IoT Coreサービスへの登録(固有のデバイスクレデンシャルの有効化)を要求します デバイスは衛星からGPS座標を取得します デバイスは、そのGPS座標をMQTTトピックを介してAWS IoT Coreサービスにpublishします AWS IoT Coreルールエンジンは、MQTTトピックからGPS座標を取得します AWS IoT Coreルールエンジンは、そのGPS座標をAWS IoT Eventsに送信します AWS IoT Eventsサービスには検知器モデルがあり、受信したIoTイベント(GPS座標)を監視して、デバイスが想定される境界線内にあるかどうかを検出します […]

Read More

FreeRTOSでセカンダリプロセッサのOTAアップデートを実行する方法

多くの組み込みアーキテクチャでは、コネクティビティプロセッサが ビジネスロジックを実行する1 つ以上のセカンダリプロセッサに接続されています。セカンダリプロセッサの無線 (OTA) アップデートを実行する機能は、コネクティビティプロセッサの更新と同じくらい重要です。 これは、バグやセキュリティの脆弱性に対する低コストのパッチ適用と、デバイスへの新機能の提供が可能なためです。 FreeRTOSは、マイクロコントローラ用のオープンソースのリアルタイムオペレーティングシステムで、小型で低消費電力のエッジデバイスのプログラミング、デプロイ、セキュリティ、接続、管理を容易にします。 AWS IoT Device Managementにより、IoT デバイスを大規模に安全に登録、整理、監視、リモート管理することが容易になります。 AWS IoT Device Managementは、OTA 更新マネージャサービスを提供し、デバイス群全体でアップデートを安全に作成および管理します。 このサービスは FreeRTOS OTA エージェントライブラリと連携して、ファームウェアにデジタル署名し、ストリーミング API を使用してファイルを MQTT ストリームに変換し、AWS IoT ジョブを使用してファームウェアをデバイスに配信します。 OTA エージェントライブラリを使用すると、TLS経由でのMQTT接続を再利用することで、コネクティビティプロセッサのメモリ消費を減らすことができます。 この記事では、fileId パラメーターを使用して、セカンダリプロセッサに更新を配信する方法について説明します。 この投稿は、特定のハードウェアに固有のものではなく、FreeRTOS 201908.00 以降を実行しているすべてのシステムに適用することができます。 FreeRTOS および AWS IoT デバイス管理を使用して OTA を設定する方法の詳細については、FreeRTOS OTA チュートリアルを参照してください。

Read More