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 模式,是拿来做配网,还是做局域网控制?

我们评论区见 🚀

相关推荐
中科岩创1 小时前
某景区地下隧道结构健康监测工程项目
大数据·物联网·自动化
by————组态1 小时前
Ricon组态实时监控 - 毫秒级数据可视化
大数据·人工智能·物联网·信息可视化·架构·组态
果丁智能1 小时前
物联网智能锁在网约房、民宿场景的落地实践:身份核验与远程授权的全链路解决方案
人工智能·物联网·智能家居
小赖同学啊2 小时前
蓝绿部署与金丝雀部署的区别
物联网
漫途科技2 小时前
智慧水务再添新标杆!物联网技术赋能水厂数字化升级
物联网·智慧城市
一切皆是因缘际会11 小时前
存算一体芯片软件双模式:单字符驱动网络(普通CPU也能跑)
人工智能·物联网·ai·系统架构·架构设计·发布订阅·存算一体
小赖同学啊19 小时前
物联网规则引擎平台设计方案
物联网
小赖同学啊1 天前
物联网数据中台设计思路
物联网
大鱼>1 天前
时序数据库+AI:物联网海量数据的存储与实时分析
人工智能·物联网·时序数据库·数据存储·aiot