

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

# OTA 教程
<a name="dev-guide-ota-workflow"></a>

本部分包含了如何使用 OTA 更新在运行 FreeRTOS 的设备上更新固件的教程。除了固件映像之外，您还可以使用 OTA 更新将任何类型的文件发送到已连接 AWS IoT的设备。

您可以使用 AWS IoT 控制台或创建 AWS CLI OTA 更新。控制台是开始使用 OTA 的最简便方式，因为它为您执行了大量工作。 AWS CLI 在自动执行 OTA 更新任务、使用大量设备或使用不符合 FreeRTOS 资格的设备时，这非常有用。有关获得 FreeRTOS 资格认证的设备的更多信息，请参阅 [FreeRTOS 合作伙伴](https://aws.amazon.com/partners/dqp/)网站。<a name="create-update"></a>

**创建 OTA 更新**

1. 将初始版本的固件部署到一个或多个设备。

1. 验证固件的运行是否正常。

1. 需要固件更新时，修改代码并构建新映像。

1. 如果手动签署固件，则对固件映像进行签名，之后将其上传到 Amazon S3 存储桶。如果您使用代码签名 AWS IoT，请将未签名的固件映像上传到 Amazon S3 存储桶。

1. 创建 OTA 更新。

在创建 OTA 更新时，可以指定映像传输协议 MQTT 或 HTTP，也可以指定两者来让设备进行选择。设备上的 FreeRTOS OTA 代理将接收更新后的固件映像，并验证数字签名、校验和以及新映像的版本号。如果固件更新通过验证，设备将重置，并根据应用程序定义的逻辑提交更新。如果设备未运行 FreeRTOS，则必须实现一个在设备上运行的 OTA 代理。