MQTT を使用した OTA 更新の前提条件 - FreeRTOS

MQTT を使用した OTA 更新の前提条件

このセクションでは、MQTT を使用して Over-the-air (OTA) による更新を実行するための一般的な要件について説明します。

最小要件

  • デバイスファームウェアに必要な FreeRTOS ライブラリ (coreMQTT エージェント、OTA 更新、その依存関係) が含まれている必要があります。

  • FreeRTOS バージョン 1.4.0 以降が必要です。ただし、可能な場合は最新バージョンを使用することをお勧めします。

設定

バージョン 201912.00 以降、FreeRTOS OTA は、HTTP プロトコルまたは MQTT プロトコルを使用して、AWS IoT からデバイスにファームウェア更新イメージを転送できます。FreeRTOS で OTA 更新を作成するときに両方のプロトコルを指定すると、各デバイスによってイメージの転送に使用するプロトコルが決定されます。詳細については「HTTP を使用した OTA 更新の前提条件」を参照してください。

デフォルトでは、ota_config.h での OTA プロトコルの設定は、MQTT プロトコルを使用します。

デバイス固有の設定

なし。

メモリ使用量

MQTT をデータ転送に使用する場合、MQTT 接続は制御オペレーションとデータオペレーションの間で共有されるため、追加のメモリは必要ありません。

デバイスポリシー

MQTT を使用して OTA 更新を受信する各デバイスは、AWS IoT にモノとして登録する必要があります。また、モノには、ここに記載されているようなポリシーがアタッチされている必要があります。"Action" および "Resource" オブジェクトの項目の詳細については、AWS IoT Core ポリシーアクションAWS IoT Core アクションリソースを参照してください。

メモ
  • この iot:Connect アクセス許可により、デバイスが MQTT 経由で AWS IoT に接続できるようになります。

  • iot:Subscribe ジョブ (iot:Publish) のトピックに対する AWS IoT および .../jobs/* アクセス許可を使用すると、接続されたデバイスがジョブ通知とジョブドキュメントを受け取り、ジョブ実行の完了状態を公開できます。

  • iot:Subscribe OTA ストリーム (iot:Publish) のトピックに対する AWS IoT および .../streams/* アクセス許可により、接続されたデバイスは AWS IoT から OTA 更新データをフェッチできます。これらのアクセス許可は、MQTT を介してファームウェア更新を実行するために必要です。

  • iot:Receive アクセス許可により、AWS IoT Core はこれらのトピックに関するメッセージを接続されたデバイスに公開できます。このアクセス許可は、MQTT メッセージの配信ごとにチェックされます。このアクセス許可を使用して、トピックに現在サブスクライブしているクライアントへのアクセスを取り消すことができます。