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 ESP32/8266 利用EEPROM对数据进行读写操作