配网方案介绍
注意
此文档的配网方案指的是通过不同方式来让 ESP 设备配置并连接 Wi-Fi 的方案,其他类似于 BLE-MESH 配网等不包含在此文档中。
方案综述
在代码开发阶段,往往把 Wi-Fi 信息(SSID 和 PASSWORD)直接固定写在了程序中,不能随时改变想要连接的 Wi-Fi,显然这样是不实用的。 所以我们开发并推出了一系列配网方案:
SoftAP 配网
Blufi 配网
Smartconfig 配网
WEB 配网
普遍的应用场景以配网智能插座为例,如下。
允许用户将 Wi-Fi 信息通过手机配置到 ESP 设备中。不同的配网各有利弊,下一小节详细阐述了这些配网方案的细节。
配网常见应用场景
1. Blufi 配网(需要 ESP 芯片支持 BLE)
ESP 设备会进行 BLE 广播,附近的手机收到该广播后会询问用户是否与 ESP 设备进行 BLE 连接,如选择连接,则手机即可将需要 ESP 设备连接的 Wi-Fi 信息发送给 ESP 设备。在这个的过程中用户无需切换 Wi-Fi 网络,但是需要打开手机蓝牙,用户体验相对 SoftAP 配网好一些。但是,需要在设备端加入蓝牙相关代码,这会增加固件的大小,并在配网完成前占用一定内存。
软件代码 & APP 参考链接:
2. Smartconfig 配网
这种方式不需要建立任何通信链路,手机端通过发送不同长度的 UDP 广播包来表示 Wi-Fi 信息,ESP 设备在混杂模式监听信号覆盖范围内的所有数据帧,通过一定算法得到 Wi-Fi 信息。缺点是配网成功率受环境的影响较大。
软件代码 & APP 参考链接:
3. SoftAP 配网
ESP 设备会建立一个 Wi-Fi 热点,用户将手机连接到这个热点后发送给 ESP 设备需要连接的 Wi-Fi 信息。这种配网模式需要用户手动连接到 ESP 设备的热点网络,这会让配网流程变得复杂,不过这种方式总体比 Smartconfig 配网成功率高。
软件代码 & APP 参考链接:
4. WEB 配网(目前已不推荐,且无成熟的参考示例)
在 ESP 设备上建立热点,使用手机连接上后在浏览器打开配置网页,在网页中完成配网,这种方式很可靠,而且允许在电脑端完成配网,缺点是需要在设备端占用空间来嵌入网页。
此方案目前已经不推荐,如果仍需要代码参考,可以参考 WEB 配网示例
。请注意这个示例很古老,不保证在新版本 ESP-IDF 上是否能正常执行,只是代码逻辑上有一些参考价值。
下表为上述四种配网方案的关键参数总结。
配网方案 |
是否额外需要 BLE |
是否需要额外的手机 APP |
配网成功率 |
操作复杂度 |
推荐程度 |
---|---|---|---|---|---|
Blufi 配网 |
✔ |
✔ |
高 |
简单 |
推荐 |
Smartconfig 配网 |
✖ |
✔ |
较高 |
简单 |
中等 |
SoftAP 配网 |
✖ |
✔ |
高 |
复杂 |
中等 |
WEB 配网(目前已不推荐) |
✖ |
✖ |
高 |
复杂 |
中等 |
参考资料
配网方案资料简要概括如下:
注意
如果需要更多如配网 APP 的参考, 请在 配网常见应用场景 中获取对应信息。