2020-03-20 esp8266WIFI配置

如题所述

第1个回答  2022-07-13
收集整理2种方法:

1、基本配置方法:

#include    //载入ESP8266WiFi库文件

void setup(){

  Serial.begin(115200);

  Serial.println();

  WiFi.mode(WIFI_STA);//设置esp8266模式为station,关闭AP

  delay(2000);

  WiFi.begin("WIFI1","PASSWORD");  //让esp8266作为station连上手机开的热点,或者路由器 Serial.print("Connecting");

  while (WiFi.status() != WL_CONNECTED)  //判断当前连接状态,若没有连接上,则一直在这儿等待

  {

    delay(500);

    Serial.print(".");

  }

  Serial.println();

  Serial.print("Connected, IP address:");  //输出当前IP地址(局域网地址,网关就是手机),localIP是获取IP的函数(方法)

  Serial.println(WiFi.localIP());

}     

void loop() {

}

2、多wifi配置方法,自动选择信号强的

#include <ESP8266WiFi.h>

#include <ESP8266WiFiMulti.h>

ESP8266WiFiMulti wifiMulti;//建立wifiMulti对象

boolean connectioWasAlive = true;

void setup()

{

Serial.begin(115200);

Serial.println();

wifiMulti.addAP("WIFI1", "PASSWORD1");//这里是这个ESP8266WiFiMulti库特别的地方,使用addAP这个方法,可以给wifiMulti对象添加一个WiFi的信息,包括SSID和password

wifiMulti.addAP("WIFI2", "PASSWORD2");//通过这个方法,添加多个WiFi接入点信息

wifiMulti.addAP("tertiary-network-name","pass-to-tertiary-network");//这里我就只添加两个WiFi接入点了,具体数量根据自己需要选择

}

void monitorWiFi() {

  if(wifiMulti.run() != WL_CONNECTED)

  {

  if (connectioWasAlive == true)

    {    connectioWasAlive = false;

    Serial.print("Looking for WiFi ");

    }

  Serial.print(".");

  delay(500);

  }

else if (connectioWasAlive == false)

  {  connectioWasAlive = true;

  Serial.printf(" connected to %s\n", WiFi.SSID().c_str());

  }

}

void loop() {

monitorWiFi(); //打印连接的SSID

}
相似回答