esp8266自动配网 wifimanager

wifimanager库

 esp8266

启动后连接WiFi时,连接WiFi失败时,会启动ap模式让客户连接   客户使用手机或者电脑连接esp8266建立的WiFi网络通过页面进行WiFi配置

这种方法虽然解决了配网的问题但是操作相对繁琐

一键配网模式

smartconfig 需要使用手机app将wifi账号密码发送给目标板

工作原理  通过手机app端发送包含WiFi信息的udp广播包,智能中断的wifi芯片可以接收到该udp包

知道udp包的组成形式,就可以通过接受到的udp包解密出的wifi密码  。然后智能硬件配置到收到的用户名密码到指定的WiFi AP上。

简单理解的操作步骤如下:

  1. 8266端作为Station,进入Smartconfig模式,等待手机端发送用户民和密码;
  2. 手机端把填写当前网络的密码通过UDP广播;
  3. 8266获取UDP包后配置,连接网路;                                                                      

 在乐鑫官网找到相对应的手机app下载

 #include <ESP8266WiFi.h>
 
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);//返回值一般为6说明未连接
          delay(1000);
        }
    }
    Serial.println("WIFI AutoConfig Faild!" );
    return false;
}
 
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());
      Serial.print("IP Address: ");
      Serial.println(WiFi.localIP());
      break;
    }
  }
}
void setup()
{
    Serial.begin(115200);
    if(!AutoConfig)
    {
    SmartConfig();
    }
    
}
void loop(){
}

  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值