OTA Update Manager 服务 - FreeRTOS
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

OTA Update Manager 服务

利用无线 (OTA) Update Manager 服务,可以:

  • 创建 OTA 更新及其使用的资源,包括 AWS IoT 作业、AWS IoT 流和代码签名。

  • 获取有关 OTA 更新的信息。

  • 列出与您的 AWS 账户关联的所有 OTA 更新。

  • 删除 OTA 更新。

OTA 更新是由 OTA Update Manager 服务维护的一种数据结构。其中包含:

  • OTA 更新 ID。

  • OTA 更新描述(可选)。

  • 要更新的设备列表(目标)。

  • OTA 更新的类型:CONTINUOUS 或 SNAPSHOT。有关您需要的更新类型的讨论,请参阅 AWS IoT 开发人员指南作业部分。

  • 用于执行 OTA 更新的协议为:[MQTT]、[HTTP] 或 [MQTT 和 HTTP]。在指定 MQTT 和 HTTP 时,设备设置会确定所使用的协议。

  • 要发送到目标设备的文件列表。

  • 授予 AWS IoT 访问 Amazon S3、AWS IoT 作业和 AWS 代码签名资源的权限以创建 OTA 更新任务的 IAM 角色。

  • 用户定义的名称值对列表(可选)。

OTA 更新设计用于更新设备固件,但也可以用来将所需的任意文件发送到已注册到 AWS IoT 的一个或多个设备。在以无线方式发送固件更新时,建议您对更新进行数字签名,以便接收更新的设备能够验证更新在传输途中未经篡改。

可以使用 HTTP 或 MQTT 协议发送更新后的固件映像,具体取决于您选择的设置。可以使用 Code Signing for FreeRTOS 对固件更新进行签名,也可以使用自己的代码签名工具。

Code Signing for AWS IoT 在以下区域中不可用:

  • 中国(北京)区域

  • 中国 (宁夏) 区域

要更好地控制此过程,您可以在通过 MQTT 发送更新时使用 CreateStream API 创建流。在某些情况下,您可以修改 FreeRTOS 代理代码来调整您发送和接收的块的大小。

在创建 OTA 更新时,OTA Manager 服务会创建一个 AWS IoT 作业来通知设备有可用的更新。FreeRTOS OTA 代理将在设备上运行,并侦听更新消息。当有可用更新时,它会通过 HTTP 或 MQTT 请求固件更新映像,并本地存储这些文件。它将检查所下载文件的数字签名,如果签名有效,则安装固件更新。如果未使用 FreeRTOS,则必须实施自己的 OTA 代理,以侦听和下载更新并执行任何安装操作。