ESP32芯片支持 TCP/IP 协议,完全遵循 802.11 b/g/n Wi-Fi MAC 协议栈,支持分布式控制功能 (DCF) 下的基本服务 集 (BSS) STA 和 SoftAP 操作。也就是意味着ESP32既可以连接WIFI也可以作为基站提供WIFI连接。
我们这里用的是STA操作。首先是WiFi的初始化和连接,里面分别是WIFI名称以及密码。
WiFi.begin("123", "12345678");
还有WIFI的模式选择,但是有时也可以不用说明。
WiFi.mode(WIFI_STA);
//或者
WiFi.mode(WIFI_SoftAP);
一般情况下,要写一个缓存函数,来等待WIFI连接。例如:
while (WiFi.status() != WL_CONNECTED)
{
delay(200);
}
这里的WiFi.status()是返回连接状态的函数,如果未连接到WiFi就会返回 WL_CONNECT_FAILED,然后就会一直循环while里的东西,直到连接成功,然后返回 WL_CONNECTED。
到这里WiFi就已经连接成功。之后就可以通过WiFi弄一些好玩的小项目了。
例如:
#include <Arduino.h>
#include <WiFi.h>
void WiFi_Connect()
{
WiFi.begin("123", "12345678");
while (WiFi.status() != WL_CONNECTED)
{
delay(200);
Serial.print(".");
}
}
void setup()
{
Serial.begin(115200);
delay(100);
Serial.print("Connecting.. ");
WiFi_Connect();
Serial.println("WiFi connected");
Serial.println("IP address: ");
Serial.println(WiFi.localIP());
}
void loop()
{}
通过串口将WIFI的连接情况打印出来,在连接成功后就打印出IP地址。