我是靠谱客的博主 淡淡芝麻,最近开发中收集的这篇文章主要介绍物联网智能设备终端OTA远程升级方案这个只是草稿版本供参考,后续优化,分享代码,用到了文件CRC校验,工具已经上传。,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

FOTA(Firmware Over-The-Air),即利用无线通信技术,云服务器来实现远程的固件更新,包含以下几部分内容,节点端,FOTA服务器,升级方式,文件类型.bin,升级过程管理,安全性。

1 硬件环境

设备主控为Stm32f103VE 内置ram空间64k,内置用户flash空间512k;

SIM7600 4G模块,称之为4G模块;
公司数据服务器,称之为Dserver,负责后台逻辑和协议通信;
公司文件服务器,称之为Fserver, 用于存放固件升级文件;
App 表示用户应用程序代码;
Bootloader 表示用户应用程序引导程序;

2 整体思路

  • 2.1 OTA的升级方式选择

固件原位升级固件乒乓升级固件冗余升级
centered 文本居中right-aligned 文本居右在这里插入图片描述

综上,考虑采用方案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 升级文件名称格式

在这里插入图片描述
注:

  1. 升级文件软件版本号为最新版本号,设备当前软件版本只有小于最新版本才允许升级。
  2. 每次都会发布两个相同软件版本号、升级flash区域标志不同的文件。
  3. 如果当前设备软件版本号为E-x.x.x,升级对应升级flash区域标志为O的文件
    如果当前设备软件版本号为O-x.x.x,升级对应升级flash区域标志为E的文件

这个只是草稿版本供参考,后续优化,分享代码,用到了文件CRC校验,工具已经上传。

最后

以上就是淡淡芝麻为你收集整理的物联网智能设备终端OTA远程升级方案这个只是草稿版本供参考,后续优化,分享代码,用到了文件CRC校验,工具已经上传。的全部内容,希望文章能够帮你解决物联网智能设备终端OTA远程升级方案这个只是草稿版本供参考,后续优化,分享代码,用到了文件CRC校验,工具已经上传。所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(466)

评论列表共有 0 条评论

立即
投稿
返回
顶部