前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >STM32远程乒乓升级,基于WIFI模块AT指令TCP透传方式,定时访问升级(含数据校验)

STM32远程乒乓升级,基于WIFI模块AT指令TCP透传方式,定时访问升级(含数据校验)

作者头像
杨奉武
发布2019-11-28 20:44:53
1K0
发布2019-11-28 20:44:53
举报
文章被收录于专栏:知识分享知识分享

实现功能概要

  定时使用http访问云端的程序版本,如果版本不一致,然后通过http下载最新的升级文件,实现升级.

测试准备工作(默认访问我的服务器,改为自己的服务器,请看后面说明)

一,下载BootLoader程序(请自行下载)

二,调整波动开关位置,STM32和Wi-Fi 串口 通信

三,短接STM32的PB2和Wi-Fi模块的RST引脚(内部程序使用该引脚硬件复位Wi-Fi)

四.两个串口模块的RX,分别接到单片机的PA9和PA10.

  4.1注:此为监控STM32和Wi-Fi之间的数据,看到更新的过程.

  4.2 示意图

开始测试

一,打开可以配网的APP,给Wi-Fi配网

  请参考基础篇: https://cloud.tencent.com/developer/article/1529818

二,配网成功后,默认重启以后更新程序文件,更新完成以后自动加载更新的用户程序

  下面说明一下监控的数据

  2.1 单片机发送数据,(获取云端程序文件的版本信息)

  2.2 其实就是获取的这个文件

  2.3 获取程序文件

  2.4 如果升级没有问题重启以后运行刚升级进去的用户程序

修改为连接自己的服务器

一,修改BootLoader,和两份用户程序连接的Web服务器的IP地址,端口号信息

二,Http访问程序文件的路径请自行根据自己的修改,我按照我自己的说明

  2.1 根据单片机程序访问的路径,在Web服务器建立文件夹

  2.2 打开上位机软件,计算两份用户程序的SUM值

  2.3 计算第一份用户程序的校验值,并替换SumBin1的字段值

  2.4 计算第二份用户程序的校验值,并替换SumBin2的字段值

  2.5 拷贝记录设备版本的updatainfo.txt文件,和用户程序1文件(Progect.bin),用户程序2文件(Progect2.bin)到服务器

  2.5 最终效果

修改完了按照文章一开始的测试

  升级成功以后用户程序里面在定时询问是不是有新版本

  咱刚升级进去的肯定是新版本.

  咱到云端修改下版本

修改云端版本

一,修改云端版本

二,用户程序检测到新版本,写入更新标志,重启,

 BootLoader获取更新另一份程序,重启,运行新程序

其它

一,可先下载第一份程序到单片机,让单片机默认运行一份程序

  1.1 操作步骤是先下载BootLoader程序(下载进去就可以,不需要任何配置)

  1.2 下载第一份用户程序(程序默认加载第一份用户程序),请按照下面配置下载

此时单片机启动以后便会运行第一份用户程序.

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-11-26 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 实现功能概要
  • 测试准备工作(默认访问我的服务器,改为自己的服务器,请看后面说明)
  • 开始测试
  • 修改为连接自己的服务器
  • 修改完了按照文章一开始的测试
  • 修改云端版本
  • 其它
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档