WIFI通信协议全解析18: ESP32 作为 AP 热点:打造自己的“微型路由器”(附完整实战代码)

"谁说 ESP32 只能连 WiFi?"

它不仅能蹭别人家的网,还能自己当老板,建立一个属于自己的 WiFi 世界。

没错,今天的主角就是 ESP32 的 AP(Access Point)模式

简单来说:

让 ESP32 摇身一变,成为一台迷你版路由器。

很多智能设备第一次配网时,都是这么干的:

  • 智能插座
  • 智能灯泡
  • 扫地机器人
  • 空调控制器
  • 智能门锁

你看到的"设备热点",背后其实大概率就是 ESP32 在工作。

今天我们就手把手实现它。


一、什么是 AP 模式?

AP(Access Point)

翻译过来就是:

无线接入点

说人话:

ESP32 自己发射 WiFi 信号,让其它设备来连接它。

以前:

text 复制代码
手机
 ↓
路由器
 ↓
ESP32

现在:

text 复制代码
手机
 ↓
ESP32

是不是瞬间感觉自己在做产品了?


二、ESP32 有哪些 WiFi 工作模式?

官方支持三种模式:

模式 名称 功能
STA Station 连接别人 WiFi
AP Access Point 自己创建 WiFi
AP+STA 混合模式 一边连网,一边发热点

可以这样记:

text 复制代码
STA = 蹭网模式

AP = 发网模式

AP+STA = 双重身份模式

妥妥的"时间管理大师"。


三、AP 模式能干什么?

应用场景其实非常多。

① 设备首次配网

流程:

text 复制代码
手机
 ↓
连接 ESP32 热点
 ↓
输入家庭 WiFi
 ↓
ESP32 自动联网

这就是很多智能家居的工作方式。


② 本地控制系统

比如:

  • 小车控制
  • 无人机控制
  • 机械臂控制

即使没有互联网,也能工作。


③ 本地 Web 服务器

ESP32:

text 复制代码
AP热点
+
Web服务器

打开浏览器:

text 复制代码
192.168.4.1

就能控制设备。

是不是有点酷?


四、5 分钟实现自己的热点

第一步:初始化 WiFi

c 复制代码
ESP_ERROR_CHECK(esp_netif_init());

ESP_ERROR_CHECK(esp_event_loop_create_default());

esp_netif_create_default_wifi_ap();

wifi_init_config_t cfg = WIFI_INIT_CONFIG_DEFAULT();

ESP_ERROR_CHECK(esp_wifi_init(&cfg));

第二步:配置热点参数

c 复制代码
wifi_config_t ap_config = {
    .ap = {
        .ssid = "My_ESP32_AP",
        .ssid_len = 0,

        .password = "12345678",

        .max_connection = 4,

        .authmode = WIFI_AUTH_WPA_WPA2_PSK,
    },
};

参数说明:

参数 说明
ssid WiFi 名称
password WiFi 密码
max_connection 最大连接数
authmode 加密方式

第三步:启动 AP

c 复制代码
esp_wifi_set_mode(WIFI_MODE_AP);

esp_wifi_set_config(
    WIFI_IF_AP,
    &ap_config
);

esp_wifi_start();

启动成功后:

手机就能搜到:

text 复制代码
My_ESP32_AP

是不是比想象中简单?


五、ESP32 默认 IP 是多少?

很多同学第一反应:

「热点开了,怎么访问它?」

答案:

text 复制代码
192.168.4.1

这是官方默认地址。

网络结构:

text 复制代码
ESP32:192.168.4.1

手机:192.168.4.x

相当于:

text 复制代码
ESP32 = 路由器

手机 = 客户端

六、升级玩法:搭建 Web 控制页面

比如:

text 复制代码
192.168.4.1

打开后显示:

text 复制代码
ESP32控制中心

[开灯]

[关灯]

[查看温度]

是不是有智能家居那味了?

实现非常简单:

text 复制代码
ESP32
 ↓
AP热点
 ↓
HTTP服务器
 ↓
浏览器控制

这也是很多 IoT 产品的经典方案。


七、AP 模式有哪些坑?

❌ 坑1:密码长度不足

很多新手都踩过。

错误:

c 复制代码
.password = "1234"

正确:

c 复制代码
.password = "12345678"

至少:

text 复制代码
8位

否则启动失败。


❌ 坑2:连接数太大

c 复制代码
.max_connection = 20

ESP32 会很吃力。

建议:

text 复制代码
4~8

已经够用了。


❌ 坑3:手机提示"无互联网"

这是正常现象。

因为:

text 复制代码
ESP32 ≠ 互联网

只是局域网。

所以不用慌。


❌ 坑4:忘记释放资源

如果频繁开关热点:

一定要关闭:

c 复制代码
esp_wifi_stop();

否则容易出现:

text 复制代码
内存泄漏
资源异常

八、终极玩法:AP + STA 双模式

这是量产产品最喜欢的方案。

工作流程:

text 复制代码
ESP32启动
 ↓
开启AP
 ↓
手机连接
 ↓
输入家庭WiFi
 ↓
ESP32联网成功
 ↓
关闭AP

代码:

c 复制代码
esp_wifi_set_mode(
    WIFI_MODE_APSTA
);

从此:

一边当路由器,一边上互联网。

直接化身"双线程选手"。


九、一个完整的产品架构长这样

text 复制代码
             云平台
                ↑
                │
          家庭路由器
                ↑
                │
ESP32(STA联网)

ESP32(AP热点)
        ↑
        │
      手机APP

是不是已经有智能产品的雏形了?


十、一句话总结

AP 模式不是让 ESP32 变成真正的路由器,而是让它拥有"创建局域网"的能力。

掌握它之后,你就能做:

✅ 智能家居

✅ 本地控制系统

✅ 配网系统

✅ Web 控制平台

✅ IoT 产品原型


🎯 写在最后

很多人学习 ESP32:

第一阶段:

会点灯

第二阶段:

会连 WiFi

第三阶段:

会 MQTT

真正进入工程阶段以后:

会设计用户体验

而 AP 模式,就是从"会写代码"迈向"会做产品"的重要一步。


🚀 如果你是新朋友

欢迎点个关注。

后续我会持续更新:

  • ESP32 全栈开发实战
  • WiFi / BLE / Matter 深度解析
  • FreeRTOS 项目实战
  • IoT 产品架构设计
  • 嵌入式工程师成长路线

❤️ 如果你是老读者

老规矩👇

点赞 + 收藏 + 评论区聊聊:你第一次接触 ESP32 的 AP 模式,是拿来做配网,还是做局域网控制?

我们评论区见 🚀

相关推荐
MEIXIFU112 小时前
便利店实际经营面积怎么选最合适
大数据·人工智能·物联网·生活·迭代加深
daad77714 小时前
用 HackRF + GNU Radio 抓取并解析 5 GHz Wi‑Fi 帧:从理论到 pcap 落地
wifi·802.11·gnuradio·beacon
2601_9539880715 小时前
Ricon组态系统vs传统组态软件:为什么选择新一代Web组态平台
前端·后端·物联网·tcp/ip·数学建模·前端框架
TDengine (老段)17 小时前
TDengine 第三方工具 — Telegraf、Kafka Connect、Flink、Spark
大数据·数据库·物联网·flink·kafka·时序数据库·tdengine
LCG元1 天前
STM32+ESP8266+MQTT 物联网气象站:从零搭建温湿度远程监测系统(附完整源码)
stm32·物联网·struts
殷忆枫1 天前
基于K210与STM32的智能垃圾分类与物联网监管系统
stm32·物联网·分类
daad7771 天前
从电磁波到比特:用具体数字读懂 FM 与 WiFi 的 IQ 解调
5g·wifi·fm·gnuradio
老孙讲技术1 天前
【4G IPC 上云】临时点位怎么免布线上云?listDeviceDetailsByPage + 辅码流预览|智慧工地实战
后端·物联网
华普微HOPERF1 天前
物联之“芯”,链通万物,华普微邀您共赴IOTE 2026
物联网·展会
数字新视界2 天前
信创动环监控厂家深入剖析智能机房环境监控技术应用与挑战
服务器·数据库·物联网·芯片·动环监控系统