Eclipse ThreadX を使用した Device Update for Azure IoT Hub

この記事では、Eclipse ThreadX NetX Duo で Device Update for Azure IoT Hub エージェントを作成する方法について説明します。 また、アプリケーションに Device Update 機能を統合したいと考える開発者のために簡単な API を紹介します。 主要な半導体評価ボードのサンプルをご覧ください。デバイスへの無線での更新を構成、構築、デプロイする方法が学べるファースト ステップ ガイドが含まれています。

Azure サブスクリプションをお持ちでない場合は、開始する前に 無料アカウント を作成してください。

前提条件

  • IoT Hub インスタンスへのアクセス。 S1 (Standard) レベル以上を使用することをお勧めします。
  • ご使用の IoT ハブにリンクされている Device Update インスタンスおよびアカウント。 Device Update アカウントの作成とリンクがまだ済んでいない場合は、ガイドに従って行ってください。

はじめに

ボード固有のサンプル Azure Real-Time Operating System (RTOS) プロジェクトにはそれぞれ、そのボードに Device Update for IoT Hub を使用する方法を紹介したコードとドキュメントが含まれています。 次の処理を行います。

  1. Eclipse ThreadX と Device Update サンプルのページから、ボード固有のサンプル ファイルをダウンロードします。
  2. ダウンロードしたサンプルの docs フォルダーを見つけます。
  3. ドキュメントには、Azure のリソースとアカウントを準備し、そこに IoT デバイスを登録する方法が記載されているので、その手順に従います。
  4. ドキュメントに従って新しいファームウェア イメージを作成し、ボードのマニフェストをインポートします。
  5. ファームウェア イメージとマニフェストを Device Update for IoT Hub に発行します。
  6. プロジェクトをデバイスにダウンロードして実行します。

Eclipse ThreadX の詳細を確認します。

デバイスにタグを付ける

  1. 前の手順で使用したデバイス アプリケーションは実行したままにします。

  2. Azure portal にサインインし、IoT ハブに移動します。

  3. 左側のペインで、[デバイス] を選択します。 お使いの IoT デバイスを見つけてデバイス ツインに移動します。

  4. デバイス ツインで、Device Update の既存のタグ値を null に設定することで削除します。

  5. 次に示すように、ルート JSON オブジェクトに Device Update の新しいタグ値を追加します。

        "tags": {
                "ADUGroup": "<CustomTagValue>"
                }
    

デバイス グループを表示する

Device Update ではグループを使用してデバイスを整理します。 割り当てられたタグと互換性プロパティに基づいて、Device Update で自動的にデバイスがグループに並べ替えられます。 各デバイスは 1 つのグループにのみ属しますが、グループには複数のサブグループを含めることができ、さまざまなデバイス クラスを並べ替えることができます。

  1. ページの上部にある [グループとデプロイ] タブに移動します。

    グループ化されていないデバイスを示すスクリーンショット。

  2. グループの一覧と更新プログラムのコンプライアンス チャートを表示します。 更新プログラムのコンプライアンス チャートには、さまざまなコンプライアンス対応状態 (最新の更新状態利用可能な新しい更新プログラムがある更新プログラムのインストールが進行中) にあるデバイスの数が表示されます。 更新プログラムのコンプライアンスの詳細についてはこちらを参照してください。

    [更新] のコンプライアンス ビューを示すスクリーンショット。

  3. このチュートリアルで設定したシミュレートされたデバイスを含むデバイス グループと、新しいグループ内のデバイスで使用できる更新プログラムが表示されます。 グループのデバイス クラスの要件を満たしていないデバイスがある場合は、対応する無効なグループに表示されます。 このビューから新しいユーザー定義グループに最適な利用可能な更新プログラムをデプロイするには、グループの横にある [デプロイ] を選択します。

タグとグループの詳細については、デバイス グループの管理に関する記事を参照してください。

新しいファームウェアをデプロイする

  1. グループが作成された後、デバイス グループで利用可能な新しい更新プログラムが表示され、[最適な更新プログラム] の下にその更新プログラムへのリンクが表示されます。 場合によっては、一度最新の情報に更新する必要があります。 更新プログラムのコンプライアンスの詳細についてはこちらを参照してください。

  2. グループ名を選択してターゲット グループを選択します。 [グループの基本] の下にグループの詳細が表示されます。

    [グループの詳細] を示すスクリーンショット。

  3. デプロイを開始するには、[現在のデプロイ] タブに移動します。[使用できる更新プログラム] セクションで、目的の更新プログラムの横にあるデプロイ リンクを選択します。 特定のグループに最適な使用可能な更新プログラムには、最適 の強調表示が付けられます。

    更新の選択を示すスクリーンショット。

  4. デプロイを直ちに開始するか、後で開始するようにスケジュールします。 [作成] を選択します。

    ヒント

    既定の開始日時は、現在の時刻から 24 時間後です。 もっと早くデプロイしたい場合は、異なる日時を選択してください。

    [デプロイの作成] 画面を示すスクリーンショット。

  5. デプロイの詳細 で、状態 アクティブ に変わります。 デプロイされた更新プログラムには (デプロイ中) のマークが付きます。

    デプロイがアクティブであることを示すスクリーンショット。

  6. コンプライアンス チャートを表示して、更新が進行中であることを確認します。

  7. デバイスが正常に更新されると、コンプライアンス チャートとデプロイの詳細が、同じ内容を反映するように更新されていることがわかります。

    更新の成功を示すスクリーンショット。

更新プログラムのデプロイを監視する

  1. ページの上部にある [デプロイの履歴] タブを選択します。

    デプロイ履歴を示すスクリーンショット。

  2. 作成したデプロイの横にある [詳細] を選択します。

    デプロイの詳細を示すスクリーンショット。

  3. [最新の情報に更新] を選択して、最新の状態の詳細を表示します。

これで、Eclipse ThreadX 埋め込みデバイス上で Device Update for IoT Hub を使用した、エンド ツー エンドのイメージ更新が正常に完了しました。

次のステップ

Eclipse ThreadX および IoT Hub との連携の詳細については、「Eclipse ThreadX」を参照してください。