ESA2GJK1DH1K升级篇: STM32远程乒乓升级,基于(WIFI模块AT指令TCP透传方式),定时访问升级

 

 

前言

   学习此代码所需:

  

 

 

               

实现功能概要

定时使用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://www.cnblogs.com/yangfengwu/p/11760590.html

  

  

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

  2.1 单片机发送数据,TX端数据监控

  

 

 

  2.1 单片机接收数据,RX端数据监控

  

 

 

  

 

 

  

 

修改为连接自己的服务器

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

  

 

 

 

  

 

 

  

 

  

 

 

 

 

 

 

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

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

  

 

 

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

 

  

 

 

  

 

 

  

 

 

  最终效果

 

  

 

 

三,大家设置完自己的,重新按照上面的测试一下,看下可不可以测试通过

  如果有问题,可自行找原因,或者在QQ群里面询问:607064330

 

四,修改云端版本

  

 

 

 

五,用户程序检测到新版本,写入更新标志,重启,更新另一份程序,重启,运行新程序

  

 

 

 

五,测试程序有问题,实现程序回滚

  5.1 下次该更新程序2了,咱把程序2文件打开以后随便折腾下

    自己随意改改,或者增加点,或者删除点

  

 

 

 

 

六,修改完以后,保存下,然后改一下版本号,让软件把有问题的程序更新进去

 

  

  

七,看下打印的信息

 

  

 

 

   注:现在是定时访问程序文件,如果程序文件一直有问题,将会一直如此循环

  正常使用时,自己把程序文件放到服务器以后,自己测试没有问题以后再改变版本号.

  该测试是测试假设写入的程序文件里面的数据有问题时,实现程序回滚

其它

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

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

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

  

 

 

 

 

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

 

posted on 2019-10-09 05:28  广源时代  阅读(1260)  评论(0编辑  收藏  举报

导航

支付宝 QQ群