3. 配网技术概览
ESP32 的配网本质上是把“目标 AP 的 SSID 与密码”安全、可靠地交给设备,并让设备完成入网。不同配网技术解决的是同一件事,但它们在交互通道、用户操作、成功率、安全性和资源占用上差异很大。理解这些差异,才能在量产项目中做出正确选型。
一、核心原理:五类配网技术的工作方式
SoftAP 配网:ESP32 自己开一个热点,手机连接该热点后,通过 HTTP 或 Socket 把目标 Wi-Fi 信息发给设备。设备收到后切换为 STA 模式连接路由器。它的优点是兼容性最好、可传递任意长度信息、便于回传状态;缺点是用户需要手动切换手机 Wi-Fi,体验略重。
SmartConfig:手机 App 把 SSID 和密码编码后,通过 UDP 广播包发送。ESP32 在混杂模式下监听周围空口数据,解析出配网信息。用户无需切换热点,操作简单;但依赖手机与设备在同一空间,且部分手机/路由器对广播包限制会影响成功率。
BLE 配网:利用 ESP32 的蓝牙能力,手机通过 GATT 写入 Wi-Fi 凭据。它不依赖路由器广播,交互可控、可加密、可回传进度,适合带屏或无屏设备;缺点是占用蓝牙协议栈资源,配网时 Wi-Fi 与 BLE 共存需要合理配置。
Wi-Fi Easy Connect:即 WPA3 中的 DPP(Device Provisioning Protocol),通过二维码或 NFC 传递引导信息,使用公钥加密交换配置。安全性高、无需输入密码,适合对安全要求高的场景;但需要手机系统与路由器支持 DPP,生态成熟度仍在推进。
自定义配网协议:在 BLE、SoftAP 或私有 2.4G 通道上自定义帧格式与状态机,可加入设备绑定、超时、重试、加密和回传。灵活度最高,但开发与维护成本也最高,需要自行处理兼容性与安全。
二、方法流程:一次典型配网的通用步骤
无论采用哪种技术,配网流程都可以抽象为“进入配网态 → 传递凭据 → 校验连接 → 回传结果 → 退出配网态”五个阶段。以 BLE 配网为例,典型流程如下:
1. 设备上电,检测无有效 Wi-Fi 配置,进入配网模式
2. 启动 BLE,广播自定义 Service UUID
3. 手机连接并订阅状态特征值
4. 手机写入 SSID / Password / 可选
5. 设备校验长度与格式,尝试 STA 连接
6. 连接成功 → 回传 IP 与状态;失败 → 回传错误码并允许重试
7. 保存凭据到 NVS,关闭 BLE,进入正常业务
SoftAP 与 SmartConfig 的差异主要在“传递凭据”这一步:前者通过 HTTP 请求体,后者通过 UDP 广播包。Easy Connect 则把凭据交换升级为公钥加密的 DPP 帧。
三、案例与场景:不同产品如何选型
场景 A:智能插座,无屏、成本敏感。推荐 SmartConfig 或 SoftAP 兜底。SmartConfig 用户操作最快,但部分路由器会过滤广播;因此量产固件常同时保留 SoftAP,作为失败后的备用通道。
场景 B:带屏智能面板。推荐 BLE 配网。屏幕可显示二维码或配网进度,BLE 可加密、可回传错误码,用户体验稳定,也便于后续 OTA 复用同一通道。
场景 C:商用门禁或医疗设备。推荐 Wi-Fi Easy Connect 或自定义 BLE 协议。前者安全性高、免密码;后者可加入设备证书、绑定白名单和审计日志,满足合规要求。
四、对比与选型清单
| 技术 | 交互通道 | 用户操作 | 安全性 | 资源占用 | 适用场景 |
|---|---|---|---|---|---|
| SoftAP | 设备热点 + HTTP | 需切换 Wi-Fi | 中,可加 TLS | 中 | 兼容性优先、兜底通道 |
| SmartConfig | UDP 广播 | 最简单 | 较低,需加密 | 低 | 低成本、快速配网 |
| BLE 配网 | GATT | 简单,可回传 | 高,可配对加密 | 较高 | 带屏设备、需状态回传 |
| Easy Connect | 二维码 / DPP | 扫码即可 | 很高,公钥交换 | 中 | 高安全、免密码场景 |
| 自定义协议 | BLE / 私有 2.4G | 取决于设计 | 可做到很高 | 高 | 绑定、审计、定制业务 |
五、误区与复盘
- 误区一:只测一种手机。SmartConfig 对手机型号、系统版本和路由器广播策略敏感,必须覆盖主流机型与路由器。
- 误区二:忽略超时与重试。配网必须有明确超时(如 120 秒)和失败回退,否则设备会卡在配网态无法恢复。
- 误区三:明文保存密码。凭据写入 NVS 时应加密或至少做完整性校验,避免被读取。
- 误区四:配网与业务抢占资源。BLE 配网时若同时高频扫描 Wi-Fi,容易造成连接失败,应分阶段调度。
选型时可按优先级排序:先确定安全等级与用户操作成本,再评估芯片资源与协议栈占用,最后决定是否需要自定义协议。对大多数 ESP32 产品而言,BLE 配网加 SoftAP 兜底是平衡体验、安全与兼容性的稳妥方案。