物联网智能设备终端OTA远程升级方案
2020-03-06 18:30
537 查看
FOTA(Firmware Over-The-Air),即利用无线通信技术,云服务器来实现远程的固件更新,包含以下几部分内容,节点端,FOTA服务器,升级方式,文件类型.bin,升级过程管理,安全性。
1 硬件环境
设备主控为Stm32f103VE 内置ram空间64k,内置用户flash空间512k;
SIM7600 4G模块,称之为4G模块;
公司数据服务器,称之为Dserver,负责后台逻辑和协议通信;
公司文件服务器,称之为Fserver, 用于存放固件升级文件;
App 表示用户应用程序代码;
Bootloader 表示用户应用程序引导程序;
2 整体思路
-
2.1 OTA的升级方式选择
固件原位升级 | 固件乒乓升级 | 固件冗余升级 |
---|---|---|
综上,考虑采用方案2.
2.1 stm32主flash空间划分
(1)划分4个区:
bootloader区,app1区和app2区;
(2)各区大小:
BootLoader区大小12k, app1区和app2区各自大小250k;
2.2 整体流程
设备在通电联网后和Dserver握手时,会上传当前MCU固件的版本号。正常工作情况下运行应用程序,接收到Dserver发过来的升级命令后,MCU将4G模块设置为http模式,然后向Fserver发送get请求数据包,之后4G模块连续从Fserver接收数据发送给MCU, MCU将接收到的数据存储到相应的APPflash存储区,整个文件接收完成之后,校验通过(待确定),置位参数区域的需要更新标志,然后stm32软件复位,bootloader将根据文件升级标志,pc跳转到app位置执行程序。
2.3 用到了4G模块有3种工作模式
- AT指令模式;
- 透传模式;
- Http client模式;
3 流程图
4 数据通信协议格式
4.1 服务器通知设备进行固件升级
4.2 上报升级结果
设备升级完成后,会自动重启,连接服务器,握手时上报版本号,服务器判断,如果OTA控制台的该设备正在升级中,且上报的是升级后的版本号,那么认为升级成功;如果上报的是老版本号,认为升级失败。
5 升级文件名称格式
注:
- 升级文件软件版本号为最新版本号,设备当前软件版本只有小于最新版本才允许升级。
- 每次都会发布两个相同软件版本号、升级flash区域标志不同的文件。
- 如果当前设备软件版本号为E-x.x.x,升级对应升级flash区域标志为O的文件
如果当前设备软件版本号为O-x.x.x,升级对应升级flash区域标志为E的文件
这个只是草稿版本供参考,后续优化,分享代码,用到了文件CRC校验,工具已经上传。
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- 【物联网智能网关-18】多通道远程安全升级
- 自制物联网智能设备-12.远程监控温湿度并自动控制小风扇
- IT 机房设备远程管理方案-Lantronix产品综合方案(一)
- 基于WiFi和云端的无线远程升级方案
- 智能手持终端方案
- 【物联网智能网关-13】Html5:Canvas+WebSocket实现远程实时通信(上)
- 远程医疗诊断、便携传感智能设备引爆新体验
- 灯光控制及家庭智能信息终端方案(温湿度測量、烟雾报警、门磁控制、窗帘控制等)
- HK设备安全补丁升级方案
- 物联网架构演进和微信智能设备平台开发
- 【物联网智能网关-13】Html5:Canvas+WebSocket实现远程实时通信(上)
- 物联网架构演进和微信智能设备平台开发
- 后台任务稳定运行方案--不受终端关闭或者远程(ssh等)连接失败影响
- arm芯片,远程空中升级程序技术方案
- "物联网"智能家居设备有可能侵犯你最私密的家庭空间
- 【物联网智能网关-13】Html5:Canvas+WebSocket实现远程实时通信(上)
- 自制物联网智能设备-8.我的第一个物联网控制应用
- 【MRO】麦思博:MSUP2017 TOP 100 全球经典案例 -《江泽浩:基于物联网智能分析的设备预测性维护》
- 【物联网智能网关-14】Html5:Canvas+WebSocket实现远程实时通信(下)
- iOS中nRF蓝牙设备的OTA升级(一些设置)