模式
- 热点模式(Access Point, AP):ESP32-C3作为无线接入点,其他设备可以连接到它。
- 连接路由模式(Station, STA):ESP32-C3作为客户端连接到一个外部无线网络。
- 同时作为热点和连接路由器(AP+STA):ESP32-C3既是一个接入点,又是连接到外部网络的客户端。
实例
AP
#include <WiFi.h>
const char* ssid = "ESP32-C3-AP"; // 您的热点名
const char* password = "123456789"; // 您的热点密码
void setup() {
Serial.begin(115200);//串口
WiFi.softAP(ssid, password);//设置为AP模式
Serial.println();
Serial.print("IP address for AP: ");
Serial.println(WiFi.softAPIP());//打印本设备的IP
}
void loop() {
Serial.println(WiFi.softAPgetStationNum());//获取连接的数量
delay(1000);
}
STA
#include <WiFi.h>
const char* ssid = "123"; // 您的路由器SSID
const char* password = "12345678901"; // 您的路由器密码
void setup() {
Serial.begin(115200);//串口
WiFi.begin(ssid, password);//启动连接
while (WiFi.status() != WL_CONNECTED) {//判断是否连接,直到连接才跳出循环
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connected");
Serial.println("IP address: ");
Serial.println(WiFi.localIP());//打印连接后此板子的IP
}
void loop() {
// 空循环
}
AP+STA
#include <WiFi.h>
const char* ssid = "123"; // 路由器SSID
const char* password = "12345678901"; // 路由器密码
const char* apSSID = "ESP32-C3-AP"; // ESP32-C3热点SSID
const char* apPassword = "12345678901"; // ESP32-C3热点密码
void setup() {
Serial.begin(115200);
// 启用STA模式并连接到外部路由器
WiFi.begin(ssid, password);
// 启用AP模式
WiFi.softAP(apSSID, apPassword);
Serial.println();
Serial.print("Connecting to ");
Serial.println(ssid);
// 等待连接到外部路由器
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connected");
Serial.print("IP address for STA: ");
Serial.println(WiFi.localIP());//打印STA时板子回去的IP
// 打印AP的IP地址
Serial.print("IP address for AP: ");
Serial.println(WiFi.softAPIP());//AP时板子的IP
}
void loop() {
delay(1000);
Serial.println(WiFi.localIP());
Serial.println(WiFi.softAPIP());
// 空循环
}