NodeMCU-32S网络连接模式
土豆 2022/10/20 esp32
# 接入点模式(AP)
NodeMCU可以建立WiFi网络供其它设备连接,相当于手机热点模式。
#include <WiFi.h>
// 热点名称
const char *ssid = "tudou";
// 密码
const char *password = "12345678";
void setup()
{
// 设置串口波特率
Serial.begin(115200);
WiFi.softAP(ssid, password);
Serial.print("Access Point: ");
Serial.println(ssid);
Serial.print("IP address: ");
Serial.println(WiFi.softAPIP());
}
void loop()
{
}
串口输出信息
Access Point: tudou
IP address: 192.168.4.1
# 无线终端模式(Station)
WiFi.status() 返回连接状态
#include <WiFi.h>
// wifi名称
const char *ssid = "tudou";
// 密码
const char *password = "12345678";
void setup()
{
// 设置串口波特率
Serial.begin(115200);
// 连接wifi
WiFi.begin(ssid, password);
Serial.print("Connecting to ");
Serial.print(ssid);
// 告知用户正在连接
Serial.println(" ...");
int i = 0;
while (WiFi.status() != WL_CONNECTED)
{
delay(1000);
Serial.print(++i);
Serial.print(" ");
}
Serial.println("");
// 连接成功
Serial.println("Connection established!");
Serial.print("IP address: ");
// 当前设备被分配的IP
Serial.println(WiFi.localIP());
}
void loop()
{
}
串口输出信息
Connecting to tudou ...
1
Connection established!
IP address: 192.168.243.169
# 自动连接最强wifi
wifiMulti.run() NodeMCU将会在当前环境中搜索addAP函数所存储的WiFi
如果搜到多个存储的WiFi那么NodeMCU将会连接信号最强的那一个WiFi信号。
#include <WiFi.h>
#include <WiFiMulti.h>
WiFiMulti wifiMulti;
void setup()
{
// 设置串口波特率
Serial.begin(115200);
// 存储WiFi名称和密码
wifiMulti.addAP("tudou1","12345678");
wifiMulti.addAP("tudou2","12345678");
wifiMulti.addAP("tudou3","12345678");
// 告知用户正在连接
Serial.print("Connecting ...");
int i = 0;
while (wifiMulti.run() != WL_CONNECTED)
{
delay(1000);
Serial.print(".");
}
Serial.println("\n");
// 连接成功
Serial.println("Connection established!");
Serial.print("IP address: ");
// 当前设备被分配的IP
Serial.println(WiFi.localIP());
}
void loop()
{
}
# 总结
1.可以通过WiFi.softAP(ssid, password);来创建热点
2.WiFi.softAPIP() 打印热点IP
3.通过WiFi.begin(ssid, password);可以连接wifi
4.获取wifi连接的状态WiFi.status()
5.当前设备分配的ip,WiFi.localIP()
6.存储多个wifi,wifiMulti.addAP(ssid,password);
7.wifiMulti.run() 连接最强的wifi