OTA(Over-the-Air Technology)即空中下载技术,是物联网平台的一项基础功能,可基于无线网络对分布在全球各地的设备固件、软件或驱动进行更新升级。本文以MQTT协议下的设备为例,介绍设备进行OTA升级的过程。
背景信息
设备进行OTA升级的工作原理、使用限制和升级步骤的详细内容,请参见OTA升级。设备进行OTA升级的流程和数据格式说明,请参见OTA升级的Topic和数据格式。
本示例中,使用阿里云提供的设备端4.x版本C Link SDK,开发设备端接入和OTA升级功能,使设备接入物联网平台,并进行OTA升级。
OTA升级流程
本示例介绍为设备进行整包升级的流程,其中升级包模块使用默认(default)模块,升级包仅含一个文件。
流程图如下。
流程说明如下表。
序号 | 说明 | 相关文档 |
1 | 上报当前OTA版本到Topic:
上报版本消息示例:
| |
2 | 在物联网平台为目标产品上传高版本(2.0.0)的OTA升级包,然后向低版本(1.0.0)设备推送升级任务,将设备的固件从低版本(1.0.0)升级到高版本(2.0.0)。 | |
3 | 设备端订阅物联网平台推送OTA升级通知消息的Topic: 升级通知消息示例:
| |
4 | 设备端收到升级通知消息中的升级包URL后,调用设备端SDK提供的相关API下载升级包,进行本地升级。 本示例下载单个OTA升级文件,相关API的使用说明,请参见: | |
5 | 上报升级进度到Topic: 上报进度消息示例:
| |
6 | 上报升级后的OTA版本到Topic: 上报版本消息示例:
|
相关文档
设备OTA升级失败的常见问题和解决方法,请参见设备OTA升级失败问题。
可以在物联网平台控制台查询云端运行日志。该日志包含了物联网平台、设备、您的应用程序三者之间的交互通信记录。
物联网平台可能返回给设备端的错误码及说明,请参见设备端接收的错误码。
如果需要将设备上报的升级信息通过AMQP通道推送至您的服务器,请参见配置AMQP服务端订阅。OTA升级相关Topic数据,经过消息转发后的数据格式,请参见数据格式。