ESP8266连接WIFI
工作模式
ESP8266的wifi模块包含了三种工作模式
- AP(Wireless Access Point):无线接入点;该模式下,ESP8266类似于一部开启热点的手机,可以允许别的设备对其发起连接请求。该模式下,8266是一个服务端,是一个无线网络的创建者。
- STA(Wireless Station):无线终端模式;该模式下8266可以连接一个路由器或者其它AP模式下的设备,作为客户端向服务端发起连接请求,可以连接互联网。
- STA+AP:两种模式共存,既可以通过路由器连接到互联网,也可以作为WiFi热点,使其他设备连接到这个模块,实现广域网与局域网的无缝切换。
依赖库
#include <ESP8266WiFi.h>
示例代码
/*
ESP8266-NodeMCU无线终端模式连接WiFi
*/
#include <ESP8266WiFi.h> // 本程序使用ESP8266WiFi库
const char* ssid = "TP-LINK_3DF2"; // 需要连接到的WiFi名
const char* password = "123454321"; // 连接的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() {
}
运行效果
通过Arduino软件,工具=>串口监视器=>选择115200的波特率,否则打印信息将会乱码
代码运行效果
可以通过串口打印的IP地址,通过路由器管理界面或者与设备连接同一局域网的设备ping该设备
原文地址:https://blog.csdn.net/Wangguang_/article/details/140649264
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!