实现功能概要

  单片机定时使用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 下载第一份用户程序(程序默认加载第一份用户程序),请按照下面配置下载

    

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

  

    

ESA2GJK1DH1K升级篇: STM32远程乒乓升级,基于GPRS模块AT指令TCP透传方式,定时访问升级(含有数据校验)的更多相关文章

  1. ESA2GJK1DH1K升级篇: STM32远程乒乓升级,基于(GPRS模块AT指令TCP透传方式),定时访问升级(兼容Air202,SIM800)

    实现功能概要 单片机定时使用http访问云端的程序版本, 如果版本不一致,然后通过http下载最新的升级文件,实现远程升级STM32. 兼容Air202,SIM800 测试准备工作(默认访问我的服务器 ...

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

    前言 学习此代码所需: 实现功能概要 定时使用http访问云端的程序版本,如果版本不一致,然后通过http下载最新的升级文件,实现升级. 测试准备工作(默认访问我的服务器,改为自己的服务器,请看后面说 ...

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

    实现功能概要 定时使用http访问云端的程序版本,如果版本不一致,然后通过http下载最新的升级文件,实现升级. 测试准备工作(默认访问我的服务器,改为自己的服务器,请看后面说明) 一,下载BootL ...

  4. ESA2GJK1DH1K升级篇: 移植远程更新程序到STM32F103RET6型号的单片机,基于(GPRS模块AT指令TCP透传方式)

    前言 上节实现远程更新是更新的STM32F103C8T6的单片机 GPRS网络(Air202/SIM800)升级STM32: 测试STM32远程乒乓升级,基于(GPRS模块AT指令TCP透传方式),定 ...

  5. ESA2GJK1DH1K升级篇: STM32远程乒乓升级,基于(Wi-Fi模块AT指令TCP透传方式),MQTT通信控制升级

    实现功能概要 前面的版本都是,定时访问云端的程序版本,如果版本不一致,然后下载最新的升级文件,实现升级. 这一节,在用户程序里面加入MQTT通信,执行用户程序的时候,通过接收MQTT的升级命令实现升级 ...

  6. ESA2GJK1DH1K升级篇: STM32远程乒乓升级,基于Wi-Fi模块AT指令TCP透传方式,MQTT通信控制升级(含有数据校验)-APP用户程序制作过程

    前言 这一节和上一节是搭配的 给大家鱼,也必须给鱼竿! 我期望自己封装的代码,无论过了多少年都有应用的价值! 这节说明一下制作APP用户程序的过程 咱是用MQTT通信控制模块实现升级,所以首先自己的程 ...

  7. ESA2GJK1DH1K升级篇: STM32远程乒乓升级,基于GPRS模块(Air202,SIM800)AT指令TCP透传方式,MQTT通信控制升级

    实现功能概要 这节和上一节的功能一样(只不过上节是利用Wi-Fi模块,这节是利用GPRS模块) 用户程序里面加入MQTT通信,执行用户程序的时候, 通过接收MQTT的升级命令实现升级. 凡是可以实现M ...

  8. ESA2GJK1DH1K升级篇: STM32远程乒乓升级,基于Wi-Fi模块(ESP8266)AT指令TCP透传方式,MQTT通信控制升级(加入数据校验)

    前言 这节演示下,上两节写的利用MQTT来控制STM32控制的程序 测试准备工作(默认访问我的服务器,改为自己的服务器,请看后面说明) 一,下载BootLoader程序(请自行下载) 首先BootLo ...

  9. ESA2GJK1DH1K升级篇: STM32远程乒乓升级,升级流程源码详细说明

    前言 1.BootLoader程序,升级简要流程图 2.其实主要的就是把程序文件写入环形队列,然后环形队列取出来数据写入Flash 3.用户程序,简要流程图 下面的读一下,有个印象就可以: 说白了就是 ...

随机推荐

  1. 将Prometheus alerts保存到elasticsearch

    Prometheus产生的告警通常会发送到alertmanager,当使用alertmanager时,其告警信息仅存在于alertmanager的内存中,无法持久化.故实现了小工具,用于将Promet ...

  2. SWIG 3 中文手册——1. 前言

    目录 1 前言 1.1 引言 1.2 SWIG 版本 1.3 SWIG 许可证 1.4 SWIG 资源 1.5 前提要求 1.6 本手册的组织构成 1.7 如何避免阅读手册 1.8 向后兼容 1.9 ...

  3. Ceph更换OSD磁盘

    目录 简介 更换OSD操作步骤 1. 故障磁盘定位 2. 摘除故障磁盘 3. 重建raid0 4. 重建osd 控制数据恢复及回填速度 简介 首先需要说明的是,ceph的osd是不建议做成raid10 ...

  4. [转帖]Linux监测某一时刻对外的IP连接情况

    Linux监测某一时刻对外的IP连接情况 https://blog.csdn.net/twt326/article/details/81454171 公司机器有病毒 需要分析一下. 之前有需要,在CS ...

  5. IDEA Rider使用64位IISExpress(3)

    将原来的Programe Files(x86)修改为不带x86的即可.

  6. 科xue上网工具

    原来这样严格了吗 收藏一个工具列表: http://next.36kr.com/posts/collections/75

  7. 【UOJ#33】【UR #2】树上GCD(长链剖分,分块)

    [UOJ#33][UR #2]树上GCD(长链剖分,分块) 题面 UOJ 题解 首先不求恰好,改为求\(i\)的倍数的个数,最后容斥一下就可以解决了. 那么我们考虑枚举一个\(LCA\)位置,在其两棵 ...

  8. Redis(五)事务

    Redis(五)事务 引用wiki中关于事务处理的定义: Transaction processing is information processing in computer science th ...

  9. 《 .NET并发编程实战》阅读指南 - 第11章

    先发表生成URL以印在书里面.等书籍正式出版销售后会公开内容.

  10. .net core启用 autoMapper

    启用 autoMapper   autoMapper 基于约定的对象映射器 目录 安装包 添加服务 书写映射关系 安装包   需要安装两个包:AutoMapper和AutoMapper.Extensi ...