- 理论上并不复杂
- 本地上传版本号
- 云端比较版本号,根据情况进行更新数据下推
- 本地接收文件,进行自更新
- 自更新完成后再次上传版本号
- 云端根据上传的版本号确认升级任务完成
- 如果超时没有收到更新后的版本号,则认为升级任务失败
几个要点
升级数据的下发通道
- 云端没有通过IOT通道进行升级数据的下发
- 而是提供了HTTPS的访问
HTTPS接口中带有签名和有效日期
- 接口信息
- 下载有效期是24小时
{
"code":"1000",
"data":{
"size":11472299,
"sign":"83254ac96e141affb8aa42cbfec93723",
"version":"2-45-345b",
"url":"https://iotx-ota.oss-cn-shanghai.aliyuncs.com/ota/dbab6f742ae389b40db88fc2500b08d0/ck0q5lyav00003i7hezxe0cbg.zip?Expires=1568951190&OSSAccessKeyId=cS8uRRy54RszYWna&Signature=nk0sogaxtyp7dYvKZnjNQ%2BZ8Q9w%3D",
"signMethod":"Md5",
"md5":"83254ac96e141affb8aa42cbfec93723"
},
"id":1568864790381,
"message":"success"
}
上传的升级包有格式限制
-
文件名长度和格式有要求
限制
设备端最佳实践
- 从URL下载数据
- 进行数据校验
- 更新文件
- 反馈版本号
- 重启或加载更新后的文件
网友评论