本站改版新增arduino频道

Micropython
Arduino

arduino ESP32SmartConfig配网


arduino ESP32SmartConfig配网

#include <WiFi.h>
#include <esp_wifi.h>     //用于esp_wifi_restore() 删除保存的wifi信息
void SmartConfig()
{ 
  // WiFi.mode(WIFI_AP_STA);
   WiFi.mode(WIFI_STA);
   Serial.println("\r\n wait for smartconfig....");
   WiFi.beginSmartConfig();
     while(1)
   {
    Serial.print(".");
    delay(500);
    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 )  
       {
       esp_wifi_set_storage(WIFI_STORAGE_RAM);  //自动保存wifi信息
      Serial.println("wifi smartConfig success");
      Serial.printf("SSID:%s", WiFi.SSID().c_str());
      Serial.printf(",PWS:%s\r\n", WiFi.psk().c_str());
      Serial.print("localIP:");
      Serial.println(WiFi.localIP());
      Serial.print(",GateIP:");
      Serial.println(WiFi.gatewayIP());
      WiFi.setAutoReconnect(true);  // 设置自动连接    
          return true;
       }
       else
       {
          Serial.print("WIFI AutoConfig Waiting ....");
          Serial.println(wstatus);
          delay(1000);
       }   
  }
  Serial.println("Wifi autoconfig faild!");
  return false;
  }
  
void setup() {
  Serial.begin(115200);
  if (!AutoConfig())
  {
   SmartConfig();
  }  
  //esp_wifi_restore();  //删除保存的wifi信息
  
}
 
void loop() {
  // put your main code here, to run repeatedly:
 
}



推荐分享
图文皆来源于网络,内容仅做公益性分享,版权归原作者所有,如有侵权请告知删除!
 

Copyright © 2014 ESP56.com All Rights Reserved
晋ICP备14006235号-22 晋公网安备14108102001165号

执行时间: 0.0097019672393799 seconds