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

 

 

 

 

前言

  这节演示下,基于GPRS模块(air202)AT指令TCP透传方式,MQTT通信控制升级STM32程序

 

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

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

  

 

首先BootLoader默认是先尝试加载第一份用户程序

后面咱分为两种情况:

人为下载进去第一份APP用户程序和不下载进去第一份APP用户程序

 

 

第一种:人为下载进去第一份APP用户程序

  一,注:咱的目的是把相应的程序文件烧录到相应的位置

  为避免清除BootLoader程序,下载的时候按照下面的选择

  这样在不清除BootLoader程序的情况下,就把第一份用户程序烧录进了相应的位置

 

  

 

 

 

 

  

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

  

  

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

  

 

 

三,安装APP

    注:这节APP和上一节是一个APP

    

 

 

 

        

    

 

 

开始测试

一.打开手机APP,点击右上角菜单 "扫一扫"  扫描模块上面的二维码,模块的二维码就是这个模块的IMEI号,扫描成功将在主页面添加一个设备.

       

 

 

二.点击设备进入设备控制页面

2.1 点击检查更新

 

 

 

 

2.2 点击确认

 

 

2.3 设备开始更新固件

 

 

2.4 更新完成

 

 

 

2.5 如果再点击检查更新

 

 

第二种:只下载BootLoader

一,我在BootLoader里面也是按钮按下3S左右指示灯快闪

  清除版本号,写入升级标志,重启

  

 

 

 

 

二,有了更新标志,再次启动 BootLoader的时候就去下载程序文件了

  下载完以后执行程序文件

  其实就和上面的一样了

 

 

程序说明(BootLoader程序)

1.因为前面测试wifi升级的时候把制作过程写的很详细了

请大家把以下四节先看完

 

 

 

2.对于GPRS模块而言只不过是修改了下控制连接TCP然后实现透传的地方而已

 

 

 

3.Wi-Fi模块和GPRS模块都是配置透传,自然后期的处理基本都是一样的

只是由于GPRS模块的通信延迟问题,我修改了下串口空闲时间

 

 

 

 

4.提醒一个地方

BootLoader里面我测试的使用115200接收数据会出现问题,

下载一切正常,但是执行用户程序的时候执行连接tcp的那个地址不正确!!!

正在找原因!!!也许是因为调高了软件优化等级导致的!

所以我把波特率降到了76800

 

 

 

 

 

程序说明(用户程序)

1.用户程序就是把基础篇里面的1.0版本的通信控制程序拷贝了过来,

然后按照这篇文章加上了升级处理程序

 

 

 

 

 

结语

其它的细节用户直接看wifi是如何实现的部分即可!

有些喜欢快餐文化的朋友也许会抱怨,我就想直接知道GPRS

的程序怎么制作的!

给大家提个醒:我的程序包不挑模块!这才是重点!

你所要做的是先用一个模块学会使用我的底层就可以了

后面的话你愿意移植到什么模块上就移植到什么模块上!

我自己制作的程序包通用性很强,这才是它的价值所在!

学会使用以后将大大提高开发速度!

唉,正因为如此出现了个别人为了做公司项目来我这里骗代码的!!

今天又来一个......

不过我代码故意弄了一个bug,只有确认收货以后我才会说哪里有bug!

竟然敢坑我!小样!

我就静静的看着你!

 

posted on 2020-04-27 03:42  广源时代  阅读(498)  评论(0编辑  收藏  举报

导航

支付宝 QQ群