物联网平台提供OTA升级与管理服务,使用该服务首先要确保设备端支持OTA服务,然后在物联网平台控制台的OTA升级页面,上传新的升级包并指定需要升级的设备。物联网平台推送OTA升级消息给设备,设备即可下载OTA升级包,并进行OTA升级。本文主要介绍OTA升级的使用限制和操作流程。
前提条件
使用OTA升级功能前,请确保设备端已完成OTA升级服务开发。
OTA升级说明
表 1. 设备说明
功能项 |
限制说明 |
支持的协议 |
仅支持通过MQTT协议接入物联网平台的设备使用OTA升级功能。 |
分发设备的OTA升级 |
设备分发到目标实例后,可正常进行OTA升级。 |
表 2. 升级包说明
功能项 |
限制说明 |
升级包 |
一个阿里云账号下最多可有500个升级包。 |
文件大小不能超过1,000 MB,且仅支持.bin 、.dav 、.tar 、.gz 、.zip 、.gzip 、.apk 、.tar.gz 、.tar.xz 、.pack 格式的文件。
|
表 3. 升级批次说明
功能项 |
使用与限制 |
基于版本升级 |
限制说明:
- 静态升级:使用同一个升级包,对不同待升级版本,可分别发起一个或多个静态批次升级。
- 动态升级:
- 在一个升级包下,只能发起一个动态升级批次。当升级范围选择全部设备,待升级版本号可以指定多个版本。
- 对于升级范围选择全部设备且指定待升级版本号的动态升级批次,一个设备最多匹配该动态升级批次10次。
- 使用不同升级包,可对同一个待升级版本发起多个动态升级批次,但仅支持匹配最近发起的一个动态升级批次。
|
使用说明:
- 当发起批次升级中设备支持多模块同时升级选择否时,一个设备发起批次升级,设备同一时间只能处于一个正在进行的升级任务中(升级任务处于待推送、已推送或升级中状态),否则会出现升级冲突。
- 当发起批次升级中设备支持多模块同时升级选择是时,一个设备在同一时间可以有多个不同模块正在进行的升级任务(升级任务处于待推送、已推送或升级中状态)。
注意 此时,设备端必须使用C语言4.x版本的Link SDK。
|
基于分组升级 |
使用说明:删除分组或移出分组中设备,不影响已存在的OTA升级任务。
设备分组的创建和使用说明,请参见设备分组。
|
表 4. 设备支持多模块同时升级说明
功能项 |
说明 |
支持的地域 |
华东2(上海)、日本(东京)。
|
支持的实例 |
企业版实例和新版公共实例。
|
支持的设备端Link SDK |
设备端C语言4.x版本的Link SDK。 |
升级策略配置 |
设备支持多模块同时升级和是否覆盖设备之前的升级任务不能同时选择是。
|
使用限制 |
|
OTA升级流程
- 设备端开发OTA升级功能:配置设备远程OTA升级能力。
- 添加升级包:为产品添加OTA模块和升级包。
- (可选)验证升级包:完成升级包验证,确认验证成功。
说明
- 如果升级包中升级包是否需要平台验证选择了否,跳过此步骤。
- 测试设备全部升级成功后,升级包状态显示为已验证,才能进行下一步批量升级。
- 发起升级批次任务:物联网平台向设备批量下发升级相关信息(升级包URL、版本、大小等)。
- 设备端OTA升级:设备端获取物联网平台发起的OTA升级相关信息,使用升级包URL下载升级包,完成OTA升级。
说明 升级包URL有效期为24小时,请及时下载,并完成设备OTA升级。若未在24小时内完成升级包下载,设备端可主动获取升级信息重新下载,请参见下述“设备端不立即下载升级包”场景。
支持升级场景如下:
- 设备端立即下载升级包,完成OTA升级。设备端下载升级的方法,请参见数据格式说明的步骤5。
- 设备端不立即下载升级包,在设备业务空闲时,主动向物联网平台获取已发起的升级相关信息,进行OTA升级。设备端主动检测升级的方法,请参见数据格式说明的步骤4。
- 查看升级情况:查看目标设备升级状态、升级包信息等。
- 查看升级包版本和成功率:查看升级后的版本分布和成功率分布统计,分析OTA升级失败原因,进而提升设备升级成功率。