作者:三烽
步骤解析
一、设备向物联网平台上报当前固件版本号
上报的topic:/ota/device/inform/{YourDeviceName}
上报的内容payload(其中version即为设备当前固件版本号,例如1.0):
{
"id": 1,
"params": {
"version": "1.0"
}
}
二、在控制台上添加固件
三、设备端订阅Topic
设备端订阅Topic:/ota/device/upgrade/{YourDeviceName}
四、验证固件
在控制台上进行验证固件的操作
image
五、获取固件url
完成第三步订阅之后,在设备端会收到平台下发的固件url,格式如下:
{
"code": "1000",
"data": {
"size": 432945,
"version": "2.0.0",
"url": "https://iotx-ota-pre.oss-cn-shanghai.aliyuncs.com/******",
"md5": "93230c3bde425a9d7984a594ac55ea1e"
},
"id": 1507707025,
"message": "success"
}
设备需要在24小时内通过https协议根据url下载固件
六、推送进度
在下载固件过程中,设备端可以推送升级进度到Topic:/ota/device/progress/{YourDeviceName}
消息的格式如下:
{
"id": 1,
"params": {
"step":"1", //表示下载的进度,1-100
"desc":" xxxxxxxx " //描述信息
}
}
七、推送最新固件版本
在完成固件升级(即step为100)后,设备端还需要上报最新的固件版本号到Topic:/ota/device/inform/{YourDeviceName}
在本示例中推送内容如下:
{
"id": 1,
"params": {
"version": "2.0"
}
}
如果上报的版本与OTA服务要求的版本一致就认为升级成功,反之失败。