Device Update for IoT Hub エージェントの概要
デバイス更新エージェントは、2 つの概念レイヤーで構成されています。
- "インターフェイス レイヤー" は、Azure IoT プラグ アンド プレイ上に構築されており、デバイス更新エージェントと デバイス更新サービスの間のメッセージ フローを可能にします。
- "プラットフォーム レイヤー" は、プラットフォームまたはデバイスに固有である可能性があるダウンロード、インストール、適用の高レベルの更新アクションを処理します。
インターフェイス レイヤー
インターフェイス レイヤーは、デバイス更新コア インターフェイス、デバイス情報インターフェイス、および診断情報インターフェイスで構成されます。
これらのインターフェイスでは、デバイスの更新サービスに報告する必要があるデバイス固有の値については構成ファイルに依存しています。 詳細については、デバイス更新の構成ファイルに関する記事を参照してください。
デバイス更新コア インターフェイス
"デバイス更新インターフェイス" は、デバイス更新エージェントとサービスの間の主要な通信チャネルです。 詳細については、「デバイス更新コア インターフェイス」に関する記事を参照してください。
デバイス情報インターフェイス
"デバイス情報インターフェイス" は、Azure IoT PnP DeviceInformation
インターフェイスを実装するために使用されます。 詳細については、「デバイス情報インターフェイス」を参照してください。
診断情報インターフェイス
"診断情報インターフェイス" は、診断用のリモート ログ収集を有効にするために使用されます。 詳細については、「デバイス情報インターフェイス」を参照してください。
プラットフォーム レイヤー
Linux "プラットフォーム レイヤー" は、ダウンロードのための配信の最適化と統合されており、Raspberry Pi 参照イメージおよび linux システム上で実行されるすべてのクライアントで使用されます。
Linux プラットフォーム レイヤーの実装は src/platform_layers/linux_platform_layer
にあり、ダウンロードのために配信の最適化のクライアントと統合されています。
このレイヤーを別の更新ハンドラーと統合して、インストーラーを実装できます。 たとえば、SWUpdate
更新ハンドラー、Apt
更新ハンドラー、Script
更新ハンドラーなどです。
配信の最適化の代わりに独自のダウンローダーを使用して実装することを選択する場合は、大きなファイルのダウンロードの要件を必ず確認してください。
更新ハンドラー
更新ハンドラーは、無線による更新を実行する目的でインストーラーまたはコマンドを呼び出すために使用されていました。 既存の更新コンテンツ ハンドラーを使用するか、任意のインストーラーを起動してユースケースに必要な無線の更新を実行できるカスタム コンテンツ ハンドラーを実装することができます。
GA リリースでのデバイス更新エージェントへの変更
デバイス更新エージェントのバージョンを使用している場合は、GA バージョンである最新のエージェント バージョン 1.0.0 に移行してください。 変更する GA エージェントとアップグレード方法に関する記事を参照してください。
デバイス更新エージェントと配信の最適化エージェントのインストールされているバージョンは、IoT デバイス ツインの [デバイスのプロパティ] セクションで確認できます。 ADU Core インターフェイスでのデバイス プロパティについての詳細は、こちらをご覧ください。
次の手順
次のチュートリアルを使用して、Device Update for IoT Hub の簡単なデモを実行できます。
イメージの更新: Raspberry Pi 3 B+ 参照 Yocto イメージの使用を開始することに関する記事。必要に応じて他のアーキテクチャ用の独自のイメージをビルドするために、オープン ソースを通じて拡張できます。
Azure リアルタイム オペレーティング システムでの Device Update for Azure IoT Hub のチュートリアル