zoukankan      html  css  js  c++  java
  • ESA2GJK1DH1K升级篇: STM32远程乒乓升级,基于GPRS模块AT指令TCP透传方式,定时访问升级

    实现功能概要

      单片机定时使用http访问云端的程序版本,如果版本不一致,

      然后通过http下载最新的升级文件,实现远程升级STM32程序.

      兼容Air202 ,SIM800

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

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

      

    二,调整波动开关位置,STM32和GPRS 串口1 通信

      

      

    二,别忘了插手机卡,还有安装上天线

      

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

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

        

      4.2 示意图

        

        

    开始测试

    一.当前只下载了BootLoader程序,在BootLoader程序里面实现更新,需要按照下面操作

      长按PB5大约4S,等待指示灯快闪,松开PB5,指示灯闪耀3S以后,程序写入更新标志位,然后重启 

        

    二.监控的数据

      

      

    三.实际应用请使用一个引脚控制模块重启

      3.1 请在每个程序文件的此处修改(注,本人的板子现在未引出复位引脚,下一批板子将跟进)

        

      

      3.2 如果没有复位可能出现一直发送  AT+CIPSHUT ,模块要等到好久才有反应

      现在测试可人为进行复位!

        

    四.运行用户程序,每隔30S访问一次云端程序版本

      

    修改为连接自己的服务器

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

      

       

      

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

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

        

        

      

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

        

        

        

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

        

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

        

      

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

        

        

        

      最终效果

        

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

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

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

      咱到云端修改下版本

    四,修改云端版本

      

      

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

      

    其它

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

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

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

        

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

      

        

  • 相关阅读:
    ubuntu下安装配置apache2(含虚拟主机配置)
    ubuntu安装软件包apt-get和dpkg方法
    python日期,时间函数
    python多线程
    截取utf8中文字符串
    python解析json
    sqlite读写
    lambda,map,filter,reduce
    pyinstaller生成exe可执行程序
    对象练习
  • 原文地址:https://www.cnblogs.com/yangfengwu/p/11939476.html
Copyright © 2011-2022 走看看