ESA2GJK1DH1K微信小程序篇: 微信小程序APUConfig给WI-Fi模块配网并绑定设备,并通过MQTT控制设备(单片机AT指令版 V1.0 使用SSL连接)
前言
有多少人一直在期盼着小程序可以实现SmartConfig或者Airkiss的功能? 来吧!我的这种方式包您满意.
注:APUConfig 是我自己取的名字(哈哈谁让这种方式,我是第一个在微信小程序上实现的),代表着 AP UDP Config
绑定流程详细说明:
APUConfig小程序端源码:
https://gitee.com/yang456/APUConfig.git
实际上就是控制Wi-Fi模块开热点,控制小程序连接热点,然后通过UDP通信!
实现功能概要
1.小程序使用APUConfig给Wi-Fi模块配网,并获取设备MAC等信息,然后通过MQTT控制绑定的Wi-Fi设备.
2.这节的代码是在安全篇的这节代码上做的修改
只是修改了绑定部分,把SmartConfig绑定修改为了APUConfig绑定
测试准备工作
一,下载单片机程序(请自行下载)
二,安装微信小程序
安装方式1: 此节微信小程序已经发布,可以直接微信扫描安装
安装方式2: 用开发软件打开本节工程,使用预览微信扫码安装到手机
三,调整波动开关位置,STM32和Wi-Fi 串口 通信
测试
一,点击小程序下方的添加设备按钮
二,选择添加Wi-Fi设备
三,输入路由器密码(注:Wi-Fi名称自动获取,也可自己填写)
四.长按PB5大约4S,等待指示灯快闪,松开PB5,Wi-Fi模块进入配网状态
五.点击小程序上的 "绑定设备"按钮,开始搜索设备,绑定成功,将自动跳转到主页面,显示绑定的Wi-Fi设备
5.1 正在尝试连接Wi-Fi模块的热点
5.2 连接上热点,正在和模块通信
5.3 成功绑定设备
六.点击设备,进入控制页面,控制设备
6.1 点击设备
6.2 控制继电器吸合
6.2 控制继电器断开
七,咱主要看的是SSL加密
微信小程序走的443断端口,单片机走的8883端口
结语
其实这一节只是再基础篇连接通信的基础上更改了配网部分
代码提示:
一开始的绑定流程是微信小程序连接wifi的热点以后,
通过UDP每隔1S发送路由器信息给模块
wifi模块收到路由器信息以后去连接路由器
连接上路由器以后把自己的MAC地址和IP地址通过UDP返回给小程序
小程序收到信息以后就认为绑定成功.
但是..
我以前用的好好的,不知是因为微信升级还是因为wifi模块新买的不稳定
微信小程序发给wifi模块路由器信息
wifi模块连接路由器的时候,手机主动和连接的wifi信号断开了....
为了使得大家可以使用该功能绑定,单片机程序临时修改如下:
不过我测试了使用SDK做的APUConfig是没有问题的
说明是AT指令有些问题,应该是有需要注意的地方
用户先这样使用
当前可能出现的问题:
1.用户填写的路由器名称和密码是正确的
微信小程序很快就绑定了,但是要隔一段时间设备才上线
其实是因为程序要执行
2.用户填写的路由器名称和密码不正确
这个就有点尴尬了,微信小程序绑定了,但是设备总是显示离线!!!!
用户先这样使用,因为我想了下要解决这个问题
需要把底层单片机程序和微信的APUConfig程序大动一下!!!
需要大家给点时间!