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频段。