admin管理员组文章数量:1540708
接入点模式
将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(黑色圆圈)复位
无线终端模式
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() {
}
版权声明:本文标题:ESP8266两种WIFI模式 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dongtai/1727037552a1095205.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论