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