阿里云物联网固件数据格式

上报固件版本
 
设备开机后需要上报该设备的固件版本,通过MQTT协议推送当前设备固件版本号到Topic
 
${productKey}/${deviceName}/ota/report。消息内容格式如下:
 
{
 
  "type": "report_version",
 
  "data": {
 
    "version": "1.0.0"}
 
}
 
Type:消息类型
Version:固件版本号

接收固件升级指令
 
您在控制台触发升级操作之后,设备会收到IoT平台OTA服务推送的固件的URL地址。设备端订阅Topic: ${productKey}/${deviceName}/ota/upgrade。控制台对设备发起固件升级请求后,设备端会通过该Topic收到固件的URL。消息格式如下:
 
    {
        "type":"upgrade_firmware",
        "data":{
            "version":"2.0.0",
            "name":"abc",
            "url":"https://xxxxxxxx",
            "md5":"ad92b5bc96ac971904a88eb4da081c31",
            "size":44043,
            "upgradeDate":"19832131321"
        }
    }
type:消息类型
version:升级版本号
name:固件名称
url: 固件下载地址
md5:固件MD5完整性校验
size:文件大小
upgradeDate:指定升级时间。当升级策略为指定设备升级(非全部),则无该字段。

升级进度上报
 
设备端接收到升级指令后开始升级,并通过MQTT协议推送升级进度到Topic
 
${productKey}/${deviceName}/ota/report。 消息格式如下:
 
    {
        "type":"report_result",
        "data":{
            "step":"1",
            "desc":"xxxxxxxx"
        }
    }
type:消息类型
step:升级进度 1-99表示升级中, 100表示升级完成,-1表示升级失败
desc:升级失败原因描述,step为-1时填写,其他情况可忽略