接入点模式

将ESP8266-NodeMCU当做WiFi使用
学习函数

WiFi.softAP(ssid, password);
作用:AP模式,即将ESP8266当做一个WiFi,参数1:名称,参数2:密码

WIFI.softAPIP();
作用:返回NodeMCU的IP地址
#include <ESP8266WiFi.h>        // 本程序使用ESP8266WiFi库

const char *ssid = "wifiname"; // 输入你想设置的WiFi名
                                   
const char *password = "wifipassword";  //输入你想设置的密码
                                    // 如果建立的WiFi不要密码,则在双引号内不要填入任何信息
 
void setup() {
  Serial.begin(9600);              // 启动串口通讯
  WiFi.softAP(ssid, password);     // 启动AP模式,参数1WiFi名,参数2WiFi密码

  Serial.print("出口监视器 ");    // 通过串口监视器输出信息
  Serial.println(ssid);              // 显示WiFi名
  Serial.print("IP address: ");      
  Serial.println(WiFi.softAPIP());   // 显示IP地址
}
 
void loop() { 
}

烧录进ESP8266后,打开电脑查看显示的WIFi,输入设置的密码,连接即可

查看ip:打开串口监视器->按ESP板上的RST(黑色圆圈)复位
esp8266 把用户的wifi密码存在那里比较好 esp8266 wifi模式_串口

无线终端模式

1.连接单个WiFi

将ESP8266连接WiFi无线路由器

连接WiFi,输入WiFi名称和WiFi密码->WiFi局域网会给esp8266分配新的ip地址

#include <ESP8266WiFi.h>        // 本程序使用ESP8266WiFi库
 
const char* ssid     = "WiFiname";      // 要连接的WiFi名
const char* password = "WiFipassword";          // 要连接的WiFi密码
                                            
void setup() {
  Serial.begin(9600);         // 启动串口通讯
  
  WiFi.begin(ssid, password);                  // 启动网络连接
  Serial.print("连接到 ");              // 串口监视器输出网络连接信息
  Serial.print(ssid); 
  Serial.println(" ...");  // 告知用户NodeMCU正在尝试WiFi连接
  
  int i = 0;                               
  while (WiFi.status() != WL_CONNECTED) {      // 检查是否连接成功,返回值连接状态,成功返回WL_CONNECTED
    delay(1000);                                                      
    Serial.print(i++);//输出等待的秒数 
    Serial.print(' ');
  }
                                               
  Serial.println("");                          
  Serial.println("连接成功"); 
  Serial.print("IP address:    ");
  Serial.println(WiFi.localIP());              // 返回值NodeMCU的IP地址。
}
 
void loop() {                                   
}

为了确认NodeMCU的确已经联网,我们可以在Windows操作系统的“命令提示符”中输入:ping ip address(例: ping 192.168.0.106)address为esp的ip

2.连接多个WiFi

#include <ESP8266WiFi.h>          // 本程序使用ESP8266WiFi库
#include <ESP8266WiFiMulti.h>   // 本程序使用ESP8266WiFiMulti库
 
ESP8266WiFiMulti wifiMulti;     // 建立ESP8266WiFiMulti对象,对象名称是'wifiMulti'
 
void setup() {
  Serial.begin(9600);            // 启动串口通讯
 
//通过addAp函数存储  WiFi名称       WiFi密码
  wifiMulti.addAP("WIFI_NAME1", "12345678");  // 这三条语句通过调用函数addAP来记录3个不同的WiFi网络信息。
  wifiMulti.addAP("WIFI_NAME2", "87654321"); 
  wifiMulti.addAP("WIFI_NAME3", "13572468"); 
                                                
  Serial.println("Connecting ...");         // 通过串口显示正在连接
  int i = 0;
  
  // 此处的wifiMulti.run()是重点。通过wifiMulti.run(),NodeMCU将会在当前
  // 环境中搜索addAP函数所存储的WiFi。如果搜到多个存储的WiFi那么NodeMCU
  // 将会连接信号最强的那一个WiFi信号。
  // 一旦连接WiFI成功,wifiMulti.run()将会返回“WL_CONNECTED”。这也是
  // 此处while循环判断是否跳出循环的条件。                        
  while (wifiMulti.run() != WL_CONNECTED) {  
    delay(1000);                             
    Serial.print('.');                       
  }

  Serial.println('\n');                     // WiFi连接成功后
  Serial.print("Connected to ");           
  Serial.println(WiFi.SSID());              // 连接的WiFI名称
  Serial.print("IP address:\t");            
  Serial.println(WiFi.localIP());           // NodeMCU的IP地址
}
 
void loop() { 
}