smartconfig微信一键配网_ESP8266/ESP32 SmartConfig 一键配网+自动重连+微信扫码配网

本文介绍了如何使用SmartConfig实现ESP8266和ESP32设备的一键配网功能,并结合微信扫码配网。在上电时,设备会自动尝试连接WiFi,如果连接失败则启动SmartConfig进行配置。当设备更换路由器或需要重新配置时,提供了一种超时机制确保配置过程顺利进行。同时,代码示例展示了如何设置自动重连和显示网络连接信息。
摘要由CSDN通过智能技术生成

ESP8266使用:#include

ESP32使用:#include

SmartConfig的配置:void SmartConfig()

{

WiFi.mode(WIFI_STA);

Serial.println("\r\nWait for Smartconfig...");

WiFi.beginSmartConfig();

while (1)

{

Serial.print(".");

delay(500); // wait for a second

if (WiFi.smartConfigDone())

{

Serial.println("SmartConfig Success");

Serial.printf("SSID:%s\r\n", WiFi.SSID().c_str());

Serial.printf("PSW:%s\r\n", WiFi.psk().c_str());

break;

}

}

}

上电时自动重连:bool AutoConfig()

{

WiFi.begin();

//如果觉得时间太长可改

for (int i = 0; i < 20; i++)

{

int wstatus = WiFi.status();

if (wstatus == WL_CONNECTED)

{

Serial.println("WIFI SmartConfig Success");

Serial.printf("SSID:%s", WiFi.SSID().c_str());

Serial.printf(", PSW:%s\r\n", WiFi.psk().c_str());

Serial.print("LocalIP:");

Serial.print(WiFi.localIP());

Serial.print(" ,GateIP:");

Serial.println(WiFi.gatewayIP());

return true;

}

else

{

Serial.print("WIFI AutoConfig Waiting......");

Serial.println(wstatus);

delay(1000);

}

}

Serial.println("WIFI AutoConfig Faild!" );

return false;

}

setup( )函数中启用:void setup() {

Serial.begin(115200);

delay(100);

if (!AutoConfig())

{

SmartConfig();

}

}

微信扫码配网

通过SmartConfig一键配网后,如更换路由怎样重新配置

1.每次程序启动后,直接进入SmartConfig配置,设置超时时间,一旦超时则退出SmartConfig配置,在此时间段内可进行配置#include

void SmartConfig()

{

int TimerOverCount=0;

WiFi.mode(WIFI_STA);

Serial.println("WIFI Wait for Smartconfig");

WiFi.beginSmartConfig();

while (1)

{

Serial.printf(".%d",TimerOverCount);

if (WiFi.smartConfigDone())

{

Serial.println("WIFI SmartConfig Success");

Serial.printf("SSID:%s", WiFi.SSID().c_str());

Serial.printf(", PSW:%s\r\n", WiFi.psk().c_str());

Serial.print("LocalIP:");

Serial.print(WiFi.localIP());

Serial.print(" ,GateIP:");

Serial.println(WiFi.gatewayIP());

WiFi.setAutoConnect(true); // 设置自动连接

break;

}

if(TimerOverCount>=15)

{

WiFi.stopSmartConfig();

WiFi.begin();

break;

}

TimerOverCount ++;

delay(1000);

}

}

void setup(void)

{

// Start Serial

Serial.begin(115200);

delay(100);

SmartConfig();

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值