一、前言
ESP8266有三种模式,不清楚可以查看:ESP8266三种模式详解
二、ESP8266设为Station模式连接WiFi
注意:如果出现一直等待的情况,把AP频段改为2.4GHZ,貌似 Esp8266不支持5GHZ频段
/*
ESP8266-NodeMCU无线终端模式连接WiFi
*/
#include <ESP8266WiFi.h> // 本程序使用ESP8266WiFi库
const char* ssid = "LaiFu"; // 需要连接到的WiFi名
const char* password = "wangjichuan"; // 连接的WiFi密码
void setup() {
Serial.begin(115200); // 初始化串口通讯波特率为115200
WiFi.mode(WIFI_STA); // 设置Wifi工作模式为STA,默认为AP+STA模式
WiFi.begin(ssid, password); // 通过wifi名和密码连接到Wifi
Serial.print("\r\nConnecting to "); // 串口监视器输出网络连接信息
Serial.print(ssid); Serial.println(" ..."); // 显示NodeMCU正在尝试WiFi连接
int i = 0; // 检查WiFi是否连接成功
while (WiFi.status() != WL_CONNECTED) // WiFi.status()函数的返回值是由NodeMCU的WiFi连接状态所决定的。
{ // 如果WiFi连接成功则返回值为WL_CONNECTED
delay(1000); // 此处通过While循环让NodeMCU每隔一秒钟检查一次WiFi.status()函数返回值
Serial.print("waiting for ");
Serial.print(i++); Serial.println("s...");
}
Serial.println(""); // WiFi连接成功后
Serial.println("WiFi connected!"); // NodeMCU将通过串口监视器输出"连接成功"信息。
Serial.print("IP address: "); // 同时还将输出NodeMCU的IP地址。这一功能是通过调用
Serial.println(WiFi.localIP()); // WiFi.localIP()函数来实现的。该函数的返回值即NodeMCU的IP地址。
}
void loop() {
}
三、ESP8266设为AP模式提供热点
/*
ESP8266-NodeMCU路由器模式提供WiFi
*/
#include <ESP8266WiFi.h> // 本程序使用ESP8266WiFi库
const char* ssid = "ESP8266"; // 需要连接到的WiFi名
const char* password = "wangjichuan"; // 连接的WiFi密码
void setup() {
Serial.begin(115200); // 初始化串口通讯波特率为115200
WiFi.softAP(ssid, password); // 此语句是重点。WiFi.softAP用于启动NodeMCU的AP模式。
// 括号中有两个参数,ssid是WiFi名。password是WiFi密码。
// 这两个参数具体内容在setup函数之前的位置进行定义。
Serial.print("\r\nAccess Point: "); // 串口监视器输出热点ssid
Serial.println(ssid);
Serial.print("IP address: "); // 串口监视器输出热点IP
Serial.println(WiFi.softAPIP());
}
void loop() {
}