ESA2GJK1DH1K微信小程序篇: 微信小程序APUConfig给WI-Fi模块配网并绑定设备,并通过MQTT控制设备(ESP8266_SDK开发版)

 

 

 

前言

 有多少人一直在期盼着小程序可以实现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("\nAPU_STATUS_GETING_DATA:%s\n",pdata);
            break;
        case APU_STATUS_LINK_SSID_PSWD://开始连接路由器
        {
            struct station_config *sta_conf = pdata;
            os_printf("\nAPU_STATUS_LINK_SSID_PSWD: %s  %s",sta_conf->ssid,sta_conf->password);//打印连接的路由器信息
            break;
        }
        case APU_STATUS_LINKED://连接上路由器
        {
            os_printf("\nAPU_STATUS_LINKED: %s\n",pdata);//打印分配的IP地址
            break;
        }
        case APU_STATUS_UDPSEND://模块返回给APP数据
            os_printf("\nAPU_STATUS_UDPSEND:%s\n",pdata);
            break;
        case APU_STATUS_LINK_OVER://配网结束
            apuconfig_stop();//结束apuconfig
            SmartConfigFlag=0;
            break;
    }
}

 

 

 这样就可以了

 

提示:

一般咱用一个按钮长按一段时间后启动配网!

 

 

 

注意:

配网结束以后,为了让手机能够断开和模块的无线连接,

让手机可以连接到原先上网的路由器

我设置了更换到Station模式

 

 

 

当然也可以在下面位置设置重新启动

 

posted on 2020-04-10 03:19  广源时代  阅读(1543)  评论(0编辑  收藏  举报

导航

支付宝 QQ群