ESP-IDF 例程——Wi-Fi 配网管理器
5. provisioning 目录
5.1 wifi_prov_mgr
| 字段 | 描述 |
|---|---|
| 例程名称 | Wi-Fi 配网管理器示例 |
| 所在文件夹路径 | examples\provisioning\wifi_prov_mgr |
| 核心功能说明 | 演示如何使用 wifi_provisioning 管理器组件构建配网应用,支持 BLE 和 SoftAP 两种传输方式,实现设备的 Wi-Fi 配置 |
| 主要调用的内部/外部函数或模块 | - wifi_provisioning 管理器组件 |
- protocomm 组件(协议通信)
- protobuf 组件(数据序列化)
- BLE 驱动(默认使用 NimBLE,支持 Bluedroid)
- SoftAP 模式支持
- 支持多种 ESP32 芯片 |
| 输入输出参数说明 | 配置参数: - 传输方式(BLE 或 SoftAP)
- 安全版本(1 或 2)
- 证明密钥(Pop)
- SSID 和密码
- 自定义数据
输出结果:
- 配网启动状态
- 服务名称(PROV_XXXXXX)
- Wi-Fi 凭据接收状态
- 连接结果
- IP 地址获取情况
- 自定义数据处理结果 |
| 适用场景及典型应用案例 | - 物联网设备的初次配置 - 智能家居设备的 Wi-Fi 连接
- 工业设备的网络配置
- 无线传感器的远程配置
- 批量设备的快速配网 |
5.2 技术要点
配网方式:
- 支持 BLE 和 SoftAP 两种传输方式
- BLE 模式默认使用 NimBLE 主机
- SoftAP 模式作为 ESP32-S2 的默认选项
- 支持 QR 码扫描配网
安全机制:
- 支持安全版本 1(基于证明密钥的认证)
- 支持安全版本 2(基于 SRP6a 的认证)
- 支持链路加密
- 安全会话建立
功能扩展:
- 支持自定义数据端点
- 支持实时 Wi-Fi 扫描结果
- 支持批量设备配置
- 支持交互式配网
配网流程:
- 设备进入配网模式
- 手机/PC 连接设备
- 建立安全会话
- 发送 Wi-Fi 凭据
- 设备连接 Wi-Fi
- 配网完成,断开连接
状态管理:
- 配网状态保存
- 已配网设备自动连接 Wi-Fi
- 支持恢复出厂设置
5.3 配网应用支持
Android 应用:
iOS 应用:
命令行工具:
- Python 脚本:
$IDF_PATH/tools/esp_prov/esp_prov.py - 支持 BLE 和 SoftAP 传输
- 支持交互式和非交互式配网
- Python 脚本:
5.4 QR 码配网
QR 码格式示例:
1 | |
包含字段:
- ver:版本号
- name:设备名称
- pop:证明密钥
- transport:传输方式(ble 或 softap)
5.5 构建与运行
- 设置目标芯片:
idf.py set-target <chip_name> - 配置项目:
idf.py menuconfig - 选择传输方式(BLE 或 SoftAP)
- 构建项目:
idf.py build - 烧录并监控:
idf.py -p PORT flash monitor - 使用配网应用或命令行工具进行配网
5.6 应用场景总结
- 适用于物联网设备的初次配置
- 支持多种配网方式,适应不同场景需求
- 提供安全的配网机制
- 支持批量设备配置
- 适合智能家居、工业自动化、无线传感器等领域
这个例程展示了 ESP-IDF 在设备配网方面的强大功能,为开发者提供了一个完整的配网解决方案,可以根据实际需求进行定制和扩展。
ESP-IDF 例程——Wi-Fi 配网管理器
https://blog.zhaosn.top/ESP32-examples/05.provisioning/