前言
有多少人一直在期盼着小程序可以实现SmartConfig或者Airkiss的功能? 来吧!我的这种方式包您满意.
注:APUConfig 是我自己取的名字(哈哈谁让这种方式,我是第一个在微信小程序上实现的),代表着 AP UDP Config
绑定流程详细说明:
APUConfig小程序端源码:
https://gitee.com/yang456/APUConfig.git
实际上就是控制Wi-Fi模块开热点,控制小程序连接热点,然后通过UDP通信!
实现功能概要
这节是用SDK直接开发的ESP8266
然后实现微信小程序用APUConfig方式配网绑定8266,最后通过MQTT通信控制
提醒:
本教程SDK开发的源码,全部按照针对于开发人员讲解!
本教程SDK开发的源码只说明怎么用和代码处理思路!
如果没有基础,请先学习SDK开发的基础教程!
说明
为了能让用户轻松的移植使用,我封装成了以下文件
教程最后会说明如何移植到自己的项目!
下载程序
提醒:V2.5.1及其以上PCB版本,单片机的PB2内部直接连接了Wi-Fi的复位引脚,单独开发Wi-Fi时请保持单片机的PB2引脚为高电平!
提醒:V2.5.1及其以上PCB版本,单片机的PB2内部直接连接了Wi-Fi的复位引脚,单独开发Wi-Fi时请保持单片机的PB2引脚为高电平!
提醒:V2.5.1及其以上PCB版本,单片机的PB2内部直接连接了Wi-Fi的复位引脚,单独开发Wi-Fi时请保持单片机的PB2引脚为高电平!
可以把boot0接3.3V,然后复位下STM32,不要让STM32工作!
可以把boot0接3.3V,然后复位下STM32,不要让STM32工作!
可以把boot0接3.3V,然后复位下STM32,不要让STM32工作!
1.调整拨动开关让WIFI和电脑串口通信
2.按下固件(WIFI)按钮 (IO0引脚)
3.按下复位按钮
4.松开复位按钮
5.松开固件按钮
此时,模块进入等待刷固件状态
安装微信小程序
安装方式1: 此节微信小程序已经发布,可以直接微信扫描安装
安装方式2: 用开发软件打开本节工程,使用预览微信扫码安装到手机
小程序配网绑定控制
一,点击小程序下方的添加设备按钮
二,选择添加Wi-Fi设备
三,输入路由器密码(注:Wi-Fi名称自动获取,也可自己填写)
四:长按 固件按钮(GPIO0)大约3S,直至指示灯快闪,
内部默认用GPIO0检测按键输入
五.点击小程序上的 "绑定设备"按钮,开始搜索设备,绑定成功,将自动跳转到主页面,显示绑定的Wi-Fi设备
5.1 正在尝试连接Wi-Fi模块的热点
5.2 连接上热点,正在和模块通信
5.3 成功绑定设备
六.点击设备,进入控制页面,控制设备
七, 控制LED
注意:SDK程序是控制的其 GPIO5引脚
移植使用
1.用户把以下两个文件拷贝到自己的工程
2.包含头文件(具体路径依据自己的自行修改)
3.启动APUConfig配网
apuconfig_start(apuconfig_callback,60);//启动apuconfig配网
/*** *apuconfig 配网回调函数 */ void apuconfig_callback(apuconfig_status status, void *pdata){ switch(status) { case APU_STATUS_GETING_DATA://获取了APP发送的数据 os_printf(" APU_STATUS_GETING_DATA:%s ",pdata); break; case APU_STATUS_LINK_SSID_PSWD://开始连接路由器 { struct station_config *sta_conf = pdata; os_printf(" APU_STATUS_LINK_SSID_PSWD: %s %s",sta_conf->ssid,sta_conf->password);//打印连接的路由器信息 break; } case APU_STATUS_LINKED://连接上路由器 { os_printf(" APU_STATUS_LINKED: %s ",pdata);//打印分配的IP地址 break; } case APU_STATUS_UDPSEND://模块返回给APP数据 os_printf(" APU_STATUS_UDPSEND:%s ",pdata); break; case APU_STATUS_LINK_OVER://配网结束 apuconfig_stop();//结束apuconfig SmartConfigFlag=0; break; } }
这样就可以了
提示:
一般咱用一个按钮长按一段时间后启动配网!
注意:
配网结束以后,为了让手机能够断开和模块的无线连接,
让手机可以连接到原先上网的路由器
我设置了更换到Station模式
当然也可以在下面位置设置重新启动