本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
OTA Update Manager 服务
over-the-air (OTA) 更新管理器服务提供了一种方法:
-
创建 OTA 更新及其使用的资源,包括 Amazon IoT 作业、Amazon IoT 流和代码签名。
-
获取有关 OTA 更新的信息。
-
列出与您的Amazon账户关联的所有 OTA 更新。
-
删除 OTA 更新。
OTA 更新是由 OTA Update Manager 服务维护的一种数据结构。其中包含:
-
OTA 更新 ID。
-
OTA 更新描述(可选)。
-
要更新的设备列表(目标)。
-
OTA 更新的类型:CONTINUOUS 或 SNAPSHOT。有关所需更新类型的讨论,请参阅《Amazon IoT开发者指南》的 “任务” 部分。
-
用于执行 OTA 更新的协议为:[MQTT]、[HTTP] 或 [MQTT 和 HTTP]。在指定 MQTT 和 HTTP 时,设备设置会确定所使用的协议。
-
要发送到目标设备的文件列表。
-
IAM 角色授予对 Amazon S3、Amazon IoT任务和Amazon代码签名资源的Amazon IoT访问权限以创建 OTA 更新任务。
-
用户定义的名称值对列表(可选)。
OTA 更新设计用于更新设备固件,但也可以用来将所需的任意文件发送到已注册到 Amazon IoT 的一个或多个设备。在以无线方式发送固件更新时,建议您对更新进行数字签名,以便接收更新的设备能够验证更新在传输途中未经篡改。
可以使用 HTTP 或 MQTT 协议发送更新后的固件映像,具体取决于您选择的设置。您可以使用 FreeRTOS 的代码签名对固件更新进行签名,也可以使用自己的代码签名工具。
为了更好地控制流程,您可以在通过 MQTT 发送更新时使用 CreateStreamAPI 创建数据流。在某些情况下,您可以修改 FreeRTOS 代理代码
在创建 OTA 更新时,OTA Manager 服务会创建一个 Amazon IoT 作业来通知设备有可用的更新。FreeRTOS OTA 代理在您的设备上运行并监听更新消息。当有可用更新时,它会通过 HTTP 或 MQTT 请求固件更新映像,并本地存储这些文件。它将检查所下载文件的数字签名,如果签名有效,则安装固件更新。如果您不使用 FreeRTOS,则必须实现自己的 OTA 代理来侦听和下载更新并执行任何安装操作。