• 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!

    竟然敢坑我!小样!

    我就静静的看着你!

  • 相关阅读:
    Thinkphp 控制器
    Thinkphp 框架基础
    smarty练习:考试系统
    smarty 自定义函数
    smarty 变量调节器
    python 格式化的三种方法
    python 随机生成汉字
    python中的and和or用法
    pytest 运行用例报错:unknown hook 'pytest_namespace' in plugin <module 'allure.pytest_plugin'
    Jenkins安装插件报错:该Jenkins实例似乎已离线
  • 原文地址:https://www.cnblogs.com/yangfengwu/p/12784107.html
Copyright © 2020-2023  润新知