本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
创建 OTA 更新(AWS IoT 控制台)
-
在 AWS IoT 控制台的导航窗格中,选择 Manage (管理),然后选择 Jobs (作业)。
-
选择创建。
-
在 Create a FreeRTOS Over-the-Air (OTA) update job (创建 Amazon FreeRTOS 无线 (OTA) 更新作业) 下,选择 Create OTA update job (创建 OTA 更新作业)。
-
可以将一个 OTA 更新部署到单个设备或一组设备。在 Select devices to update (选择要更新的设备) 下,选择 Select (选择)。要更新单个设备,可选择 Things (事物) 选项卡。要更新一组设备,可选择 Thing Groups (事物组) 选项卡。
-
如果您要更新单个设备,请选中与您的设备关联的 IoT 事物旁边的复选框。如果要更新一组设备,选中与设备关联的事物组旁边的复选框。选择 Next (下一步)。
-
在 Select the protocol for firmware image transfer (选择固件映像传输协议) 下,选择 HTTP 或 MQTT,或选择两者以允许每台设备确定要使用的协议。
-
在 Select and sign your firmware image (选择并签署固件映像) 下,选择 Sign a new firmware image for me (为我签署一个新的固件映像)。
-
在 Code signing profile (代码签名配置文件) 下,选择 Create (创建)。
-
在 Create a code signing profile (创建代码签名配置文件) 中,为代码签名配置文件输入名称。
-
在 Device hardware platform (设备硬件平台) 下,选择硬件平台。
注意 该列表中只显示了符合 FreeRTOS 条件的硬件平台。如果您正在测试不符合条件的平台,并且使用 ECDSA P-256 SHA-256 密码套件进行签名,则可以选择 Windows 模拟器代码签名配置文件以生成兼容签名。如果使用不符合条件的平台,并且使用 ECDSA P-256 SHA-256 以外的密码套件进行签名,您可以使用 Code Signing for AWS IoT,也可以自行对固件更新进行签名。有关更多信息,请参阅对固件更新进行数字签名。
-
在 Code signing certificate (代码签名证书) 下,选择 Select (选择),以选择之前导入的证书,或选择 Import (导入) 以导入新证书。
-
在 Pathname of code signing certificate on device (设备上代码签名证书的路径名) 下,输入代码签名证书在设备上的完全限定路径名称。该证书的位置因平台而异。它应该是您按照安装初始固件中的说明放置代码签名证书的位置。
重要 在 Texas Instruments CC3220SF-LAUNCHXL 上,如果代码签名证书位于文件系统的根目录下,请勿在文件名前面包含前导正斜杠 (
/
)。否则,OTA 更新将在身份验证过程中失败,且产生file not found
错误。
-
-
在 Select your firmware image in S3 or upload it (在 S3 中选择固件映像或上传) 下,选择 Select (选择)。此时将显示 Amazon S3 存储桶的列表。选择包含固件更新的存储桶,然后在存储桶中选择固件更新。
注意 Microchip Curiosity PIC32MZEF 演示项目生成两个二进制映像,默认名称为
mplab.production.bin
和mplab.production.ota.bin
。 在上传映像用于 OTA 更新时,请使用第二个文件。 -
在 Pathname of firmware image on device (设备上固件映像的路径名) 下,输入设备上 OTA 作业要将固件映像复制到的位置的完全限定路径名称。此位置因平台而异。
重要 在 Texas Instruments CC3220SF-LAUNCHXL 上,由于安全限制原因,固件映像路径名必须为
/sys/mcuflashimg.bin
。 -
在 File Type (文件类型) 下,输入 0-255 范围内的整数值。您输入的文件类型将添加到已提交给 MCU 的 Job 文档中。MCU 固件/软件开发人员对如何对此值具有完整所有权。可能的情况包括 MCU,它具有辅助处理器,其固件独立于主处理器进行更新。在设备收到 OTA 更新任务时,它可以使用文件类型来确定更新所针对的处理器。
-
在 IAM role for OTA update job (OTA 更新作业的 IAM 角色) 下,根据 创建 OTA 更新服务角色 中的说明选择角色。
-
选择 Next (下一步)。
-
为 OTA 更新作业输入 ID 和描述。
-
在 Job type (作业类型) 下,选择 Your job will complete after deploying to the selected devices/groups (snapshot) (您的作业将在部署到所选设备/组后完成 (快照))。
-
为作业选择任何适当的可选配置(作业执行推出、作业中止、作业执行超时和标签)。
-
选择创建。
选择以前签署的固件映像
-
在 Select and sign your firmware image (选择并签署固件映像) 下,选择 Select a previously signed firmware image (选择以前签署的固件映像)。
-
在 Pathname of firmware image on device (设备上固件映像的路径名) 下,输入设备上 OTA 作业要将固件映像复制到的位置的完全限定路径名称。此位置因平台而异。
-
在 Previous code signing job (原有的代码签名作业) 下,选择 Select (选择),然后选择用来签署用于 OTA 更新的固件映像的上一个代码签名作业。
使用自定义的已签署固件映像
-
在 Select and sign your firmware image (选择并签署固件映像) 下,选择 Use my custom signed firmware image (使用我的自定义已签署固件映像)。
-
在 Pathname of code signing certificate on device (设备上代码签名证书的路径名) 下,输入代码签名证书在设备上的完全限定路径名称。此路径名称因平台而异。
-
在 Pathname of firmware image on device (设备上固件映像的路径名) 下,输入设备上 OTA 作业要将固件映像复制到的位置的完全限定路径名称。此位置因平台而异。
-
在 Signature (签名) 下,粘贴 PEM 格式的签名。
-
在 Original hash algorithm (原始哈希算法) 下,选择在创建文件签名时所使用的哈希算法。
-
在 Original encryption algorithm (原始加密算法) 下,选择在创建文件签名时所使用的算法。
-
在 Select your firmware image in Amazon S3 (在 Amazon S3 中选择固件映像) 下,选择 Amazon S3 存储桶以及 Amazon S3 存储桶中已签署的固件映像。
指定代码签名信息后,为更新指定 OTA 更新作业类型、服务角色和 ID。
请勿在 OTA 更新的作业 ID 中使用任何个人身份信息。个人身份信息示例包括:
-
名称。
-
IP 地址。
-
电子邮件地址。
-
位置。
-
银行详细信息。
-
医疗信息。
-
在 Job type (作业类型) 下,选择 Your job will complete after deploying to the selected devices/groups (snapshot) (您的作业将在部署到所选设备/组后完成 (快照))。
-
在 IAM role for OTA update job (OTA 更新作业的 IAM 角色) 下,选择 OTA 服务角色。
-
为作业输入字母数字形式的 ID,然后选择 Create (创建)。
作业将出现在 AWS IoT 控制台中,且其状态为 IN PROGRESS。
-
AWS IoT 控制台不会自动更新作业的状态。刷新浏览器可以查看更新。
将串行 UART 终端连接到设备。您应当看到输出表明设备正在下载更新后的固件。
设备在下载完更新后的固件之后,将重新启动,然后安装固件。在 UART 终端中可以看到所发生的情况。
有关说明如何使用控制台创建 OTA 更新的教程,请参阅无线更新演示应用程序。