

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# OTA Update Manager 服務
<a name="ota-manager"></a>

無線 (OTA) Update Manager 服務提供了一種方式來執行下列動：
+ 建立 OTA 更新及其使用的資源，包括 AWS IoT 任務、 AWS IoT 串流和程式碼簽署。
+ 取得 OTA 更新的相關資訊。
+ 列出與 AWS 您的帳戶相關聯的所有 OTA 更新。
+ 刪除 OTA 更新。

OTA 更新是一種由 OTA Update Manager 服務維護的資料結構。它包含以下內容：
+ OTA 更新 ID。
+ 選擇性的 OTA 更新說明。
+ 待更新的裝置清單 (「目標」**)。
+ OTA 更新的類型：CONTINUOUS 或 SNAPSHOT。如需您需要的更新類型的討論，請參閱 *AWS IoT 開發人員指南*的任務[https://docs.aws.amazon.com/iot/latest/developerguide/iot-jobs.html](https://docs.aws.amazon.com/iot/latest/developerguide/iot-jobs.html)一節。
+ 用來執行 OTA 更新的通訊協定：[MQTT]、[HTTP] 或 [MQTT, HTTP]。當您指定 MQTT 和 HTTP 時，裝置設定會判斷已使用的通訊協定。
+ 要傳送到目標裝置的檔案清單。
+ 授予 Amazon S3、 AWS IoT 工作和 AWS 程式碼簽署資源 AWS IoT 存取權的 IAM 角色，以建立 OTA 更新任務。
+ 選擇性的使用者定義名稱/值對清單。

OTA 更新旨在更新裝置韌體，但您可以使用它們將您想要的任何檔案傳送到一或多個註冊的裝置 AWS IoT。當您無線傳送韌體更新時，我們建議您以數位方式簽署它們，以便接收它們的裝置可以確認它們在途中未遭到竄改。

您可以使用 HTTP 或 MQTT 通訊協定來傳送更新的韌體映像，取決於您選擇的設定。您可以使用 [Code Signing for FreeRTOS](https://docs.aws.amazon.com/signer/latest/developerguide/Welcome.html) 來簽署韌體更新，也可以使用自己的程式碼簽署工具。

若要進一步控制程序，您可以使用 [CreateStream](https://docs.aws.amazon.com/iot/latest/apireference/API_CreateStream.html) API，在透過 MQTT 傳送更新時建立串流。在某些情況下，您可以修改 FreeRTOS 代理程式[程式碼](https://github.com/aws/amazon-freertos/tree/202012.00/libraries/freertos_plus/aws/ota/src)，以調整您傳送和接收的區塊大小。

當您建立 OTA 更新時，OTA Manager 服務會建立一個 [AWS IoT 任務](https://docs.aws.amazon.com/iot/latest/developerguide/iot-jobs.html)來通知您的裝置有可用的更新。FreeRTOS OTA 代理程式會在您的裝置上執行，並接聽更新訊息。當更新可用時，它會透過 HTTP 或 MQTT 請求韌體更新映像，並將檔案存放在本機上。它會檢查下載檔案的數位簽章，並且在檔案有效時安裝韌體更新。如果您不是使用 FreeRTOS，則必須實作自己的 OTA 代理程式來接聽和下載更新，並執行任何安裝操作。