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!
竟然敢坑我!小样!
我就静静的看着你!