1 名词解释
APP版本:应用固件
CORE版本:底层固件
新老版本的dfota.bin文件:新老版本用于升级包的生成
升级包:新老版本通过服务器或者网页差分工具生成的数据包,用于模块升级
2 升级原理
2.1 合宙服务器升级原理
客户将新版本上传到合宙的服务器上
升级时模块会发送携带当前APP和CORE版本信息的http请求
服务器会查找老版本,然后与新版本通过差分工具生成升级包
模块下载升级包后,使用升级接口进行升级
2.2 自定义服务器升级原理
客户通过网页差分工具,上传新老版本,将生成的升级包放到自定义服务器
升级时模块下载升级包,使用升级接口进行升级
3 升级流程
3.1 新老版本的生成
3.1.1 新版本的生成
运行./demo_fotaNew.bat fota=app hex目录下会生成只升级APP的新版本
运行./demo_fotaNew.bat fota=core hex目录下会生成只升级CORE的新版本
运行./demo_fotaNew.bat fota=all hex目录下会生成APP+CORE的新版本
3.1.2 老版本的生成
运行./demo_fotaNew.bat fota=core hex目录下会生成老版本(只有自定义服务器才需要老版本(因为网页差分工具需要),使用合宙服务器不需要)
3.2 上传升级包
3.2.1 合宙服务器上传升级包
[合宙服务器上传升级包参考文档][http://doc.openluat.com/wiki/6?wiki_page_id=92]
3.2.2 自定义服务器上传升级包
打开http://test.community.openluat.com/chafen?tdsourcetag=s_pctim_aiomsg网页差分工具
上传新老版本,生成升级包
将升级包放入自定义服务器上
如图所示:
4 下载升级包进行升级
升级包是由多个文件通过打包协议生成的(例如APP版本bin文件,CORE版本差分文件)
升级接口,根据应用层是否解析协议,将升级接口分成2套。
4.1 升级时,应用层解析打包协议
使用iot_ota_newapp和iot_ota_newcore接口,参考demo/fotaNew项目
4.2 升级时,应用层不解析打包协议
使用iot_fota_init,iot_fota_download,iot_fota_done接口,参考demo/fota项目