FUOTA 程序概觀 - AWS IoT Wireless

FUOTA 程序概觀

以下圖表會顯示 AWS IoT Core for LoRaWAN 如何為終端裝置執行 FUOTA 程序。若要將個別裝置新增至 FUOTA 工作階段,則可略過建立和設定多點傳送群組的步驟。您可以將裝置直接新增至 FUOTA 工作階段,接著 AWS IoT Core for LoRaWAN 會開始進行韌體更新程序。

影像中顯示 AWS IoT Core for LoRaWAN 如何為終端裝置執行 FUOTA。

若要為裝置執行 FUOTA,請先建立數位簽署的韌體映像,並設定要新增至 FUOTA 任務的裝置和多播群組。在開始 FUOTA 工作階段後,終端裝置會收集所有片段、從片段重建映像、將狀態回報至 AWS IoT Core for LoRaWAN,然後套用新的韌體映像。

以下會說明 FUOTA 程序中的不同步驟:

  1. 使用數位簽章建立韌體映像或差異映像

    若要讓 AWS IoT Core for LoRaWAN 為 LoRaWAN 裝置執行 FUOTA,建議您在傳送無線韌體更新時,對韌體映像或差異映像進行數位簽署。接著,接收映像的裝置便可確認其是否來自正確來源。

    韌體映像大小不得超過 1 MB。韌體大小越大,完成更新程序所需的時間就越長。若要更快速地傳輸資料,或者新映像大於 1 MB,請使用差異映像,其為新映像的一部分,即新韌體映像與上一個映像之間的差異。

    注意

    AWS IoT Core for LoRaWAN 不會提供數位簽章產生工具和韌體版本管理系統。您可以使用任何第三方工具來產生韌體映像的數位簽章。建議您使用數位簽章工具,例如嵌入 ARM Mbed GitHub 儲存庫的工具,其還包括用來產生差異映像以及供裝置使用該映像的工具。

  2. 識別和設定要進行 FUOTA 的裝置

    識別要進行 FUOTA 的裝置後,請將韌體更新傳送至個別或多個裝置。

    • 若要將韌體更新傳送至多個裝置,請建立多點傳送群組,並使用終端裝置來設定多點傳送群組。如需詳細資訊,請參閱建立多點傳送群組,以將下行承載傳送至多個裝置

    • 若要將韌體更新傳送至個別裝置,請將這些裝置新增至 FUOTA 工作階段,然後執行韌體更新。

  3. 排定分發時段並設定分段工作階段

    如果已建立多點傳送群組,則可以指定 B 類或 C 類分發時段,以便判斷裝置何時可以從 AWS IoT Core for LoRaWAN 接收片段。裝置在切換至 B 類或 C 類模式之前,可能會先在 A 類中運作。您也必須指定工作階段的開始時間。

    B 類或 C 類裝置會在指定的分發時段喚醒,並開始接收下行封包。以 C 類模式操作的裝置會比 B 類裝置消耗更多電力。如需詳細資訊,請參閱裝置類別

  4. 終端裝置會將狀態回報至 AWS IoT Core for LoRaWAN 並更新韌體映像

    設定分段工作階段之後,終端裝置和 AWS IoT Core for LoRaWAN 會執行以下步驟來更新裝置的韌體。

    1. 由於 LoRaWAN 裝置的資料傳輸速率低,因此若要開始 FUOTA 程序,AWS IoT Core for LoRaWAN 便會設定分段工作階段來為韌體映像分段。然後,其會將這些片段傳送至終端裝置。

    2. 在 AWS IoT Core for LoRaWAN 傳送映像片段後,LoRaWAN 終端裝置便會執行以下任務。

      1. 收集片段,再從這些片段中重建二進位映像。

      2. 檢查重建映像的數位簽章以驗證映像,並確認映像來自正確的來源。

      3. 將 AWS IoT Core for LoRaWAN 的韌體版本與最新版本進行比較。

      4. 回報已傳輸至 AWS IoT Core for LoRaWAN 的分段映像,然後套用新的韌體映像。

        注意

        在某些情況下,終端裝置會先回報已傳輸至 AWS IoT Core for LoRaWAN 的分段映像,再檢查韌體映像的數位簽章。

您已經了解 FUOTA 程序,現在可以建立 FUOTA 任務並將裝置新增至任務來更新其韌體。如需詳細資訊,請參閱建立 FUOTA 任務並提供韌體映像