4. WiFi AP模式与SoftAP实战:AP模式原理、ESP32创建热点、手机连接开发板
各位同学,咱们今天聊点实在的。WiFi 这东西,大家天天用,但真要自己动手搭一个热点,很多人就懵了。我刚开始做物联网项目时,也踩过不少坑——明明代码写对了,手机就是搜不到开发板的热点。后来才发现,是信道和密码设置的问题。
这一章,咱们就把 AP 模式彻底搞明白。从原理到实战,一步步来。
4.1 AP模式到底是什么?
AP,全称 Access Point,也就是接入点。说白了,它就是 WiFi 网络里的「老大」。你家里的路由器,就是一个典型的 AP。它负责广播信号,让手机、电脑这些设备连上来。
在 ESP32 上,我们有两种方式玩 AP 模式:
- 普通 AP 模式:ESP32 作为独立热点,最多能带 4-5 个设备。适合小范围组网。
- SoftAP 模式:软件模拟的 AP,硬件上还是那个 ESP32,但功能上跟真 AP 差不多。我习惯叫它「软热点」。
核心区别:普通 AP 依赖专用硬件芯片,SoftAP 靠软件模拟。ESP32 的 SoftAP 性能足够应付大多数 IoT 场景,但别指望它能带几十个设备。
4.2 ESP32 创建热点的完整流程
嗯,这里我直接上代码。咱们用 Arduino 框架,因为上手最快。我自己做原型验证时,也优先用这个。
#include <WiFi.h>
void setup() {
Serial.begin(115200);
delay(100);
// 设置 AP 模式
WiFi.mode(WIFI_AP);
// 配置热点名称和密码
const char* ssid = "ESP32_Hotspot";
const char* password = "12345678";
// 启动热点
WiFi.softAP(ssid, password);
Serial.println("热点已启动");
Serial.print("IP 地址: ");
Serial.println(WiFi.softAPIP());
}
void loop() {
// 啥也不干,就等着设备连上来
delay(1000);
}
这段代码,我估计你一眼就能看懂。但有几个细节,我得提醒你:
- 密码至少 8 位,否则 ESP32 会拒绝启动热点。我曾经因为这个排查了半天,最后发现是密码太短。
- SSID 不要用中文,虽然理论上支持,但很多手机连不上。我踩过这个坑。
- IP 地址默认是 192.168.4.1,这是 ESP32 的固定套路。你可以在代码里改,但没必要。
4.3 手机连接开发板:实战步骤
代码烧录进去后,怎么验证?我一般这么做:
- 打开手机 WiFi 列表,找到名为
ESP32_Hotspot的热点。 - 输入密码
12345678,连接。 - 连接成功后,打开浏览器,输入
192.168.4.1。 - 如果看到 ESP32 的响应页面,说明成功了。
小技巧:如果手机连不上,先检查 ESP32 的串口输出。我习惯在代码里多打印一些调试信息,比如当前连接的设备数量。这样能快速定位问题。
4.4 进阶:配置静态 IP 和 DNS
有些场景下,你需要固定 ESP32 的 IP 地址。比如,你要用它做 Web 服务器,手机每次都要通过这个 IP 访问。这时候,静态 IP 就派上用场了。
// 设置静态 IP
IPAddress local_IP(192, 168, 4, 100);
IPAddress gateway(192, 168, 4, 1);
IPAddress subnet(255, 255, 255, 0);
WiFi.softAPConfig(local_IP, gateway, subnet);
WiFi.softAP(ssid, password);
你看,代码就多了三行。但效果很明显——ESP32 的 IP 变成了 192.168.4.100,而不是默认的 192.168.4.1。我一般在多设备组网时用这个,避免 IP 冲突。
4.5 核心知识体系
为了让你更直观地理解,我画了一张图。这张图展示了 AP 模式下,ESP32、手机和网络之间的关系。
4.6 常见问题与避坑指南
| 问题 | 原因 | 解决方案 |
|---|---|---|
| 手机搜不到热点 | 信道不匹配或密码错误 | 检查代码中的 SSID 和密码,确保信道在 1-11 之间 |
| 连接后无法上网 | ESP32 未开启 DHCP 或 IP 冲突 | 重启 ESP32,或手动设置静态 IP |
| 热点频繁掉线 | 供电不足或干扰严重 | 使用 5V/2A 电源,远离金属物体 |
注意:ESP32 的 SoftAP 模式不支持 5GHz 频段,只能工作在 2.4GHz。如果你周围 2.4GHz 干扰严重,建议手动指定一个空闲信道。我一般用信道 6 或 11,效果不错。
4.7 小结
这一章,咱们把 AP 模式的原理和实战都过了一遍。从代码到调试,从静态 IP 到避坑指南,你应该能独立搭建一个 ESP32 热点了。记住,实践出真知。别光看,拿出你的开发板,烧录代码试试。遇到问题,先看串口输出,再查表格里的解决方案。