View a markdown version of this page

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

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

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

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

  2. 请选择创建任务。

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

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

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

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

  7. 在签名并选择文件下,选择为我签署一个新文件。

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

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

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

      注意

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

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

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

      重要

      在德州仪器上 CC3220SF-LAUNCHXL,如果您的代码签名证书存在于文件系统的根目录中,则不要在文件名前面添加正斜杠 (/)。否则,OTA 更新将在身份验证过程中失败,且产生 file not found 错误。

    4. 选择创建。

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

    注意

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

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

    重要

    在德州仪器上 CC3220SF-LAUNCHXL,由于安全限制,固件映像路径名必须为/sys/mcuflashimg.bin。

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

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

  14. 选择下一步。

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

  16. 在 “任务类型” 下,选择 “您的任务将在部署到所选任务 devices/groups (快照)后完成” 。

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

  18. 选择创建。

选择以前签署的固件映像
  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. 在 “任务类型” 下,选择 “您的任务将在部署到所选任务 devices/groups(快照)后完成” 。

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

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

任务显示在 Amazon IoT 控制台中,状态为 “进行中” 。

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

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

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

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