立即注册
查看: 1470|回复: 8

[单片机资料] STM32的BootLoader的OTA远程升级

已绑定手机
发表于 2021-8-5 17:00:48 | 显示全部楼层 |阅读模式 来自 广东省深圳市
OTA又叫空中下载技术,是通过移动通信的空中接口实现对移动终端设备数据进行远程管理的技术,还能提供移动化的新业务下载功能。

要实现OTA功能,至少需要两块设备,分别是服务器与客户端。服务器只有一个,客户端可有多个。服务器通过串口与PC机连接,需要下载的镜像文件存放于PC机,命令执行器给服务器发命令及镜像文件。首先命令执行器控制服务器广播当前可用的镜像文件信息,客户端收到信息后进行对比,若有与自身相匹配的镜像,则向服务器请求数据。服务器收到请求后向命令执行器索取固定大小的块,再点对点传送给客户端。镜像传输完毕后,客户端进行校验,完成后发送终止信号。

一. 升级方式的对比
OTA升级与平时用到的sd卡升级、串口升级等等大体原理上是一样的,都是对MCU的Flash进行操作而已。
收到升级指令——>MCU复位或者跳转到Boot程序区——>擦除对应的Flash区域——>获取APP数据——>写入FLASH数据——>校验——>跳转到APP应用程序区
OTA与其他本地升级的区别就是:获取数据的方式不同。比如串口升级,就是通过上位机传输到MCU串口上的数据;SD卡升级,就是通过读取SD卡,把程序通过SPI传输到MCU上;而OTA升级,就是通过带无线传输的模块,把程序传输到MCU上。例如:蓝牙、Wifi、GSM等等。不过大部分的无线模块,通过串口把数据传输到MCU上的,只是服务端不再是PC端了,而是网络服务器。

二. 硬件选择
MCU我这里选用的是STM32F030F4P6的芯片,16K的Flash,应该是ST产品中Flash空间比较小的一种,为的就是体现一下小容量的单片机也可以进行OTA升级。
无线模块我使用的是ESP8266,WIfi传输方式,应该也是比较大众化的一款模组。(TTL串口连接MCU)
OTA相关的硬件没有了,剩下的无所谓,都是其他功能的,最好有个LED灯,可以明显的看出是否升
1.jpg

三. 网络服务器的选择
网络服务器多种多样,常用的有阿里云、百度云、腾讯云、移动云等等,有条件的,还可以使用自己的服务器。总之需要实现:网络服务器可以与我们的无线模块进行大数据通信。

四. 网络服务器的传输方式
这里使用的是OneNet的服务器,它的OTA服务是通过Http协议进行传输的,有对应的API,我们可以通过OneNet释放的API去访问OTA服务。

五. OTA升级流程
OneNet的OTA升级流程主要为6步:
1. 上报版本号---客户端(MCU)上报当前的一个版本号
2. 检测升级任务---检查服务器是否有待升级的版本
3. 检测Token有效性---检查Token密钥,可省略
4. 下载固件---应用程序传输
5. 上报升级状态---上报服务端升级是否成功,不成功有对应的响应码

更多详细内容请下载附件查看
游客,如果您要查看本帖隐藏内容请回复

已绑定手机
发表于 2021-8-30 15:49:15 | 显示全部楼层 来自 广东省深圳市南山区
楼主你好,请问使用OneNet的OTA,OneNet平台是怎么收费 ?
已绑定手机
发表于 2022-6-30 19:48:48 | 显示全部楼层 来自 陕西省西安市
支持支持
发表于 2022-7-22 08:56:21 | 显示全部楼层 来自 江苏省无锡市
4213123213213213
已绑定手机
发表于 2023-5-1 13:57:03 | 显示全部楼层 来自 上海市
感谢分享,支持原创
已绑定手机
发表于 2023-8-1 14:18:49 | 显示全部楼层 来自 江苏省徐州市
学习一下。
已绑定手机
发表于 2023-8-3 09:09:24 | 显示全部楼层 来自 吉林省
学习学习
已绑定手机
发表于 2023-12-15 14:22:11 | 显示全部楼层 来自 广东省深圳市
非常想学习一下
已绑定手机
发表于 2023-12-26 21:36:53 | 显示全部楼层 来自 湖北省武汉市
支持原创
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

合作/建议

TEL: 19168984579

工作时间:
周一到周五 9:00-11:30 13:30-19:30
  • 扫一扫关注公众号
  • 扫一扫打开小程序
Copyright © 2013-2024 一牛网 版权所有 All Rights Reserved. 帮助中心|隐私声明|联系我们|手机版|粤ICP备13053961号|营业执照|EDI证
在本版发帖搜索
扫一扫添加微信客服
QQ客服返回顶部
快速回复 返回顶部 返回列表