解决esp8266无法连接手机和电脑热点的问题

1、硬件平台
在这里插入图片描述
我使用的是Esp8266 NodeMcu(Esp-12s)
2、开发环境
Arduino IDE
3、开发板型号选择
在这里插入图片描述
4、AP模式

#include <ESP8266WiFi.h>        // 本程序使用ESP8266WiFi库
 
const char *ssid = "Fle"; // esp8266建立的wifi名称
                                  
 
const char *password = "gxd001213";  //esp8266建立的wifi密码
                                 
 
void setup() {
    
    
  Serial.begin(9600);              // 启动串口通讯
 
  WiFi.softAP(ssid, password);     // 此语句是重点。WiFi.softAP用于启动NodeMCU的AP模式。
                                   // 括号中有两个参数,ssid是WiFi名。password是WiFi密码。
                                   // 这两个参数具体内容在setup函数之前的位置进行定义。
 
  
  Serial.print("Access Point: ");    // 通过串口监视器输出信息
  Serial.println(ssid);              // 告知用户NodeMCU所建立的WiFi名
  Serial.print("IP address: ");      // 以及NodeMCU的IP地址
  Serial.println(WiFi.softAPIP());   // 通过调用WiFi.softAPIP()可以得到NodeMCU的IP地址,固定为192.168.4.1

}
 
void loop() {
    
     
}

在这里插入图片描述
在这里插入图片描述
5、STA模式

#include <ESP8266WiFi.h>        // 本程序使用ESP8266WiFi库
 
const char* ssid     = "Fle";      // 连接WiFi名(此处使用手机热点Fle)
                                            
const char* password = "gxd001213";          // 连接WiFi密码
                                           
                                            
void setup() {
    
    
  Serial.begin(115200);         // 启动串口通讯
  
  WiFi.begin(ssid, password);                  // 启动网络连接
  Serial.print("Connecting to ");              // 串口监视器输出网络连接信息
  Serial.print(ssid); Serial.println(" ...");  // 告知用户NodeMCU正在尝试WiFi连接
  
  int i = 0;                                   // 这一段程序语句用于检查WiFi是否连接成功
  while (WiFi.status() != WL_CONNECTED) {
    
          // WiFi.status()函数的返回值是由NodeMCU的WiFi连接状态所决定的。 
    delay(1000);                               // 如果WiFi连接成功则返回值为WL_CONNECTED                       
    Serial.print(i++); Serial.print(' ');      // 此处通过While循环让NodeMCU每隔一秒钟检查一次WiFi.status()函数返回值
  }                                            // 同时NodeMCU将通过串口监视器输出连接时长读秒。
                                               // 这个读秒是通过变量i每隔一秒自加1来实现的。
                                               
  Serial.println("");                          // WiFi连接成功后
  Serial.println("Connection established!");   // NodeMCU将通过串口监视器输出"连接成功"信息。
  Serial.print("IP address:    ");             // 同时还将输出NodeMCU的IP地址。这一功能是通过调用
  Serial.println(WiFi.localIP());              // WiFi.localIP()函数来实现的。该函数的返回值即NodeMCU的IP地址。
}
 
void loop() {
    
                                       
}

在这里插入图片描述
在这里插入图片描述
如果出现一直等待的情况,把AP频段改为2.4GHZ,貌似 Esp8266不支持5GHZ频段。

猜你喜欢

转载自blog.csdn.net/qq_46146657/article/details/121298531