前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ESA2GJK1DH1K升级篇: STM32远程乒乓升级,基于Wi-Fi模块(ESP8266)AT指令TCP透传方式,MQTT通信控制升级(加入数据校验)

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

作者头像
杨奉武
发布2019-12-24 11:20:02
4870
发布2019-12-24 11:20:02
举报
文章被收录于专栏:知识分享知识分享

前言

  这节演示下,上两节写的利用MQTT来控制STM32控制的程序

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

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

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

后面咱分为两种情况:

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

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

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

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

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

  提示:

    APP用户程序里面也是按下按钮3S执行配网

    只不过配网以后是连接MQTT服务器

  二,调整波动开关位置,STM32和Wi-Fi 串口 通信

  三,短接STM32的PB2和Wi-Fi模块的RST引脚(内部程序使用该引脚硬件复位Wi-Fi)

  四,安装这节使用的APP

    注:这节APP其实就是前面的

  五,绑定配网

    5.1 打开手机APP,点击右上角菜单 "添加设备" ,手动输入自家路由器密码.(路由器名称为自动获取,不需要用户填写)

    5.2,长按PB5大约4S,等待指示灯快闪,松开PB5,Wi-Fi模块进入配网状态

    5.3,点击APP的搜索设备按钮,开始搜索设备,搜索成功,将自动跳转到主页面,并显示设备

    5.4,单片机控制Wi-Fi连接上MQTT服务器以后,指示灯1S闪耀

    5.5, 点击设备进入,设备控制页面,点击最下面的检查更新

      点击检测更新的时候,其实就是APP首先通过MQTT询问设备的型号和版本号

      然后根据型号,用http访问Web服务器里面的 updatainfo.txt 文件

      如果判断版本不一致,就提示更新

    5.6  点击确认

    5.7  模块返回他要更新了

    5.8  更新完成

    5.9  如果再点击更新

    后面大家有了新程序以后,替换掉Web里面的文件,然后改一下  updatainfo.txt 里面的信息就可以

第二种:只下载BootLoader

  一,大家还记得咱在BootLoader里面也是按钮按下3S左右配网

  不过配网以后是写入更新标志,重启

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

  下载完以后执行程序文件

  其实就和上面的一样了

应用到自己的服务器

  一,BootLoader里面

    1.1 TCP连接的Web服务器的地址

    1.2 请求的 updatainfo.txt 文件的路径

    1.3 请求的程序文件的路径

  二,APP用户程序里面

    2.1 设备型号要和BootLoader里面的保持一致

  三, 修改APP

    3.1 访问的MQTT信息

    3.2,修改APP访问的http信息

  四, Web服务器文件访问路径根据自己的修改

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-12-21 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 测试准备工作(默认访问我的服务器,改为自己的服务器,请看后面说明)
  • 第一种:人为下载进去第一份APP用户程序
  • 第二种:只下载BootLoader
  • 应用到自己的服务器
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档