创建 OTA 更新(Amazon IoT 控制台) - FreeRTOS
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

创建 OTA 更新(Amazon IoT 控制台)

  1. 在Amazon IoT控制台的导航窗格中,在 “管理” 下选择 “远程操作”,然后选择 “作业”。

  2. 请选择 Create job (创建任务)

  3. 在 “作业类型” 下,选择 “创建 FreeRTOS OTA 更新J ob”,然后选择 “下一步”。

  4. Job 属性中,输入 Job 名称和(可选)输入作业描述,然后选择下一步

  5. 可以将一个 OTA 更新部署到单个设备或一组设备。在 “要更新的设备” 下,从下拉列表中选择一个或多个事物或事物组。

  6. 在 “选择文件传输协议” 下,选择 HTTPMQTT,或者同时选择两者,以允许每台设备确定要使用的协议。

  7. 在 “签名” 并选择您的文件下,选择 “为我签署新文件”。

  8. 代码签名配置文件下,选择创建新的配置文件

  9. Create a code signing profile (创建代码签名配置文件) 中,为代码签名配置文件输入名称。

    1. Device hardware platform (设备硬件平台) 下,选择硬件平台。

      注意

      此列表中仅显示已获得 FreeRTOS 资格的硬件平台。如果您正在测试不符合条件的平台,并且使用 ECDSA P-256 SHA-256 密码套件进行签名,则可以选择 Windows 模拟器代码签名配置文件以生成兼容签名。如果使用不符合条件的平台,并且使用 ECDSA P-256 SHA-256 以外的密码套件进行签名,您可以使用 Code Signing for Amazon IoT,也可以自行对固件更新进行签名。有关更多信息,请参阅对固件更新进行数字签名

    2. 代码签名证书下,选择选择现有证书,然后选择以前导入的证书,或者选择导入新的代码签名证书,选择您的文件并选择导入以导入新证书。

    3. Pathname of code signing certificate on device (设备上代码签名证书的路径名) 下,输入代码签名证书在设备上的完全限定路径名称。对于大多数设备,您可以将此字段留空。对于 Windows 模拟器以及将证书放在特定文件位置的设备,请在此处输入路径名。

      重要

      在 Texas Instruments CC3220SF-LAUNCHXL 上,如果代码签名证书位于文件系统的根目录下,请勿在文件名前面包含前导正斜杠 (/)。否则,OTA 更新将在身份验证过程中失败,且产生 file not found 错误。

    4. 选择 Create (创建)

  10. 在 “文件” 下选择 “选择现有文件”,然后选择 “浏览 S3”。将显示您的 Amazon S3 存储桶的列表。选择包含固件更新的存储桶,然后在存储桶中选择固件更新。

    注意

    Microchip Curiosity PIC32MZEF 演示项目将产生两个二进制映像,其默认名称为 mplab.production.binmplab.production.ota.bin。如果要上传映像用于 OTA 更新,请使用第二个文件。

  11. 设备上文件的路径名下,输入设备上 OTA 任务将复制固件映像的位置的完全限定路径名。此位置因平台而异。

    重要

    在 Texas Instruments CC3220SF-LAUNCHXL 上,由于安全限制原因,固件映像路径名必须为 /sys/mcuflashimg.bin

  12. 打开文件类型并输入 0-255 范围内的整数值。您输入的文件类型将添加到传送到 MCU 的Job 文档中。MCU 固件/软件开发人员对如何处理此值拥有完全所有权。可能的场景包括具有辅助处理器的 MCU,其固件可以独立于主处理器进行更新。当设备收到 OTA 更新任务时,它可以使用文件类型来识别更新适用于哪个处理器。

  13. IAM 角色下,根据中的说明选择一个角色创建 OTA 更新服务角色

  14. 选择 Next(下一步)

  15. 为 OTA 更新作业输入 ID 和描述。

  16. Job type (作业类型) 下,选择 Your job will complete after deploying to the selected devices/groups (snapshot) (您的作业将在部署到所选设备/组后完成 (快照))

  17. 为作业选择任何适当的可选配置(作业执行推出作业中止作业执行超时标签)。

  18. 选择 Create(创建)

选择以前签署的固件映像
  1. Select and sign your firmware image (选择并签署固件映像) 下,选择 Select a previously signed firmware image (选择以前签署的固件映像)

  2. Pathname of firmware image on device (设备上固件映像的路径名) 下,输入设备上 OTA 作业要将固件映像复制到的位置的完全限定路径名称。此位置因平台而异。

  3. Previous code signing job (原有的代码签名作业) 下,选择 Select (选择),然后选择用来签署用于 OTA 更新的固件映像的上一个代码签名作业。

使用自定义的已签署固件映像
  1. Select and sign your firmware image (选择并签署固件映像) 下,选择 Use my custom signed firmware image (使用我的自定义已签署固件映像)

  2. Pathname of code signing certificate on device (设备上代码签名证书的路径名) 下,输入代码签名证书在设备上的完全限定路径名称。对于大多数设备,您可以将此字段留空。对于 Windows 模拟器以及将证书放在特定文件位置的设备,请在此处输入路径名。

  3. Pathname of firmware image on device (设备上固件映像的路径名) 下,输入设备上 OTA 作业要将固件映像复制到的位置的完全限定路径名称。此位置因平台而异。

  4. Signature (签名) 下,粘贴 PEM 格式的签名。

  5. Original hash algorithm (原始哈希算法) 下,选择在创建文件签名时所使用的哈希算法。

  6. Original encryption algorithm (原始加密算法) 下,选择在创建文件签名时所使用的算法。

  7. Amazon S3 中选择您的固件映像下,选择 Amazon S3 存储桶和 Amazon S3 存储桶中的签名固件映像。

指定代码签名信息后,为更新指定 OTA 更新作业类型、服务角色和 ID。

注意

请勿在 OTA 更新的作业 ID 中使用任何个人身份信息。个人身份信息示例包括:

  • 名称。

  • IP 地址。

  • 电子邮件地址。

  • 位置。

  • 银行详细信息。

  • 医疗信息。

  1. Job type (作业类型) 下,选择 Your job will complete after deploying to the selected devices/groups (snapshot) (您的作业将在部署到所选设备/组后完成 (快照))

  2. IAM role for OTA update job (OTA 更新作业的 IAM 角色) 下,选择 OTA 服务角色。

  3. 为作业输入字母数字形式的 ID,然后选择 Create (创建)

作业将出现在 Amazon IoT 控制台中,且其状态为 IN PROGRESS

注意
  • Amazon IoT 控制台不会自动更新作业的状态。刷新浏览器可以查看更新。

将串行 UART 终端连接到设备。您应当看到输出表明设备正在下载更新后的固件。

设备在下载完更新后的固件之后,将重新启动,然后安装固件。在 UART 终端中可以看到所发生的情况。

有关说明如何使用控制台创建 OTA 更新的教程,请参阅Over-the-air 更新演示应用程序