ESP8266获取WiFi信息相关函数

Posted perseverance52

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ESP8266获取WiFi信息相关函数相关的知识,希望对你有一定的参考价值。

ESP8266获取WiFi信息相关函数

  • 程序所使用的esp8266固件版本:3.0.2版本
  • 相关库文件本地位置:C:\\Users\\Administrator\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.2\\libraries\\ESP8266WiFi\\src文件夹下的ESP8266WiFiSTA.h
#include <ESP8266WiFi.h>
const char*ssid="CMCC-DyVv";
const char*password="pba5ayzk";
bool autoConnect = true;//设置自动连接所需变量
void setup()
{
  Serial.begin(115200);
  Serial.println();
  Serial.println("开始连接");
  Serial.println("检查自动连接设置状态");
   if (WiFi.getAutoConnect() == true) {
    Serial.println("已设置自连接");
  }
  else
    Serial.println("未设置连接");
  
  WiFi.setAutoConnect(autoConnect);//启用自动连接模式
  delay(500);//启用自动连接后再检查一次,确定设置变化
  
  Serial.println("再次检查自动连接设置状态");
  if (WiFi.getAutoConnect() == true) {
    Serial.println("已设置自连接");
  }
  else
    Serial.println("未设置连接");
  
  //调用 WiFi.begin()函数,开始连接接入点
  
  WiFi.begin(ssid, password);
  Serial.print("Connecting...");
  uint8_t i=0;//用来判定连接是否超时的累加量
  while (WiFi.status() != WL_CONNECTED)
  {
   i++;
    delay(500);
    Serial.print(".");
    if (i > 120) { //60秒后如果还是连接不上,就判定为连接超时
      Serial.print("连接超时!请检查网络环境");
      break;
    }
  }
  Serial.println("网络连接成功");

  Serial.print("Connected, IP address: ");
  Serial.println(WiFi.localIP());
  Serial.println(" The following is the ESP8266 hardware information: ");
  wifi_date();
}

void loop() {}
void wifi_date(){
  //mac地址
 // Serial.println(WiFi.macAddress().c_str());
   Serial.printf("macAddress = %s\\n",WiFi.macAddress().c_str());
   IPAddress myIP = WiFi.localIP(),
   wayIP=WiFi.gatewayIP(),
   netMask=WiFi.subnetMask(),
   broadcastIP=WiFi.broadcastIP();
    //IP地址
  Serial.print("AP IP address: ");
  Serial.println(myIP);
   //网关地址
  Serial.print("STA IP wayIP: ");
  Serial.println(wayIP);
  //子掩码
    Serial.print("netMask: ");
  Serial.println(netMask);
  //广播地址
      Serial.print("broadcastIP: ");
  Serial.println(broadcastIP);
  
  const String  ssid = WiFi.SSID();
 const  String  password = WiFi.psk();
  Serial.println(ssid);
  Serial.println(password);
        //DNS
      Serial.print("DNS 1: ");
      Serial.println(WiFi.dnsIP(0));
      Serial.print("DNS 2: ");
      Serial.println(WiFi.dnsIP(1));
   
  Serial.printf("BSSIDstr: %s ,%d \\n",WiFi.BSSIDstr().c_str(),WiFi.RSSI());
    Serial.print("当前工作模式:");     // 当前工作模式
  Serial.println(WiFi.getMode());
}
  • 串口打印信息

相关函数

  • WiFi.getAutoConnect:可以获取当前ESP8266模块是否设置为自动连接上次使用的WiFi接入点。
  • WiFi.setAutoConnect:设置为自动连接WiFi

以上是关于ESP8266获取WiFi信息相关函数的主要内容,如果未能解决你的问题,请参考以下文章

Arduino ESP8266 AP网络模式下运用示例

ESP8266获取NTP时间戳获取和转换

ESP8266硬件信息查看并打印输出

Arduino ESP32/8266 利用EEPROM对数据进行读写操作

Arduino ESP8266利用HTTPClient库 获取心知天气请求实例

请教怎样配置ESP8266的WiFi帐户及密码