ESP8266的3种配网方式

1、直接把账号密码写到程序中,每次上电都从程序中定义好的账号密码进行配对连接。

#include 
 
#define AP_SSID "xxx" //这里改成你的wifi名字
#define AP_PSW  "xxxxxxxx"//这里改成你的wifi密码

void setup(){
  //设置串口波特率,以便打印信息
  Serial.begin(115200);
  //延时2s 为了演示效果
  delay(2000);
  Serial.println("Setup start");
  //启动STA模式,并连接到wifi网络
  WiFi.begin(AP_SSID, AP_PSW);
 
  Serial.println(String("Connecting to ")+AP_SSID);
  //判断网络状态是否连接上,没连接上就延时500ms,并且打出一个点,模拟正在连接
  while (WiFi.status() != WL_CONNECTED){
    delay(500);
    Serial.println(".");
  }
  Serial.println("");
 
  Serial.println("Connected, IP address: ");
  //输出station IP地址,这里的IP地址由DHCP分配
  Serial.println(WiFi.localIP());
  Serial.println("Setup End");
}
 
void loop() {
}

2、一键配网(大家都叫airkiss)

将以下代码烧录到开发版中,会先进行配网,如果没有配网就会进入airkiss配网模式,这时候可以打开乐鑫信息科技公众号提供的一件配网工具,我的airkiss设备将自己手机连接的网络共享给开发板。

#include 

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(){
}

3、Wi-FiManager配网,此种配网方式会先将自己制为AP模式,此时手机或者电脑作为sta接入该ap,然后登陆指定的IP进行配网,此外还可以查看开发板的flash剩余空间等信息。

#include 
//程序进入ap模式后串口会打印ip地址,进入即可
void setup() {
    WiFi.mode(WIFI_STA); // 设置模式,esp默认为STA+AP
    Serial.begin(115200);
    WiFiManager wm;  //定义manager对象
    bool res;
    res = wm.autoConnect("AutoConnectAP","password"); //定义ap名称和密码
    if(!res) {
        Serial.println("Failed to connect");
        // ESP.restart();
    } 
    else {
        //if you get here you have connected to the WiFi    
        Serial.println("connected...yeey :)");
    }
}

void loop() {
    // put your main code here, to run repeatedly:   
}

你可能感兴趣的:(ESP8266,物联网)