第五课:Wi-Fi通信 - Station模式与SoftAP模式
ESP32是一款功能强大的Wi-Fi和蓝牙双模芯片,内置Wi-Fi功能使其成为物联网应用的理想选择。ESP32支持两种主要的Wi-Fi工作模式:Station模式和SoftAP模式。
在Station模式下,ESP32作为客户端连接到现有的Wi-Fi网络(如家庭路由器)。
#include "WiFi.h"#include <WiFi.h>
const char* ssid = "your_SSID";
const char* password = "your_PASSWORD";
void setup() {
Serial.begin(115200);
// 设置为Station模式
WiFi.mode(WIFI_STA);
// 连接到Wi-Fi网络
WiFi.begin(ssid, password);
Serial.print("正在连接到Wi-Fi");
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("Wi-Fi连接成功");
Serial.print("IP地址: ");
Serial.println(WiFi.localIP());
}
void loop() {
// 主循环代码
}
WiFi.mode(WIFI_STA) - 设置为Station模式WiFi.begin(ssid, password) - 开始连接WiFi.status() - 获取连接状态WiFi.localIP() - 获取分配的IP地址WiFi.RSSI() - 获取信号强度在SoftAP模式下,ESP32自身作为Wi-Fi热点,允许其他设备连接到它。
#include "WiFi.h"#include <WiFi.h>
const char* ssid = "ESP32_AP";
const char* password = "12345678"; // 最少8个字符
void setup() {
Serial.begin(115200);
// 设置为AP模式
WiFi.mode(WIFI_AP);
// 启动热点
WiFi.softAP(ssid, password);
Serial.println("热点已启动");
Serial.print("AP IP地址: ");
Serial.println(WiFi.softAPIP());
}
void loop() {
// 主循环代码
}
WiFi.mode(WIFI_AP) - 设置为AP模式WiFi.softAP(ssid, password) - 启动热点WiFi.softAPIP() - 获取AP的IP地址WiFi.softAPgetStationNum() - 获取连接的客户端数量WiFi.softAPConfig() - 配置AP的网络参数ESP32可以同时工作在Station和SoftAP模式,既连接到路由器又创建自己的热点。
#include <WiFi.h>
const char* sta_ssid = "your_SSID";
const char* sta_password = "your_PASSWORD";
const char* ap_ssid = "ESP32_AP";
const char* ap_password = "12345678";
void setup() {
Serial.begin(115200);
// 设置为Station+AP模式
WiFi.mode(WIFI_AP_STA);
// 连接到路由器
WiFi.begin(sta_ssid, sta_password);
// 启动热点
WiFi.softAP(ap_ssid, ap_password);
Serial.println("混合模式已启动");
Serial.print("Station IP: ");
Serial.println(WiFi.localIP());
Serial.print("AP IP: ");
Serial.println(WiFi.softAPIP());
}
void loop() {
// 主循环代码
}
客服小姐姐(优先添加)
讲师微信(备用)