本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
OTA Update Manager 服务
over-the-air(OTA) 更新管理器服务提供了一种方法:
-
创建 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 时,设备设置会确定所使用的协议。
-
要发送到目标设备的文件列表。
-
一个 IAM 角色,用于授予 AWS IoT 访问 Amazon S3、 AWS IoT 任务和 AWS 代码签名资源的访问权限以创建 OTA 更新任务。
-
用户定义的名称值对列表(可选)。
OTA 更新旨在更新设备固件,但您可以使用它们将想要的任何文件发送到一台或多台注册的设备 AWS IoT。在以无线方式发送固件更新时,建议您对更新进行数字签名,以便接收更新的设备能够验证更新在传输途中未经篡改。
可以使用 HTTP 或 MQTT 协议发送更新后的固件映像,具体取决于您选择的设置。您可以使用适用于 FreeRTOS 的代码签名来对固件更新进行签名,也可以使用自己的代码签名工具。
为了更好地控制流程,您可以在通过 MQTT 发送更新时使用 CreateStreamAPI 创建流。在某些情况下,您可以修改 FreeRTOS 代理代码
在创建 OTA 更新时,OTA Manager 服务会创建一个 AWS IoT 作业来通知设备有可用的更新。FreeRTOS OTA 代理将在设备上运行,并侦听更新消息。当有可用更新时,它会通过 HTTP 或 MQTT 请求固件更新映像,并本地存储这些文件。它将检查所下载文件的数字签名,如果签名有效,则安装固件更新。如果未使用 FreeRTOS,则必须实施自己的 OTA 代理,以侦听和下载更新并执行任何安装操作。