この記事では、Azure RTOS NetX Duo で Azure IoT Hub エージェントの Device Update を作成する方法について説明します。 また、アプリケーションに Device Update 機能を統合したいと考える開発者のために簡単な API を紹介します。 デバイスに対するオンプレミスの更新プログラムを構成、ビルド、展開する方法については、入門ガイドを含む主要な半導体評価ボードの サンプル を参照してください。
Azure サブスクリプションをお持ちでない場合は、開始する前に 無料アカウント を作成してください。
前提条件
- IoT Hub インスタンスへのアクセス。 S1 (Standard) レベル以上を使用することをお勧めします。
- ご使用の IoT ハブにリンクされている Device Update インスタンスおよびアカウント。 このガイドに従って、デバイス更新アカウントを 作成してリンク します (まだ行っていない場合)。
始めましょう
各ボード固有のサンプル Azure リアルタイム オペレーティング システム (RTOS) プロジェクトには、Device Update for IoT Hub を使用する方法に関するコードとドキュメントが含まれています。 あなたが行うのは次のとおりです。
- ボード固有のサンプル ファイルを Azure RTOS と Device Update のサンプルからダウンロードします。
- ダウンロードしたサンプルの docs フォルダーを見つけます。
- ドキュメントには、Azure のリソースとアカウントを準備し、そこに IoT デバイスを登録する方法が記載されているので、その手順に従います。
- ドキュメントに従って新しいファームウェア イメージを作成し、ボードのマニフェストをインポートします。
- ファームウェア イメージとマニフェストを Device Update for IoT Hub に発行します。
- プロジェクトをデバイスにダウンロードして実行します。
Azure RTOS の詳細を確認します。
デバイスにタグを付ける
前の手順で使用したデバイス アプリケーションは実行したままにします。
Azure portal にサインインし、IoT ハブに移動します。
左側のウィンドウで、[デバイス] を選択 します。 お使いの IoT デバイスを見つけてデバイス ツインに移動します。
デバイス ツインで、Device Update の既存のタグ値を null に設定することで削除します。
次に示すように、ルート JSON オブジェクトに Device Update の新しいタグ値を追加します。
"tags": { "ADUGroup": "<CustomTagValue>" }
更新グループの作成
ページの上部にある [グループとデプロイ ] タブに移動します。
[ グループの追加] を選択して新しいグループを作成します。
一覧から IoT Hub タグと Device クラス を選択します。 次に、[ グループの作成] を選択します。
グループが作成されると、更新プログラムのコンプライアンス チャートとグループの一覧が更新されることがわかります。 更新プログラムのコンプライアンス チャートには、コンプライアンスのさまざまな状態のデバイスの数が表示されます。 最新の更新プログラム、 利用可能な新しい更新プログラム、 進行中の更新プログラムです。 更新プログラムのコンプライアンスについて説明します。
新しく作成されたグループと、新しいグループ内のデバイスで利用可能な更新プログラムが表示されます。 グループのデバイス クラス要件を満たしていないデバイスがある場合は、対応する無効なグループに表示されます。 このビューから新しいユーザー定義グループに最適な更新プログラムをデプロイするには、グループの横にある [デプロイ ] を選択します。
タグを追加し、更新グループを作成する方法について説明します。
新しいファームウェアをデプロイする
グループが作成されると、デバイス グループで使用可能な新しい更新プログラムが表示され、[ ベスト 更新プログラム] の下に更新プログラムへのリンクが表示されます。 場合によっては、一度最新の情報に更新する必要があります。 更新プログラムのコンプライアンスについて詳しくは、こちらをご覧ください。
グループ名を選択してターゲット グループを選択します。 [ グループの基本] の下にあるグループの詳細が表示されます。
デプロイを開始するには、[ 現在のデプロイ ] タブに移動します。[ 利用可能な 更新プログラム] セクションから、目的の更新プログラムの横にあるデプロイ リンクを選択します。 特定のグループに対して利用可能な最適な更新プログラムは、 最適 な強調表示で示されます。
デプロイを直ちに開始するか、後で開始するようにスケジュールします。 次に、[ 作成] を選択します。
ヒント
既定では、 開始日 と時刻は現在の時刻から 24 時間です。 もっと早くデプロイしたい場合は、異なる日時を選択してください。
[ デプロイの詳細] で、[ 状態] が [アクティブ] に変わります。 デプロイされた更新プログラムは 、 (デプロイ中) でマークされます。
コンプライアンス チャートを表示して、更新が進行中であることを確認します。
デバイスが正常に更新されると、コンプライアンス チャートとデプロイの詳細が、同じ内容を反映するように更新されていることがわかります。
更新プログラムのデプロイを監視する
これで、Azure RTOS 埋め込みデバイスで Device Update for IoT Hub を使用して、エンドツーエンドのイメージ更新が正常に完了しました。
次のステップ
Azure RTOS と IoT Hub での動作の詳細については、 Azure RTOS の Web ページを参照してください。