这节演示下,上两节写的利用MQTT来控制STM32控制的程序
一,下载BootLoader程序(请自行下载)
首先BootLoader默认是先尝试加载第一份用户程序
后面咱分为两种情况:
人为下载进去第一份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里面也是按钮按下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服务器文件访问路径根据自己的修改