一、配网库-BGWiFiConfig的介绍
Arduino一键配网的操作,可参考文章基于Arduino IDE 野火ESP8266模块 一键配网 的开发,因为操作没有成功,所以网上搜索发现了一个好用的配网库BGWiFiConfig。
BGWiFiConfig:一个为esp8266和esp32设计的简单易用Arduino配网库,可通过api配置WiFi网络,支持GET和POST请求配置;可通过微信小程序配网(小程序名:配网库);可通过默认网页配置WiFi网络;可自定义配网页面;可通过OTA网页升级程序固件。
网址:
https://www.cbug.top/1app/bgwificonfig/#/
API接口
void begin();
void Loop();
void clearWiFi();
void setPWWiFi(String ssid, String pwd);
void setWiFiTimeOut(int sectime);
void setZDYhtml(String html);
void setZDYhtmlret(String html);
void outWiFiSET(bool tag);
void offSerial(bool tag);
void autoStart(bool tag);
void offConnectWiFi(bool tag);
void setNumUMSG(int i);
String readUMSG(int i);
String readWiFi(int i);
String retRUNTAG();
String retWiFiSET();
bool OK(bool tag = false);
String& setApiRet(int i);
void OTAbegin();
void OTALoop();
String getOTAIP();
void setOTAhtml(String html);
void setOTATimeOut(int sectime);
void setOTAWiFiSTA(String ssid, String pwd);
void setOTAWiFiAP(String ssid, String pwd, String ip = "192.168.33.33");
void setOTAWiFiAPSTA(String APssid, String APpwd, String STAssid, String STApwd , String ip = "192.168.33.33");
配网方式
1.通过api配网【推荐】
①将BGWiFiConfig库的示例代码easy_demo烧录至你的开发板
②手机或电脑连接WiFi:WiFi配网
③通过GET请求配网
GET请求配网
④通过POST请求配网
POST请求配网
2.通过默认页面配网
①将BGWiFiConfig库的示例代码easy_demo烧录至你的开发板
②手机或电脑连接WiFi:WiFi配网
③打开浏览器访问 http://192.168.22.22:2022
④填写配网信息,点击开始配网,并等待写入成功的提示。
⑤重启开发板即可。
3.通过自定义页面配网
①将BGWiFiConfig库的示例代码zdyhtml_demo烧录至你的开发板
②手机或电脑连接WiFi:WiFi配网
③打开浏览器访问 http://192.168.22.22:2022/html
④填写配网信息,点击开始配网,并等待写入成功的提示。
⑤重启开发板即可。
4.通过微信小程序配网
微信小程序搜索【配网库】
二、测试代码
参考官方代码。修改后,串口指令可清除配网信息,重新进行配网,代码如下:
#include <BGWiFiConfig.h>
BGWiFiConfig wifipw;
void setup() {
Serial.begin(115200);
Serial.println();
wifipw.begin();
}
void loop() {
char rxBuf[10];
wifipw.Loop();
if( Serial.available() ) //检查串口是否有数据
{
String data = Serial.readStringUntil('\n');//读取数据
Serial.println("Rx:");
Serial.println(data);
std::memset(rxBuf,0,sizeof(rxBuf));
strcpy(rxBuf,data.c_str());
if(strcmp("wifiClear", rxBuf)==0)
wifipw.clearWiFi();
}
}
三、测试结果
程序编译,下载到野火esp8266模块,运行提示如下:
电脑连接WiFi,名称为WiFi配网,无密码,连接该网络
打开网页输入ip和端口号,输入要连接的wifi账号和密码
192.168.22.22:2022
串口打印信息提示
重启设备即可,重启之后的打印信息
串口发送指令wifiClear 清除配网信息,重新配置