建立 FUOTA 任務並提供韌體映像 - AWS IoT Wireless

建立 FUOTA 任務並提供韌體映像

若要更新 LoRaWAN 裝置的韌體,請先建立 FUOTA 任務,並提供要用於更新的數位簽署韌體映像。然後,您便可將裝置和多點傳送群組新增至任務,並排定 FUOTA 工作階段。在工作階段啟動時,AWS IoT Core for LoRaWAN 會設定分段工作階段,終端裝置會收集片段、重建映像並套用新韌體。如需 FUOTA 程序的詳細資訊,請參閱 FUOTA 程序概觀

以下內容會顯示如何建立 FUOTA 任務,以及如何上傳存放在 S3 儲存貯體中的韌體映像或差異映像。

必要條件

在執行 FUOTA 之前,必須先數位簽署韌體映像,以便終端裝置在套用映像時能驗證映像的真偽。您可以使用任何第三方工具來產生韌體映像的數位簽章。建議您使用數位簽章工具,例如嵌入 ARM Mbed GitHub 儲存庫的工具,其還包括用來產生差異映像以及供裝置使用該映像的工具。

使用主控台建立 FUOTA 任務並上傳韌體映像

若要使用主控台建立 FUOTA 任務和上傳韌體映像,請前往 FUOTA tasks (FUOTA 任務) 索引標籤,然後選擇 Create FUOTA task (建立 FUOTA 任務)。

  1. 建立 FUOTA 任務

    若要建立 FUOTA 任務,請指定任務屬性和標籤。

    1. 指定 FUOTA 任務屬性

      若要指定 FUOTA 任務屬性,請輸入 FUOTA 任務的以下資訊。

      • 名稱:輸入 FUOTA 任務的唯一名稱。名稱僅可包含字母、數字、連字號和底線。不可含有空格。

      • 描述:可以選擇為多點傳送群組提供描述。描述欄位最長可達 2,048 個字元。

      • RFRegion:設定 FUOTA 任務的頻帶。頻帶必須符合用來佈建無線裝置或多點傳送群組的頻帶。

    2. FUOTA 任務的標籤

      您可以選擇提供任何鍵值對,作為 FUOTA 任務的標籤。請選擇 Next (下一步) 以繼續建立任務。

  2. 上傳韌體映像

    選擇要用來更新新增至 FUOTA 任務的裝置韌體的韌體映像檔案。韌體映像檔案會存放在 S3 儲存貯體中。您可以提供 AWS IoT Core for LoRaWAN 許可,讓其代表您存取韌體映像。建議您以數位方式簽署韌體映像,以便在執行韌體更新時驗證其真偽。

    1. 選擇韌體映像檔案

      您可以將新韌體映像檔案上傳至 S3 儲存貯體,或選擇已上傳至 S3 儲存貯體的現有映像。

      注意

      韌體映像檔案大小不得超過 1 MB。韌體大小越大,完成更新程序所需的時間就越長。

      • 若要使用現有映像,請選擇 Select an existing firmware image (選取現有韌體映像),然後選擇 Browse S3 (瀏覽 S3),再選擇要使用的韌體映像檔案。

        AWS IoT Core for LoRaWAN 會填入 S3 URL,其為前往 S3 儲存貯體中韌體映像檔案的路徑。路徑的格式為 s3://bucket_name/file_name。若要在 Amazon Simple Storage Service 主控台中檢視檔案,請選擇 View (檢視)。

      • 上傳新韌體映像。

        1. 選擇 Upload a new firmware image (上傳新韌體映像),然後上傳韌體映像。映像檔案大小不得超過 1 MB。

        2. 若要建立 S3 儲存貯體並輸入 Bucket name (儲存貯體名稱) 以存放韌體映像檔案,請選擇 Create S3 bucket (建立 S3 儲存貯體)。

    2. 存取儲存貯體的權限

      您可以建立新的服務角色或選擇現有角色,讓 AWS IoT Core for LoRaWAN 代表您存取 S3 儲存貯體中的韌體映像檔案。選擇 Next (下一步)。

      若要建立新角色,您可以輸入角色名稱,或者保留空白,以便自動產生隨機名稱。若要檢視授予 S3 儲存貯體存取權限的政策許可,請選擇 View policy permissions (檢視政策許可)。

    如需使用 S3 儲存貯體來存放映像以及授予 AWS IoT Core for LoRaWAN 存取權限的相關資訊,請參閱 將韌體檔案上傳至 S3 儲存貯體並新增 IAM 角色

  3. 檢閱和建立

    若要建立 FUOTA 任務,請檢閱指定的 FUOTA 任務和組態詳細資訊,然後選擇 Create task (建立任務)。

使用 API 建立 FUOTA 任務並上傳韌體映像

若要建立 FUOTA 任務並使用 API 指定韌體映像檔案,請使用 CreateFuotaTask API 操作或 create-fuota-task CLI 命令。您可以提供 input.json 檔案作為 create-fuota-task 命令的輸入。在使用 API 或 CLI 時,必須已將作為輸入提供的韌體映像檔案上傳至 S3 儲存貯體。您也可以指定 IAM 角色,授予 AWS IoT Core for LoRaWAN 存取 S3 儲存貯體中韌體映像的權限。

aws iotwireless create-fuota-task \ --cli-input-json file://input.json

其中:

input.json 的內容

{ "Description": "FUOTA task to update firmware of devices in multicast group.", "FirmwareUpdateImage": "S3:/firmware_bucket/firmware_image "FirmwareUpdateRole": "arn:aws:iam::123456789012:role/service-role/ACF1zBEI" "LoRaWAN": { "RfRegion": "US915" }, "Name": "FUOTA_Task_MC" }

在建立 FUOTA 任務之後,便可使用以下 API 操作或 CLI 命令來更新、刪除或取得 FUOTA 任務的相關資訊。

後續步驟

您已建立 FUOTA 任務和提供韌體映像,因此可以將裝置新增至任務以更新其韌體。可以將個別裝置或多點傳送群組新增至任務。如需詳細資訊,請參閱將裝置和多點傳送群組新增至 FUOTA 任務,並排定 FUOTA 工作階段。