JeremyWang 发表于 2025-3-9 00:35:53

使用BLE蓝牙小程序给ESP32 WiFi配网

本帖最后由 JeremyWang 于 2025-3-9 00:35 编辑

ESP32在电子创客领域应用广泛,凭借其便捷的开发特性,我初涉时便深受吸引。虽然工作中较少使用,但在日常生活中,我常借助ESP32搭建各种电子小制作,尤其是其蓝牙和WiFi功能,通过Arduino平台能快速实现手机控制。
然而,在使用过程中也遇到过一些问题,例如ESP32的WiFi配网。过去,我习惯直接在程序中写死WiFi名称和密码,但这样一旦WiFi信息变更,设备便无法使用,重新烧录程序既麻烦又低效,甚至让我有时直接放弃使用。

如今,已有多种在线修改ESP32配网信息的方法,如SmartConfig、SoftAP和Blufi等,大致分为两类:

[*]通过WiFi连接WiFi,如先开启AP模式获取WiFi名和密码,再切换至STA模式连接。
[*]通过ESP32的BLE蓝牙传输WiFi名和密码,再连接WiFi。
经过尝试,我发现使用蓝牙进行WiFi配网更加灵活,例如ESP官方的Blufi方案。然而,市面上的蓝牙配网方式普遍缺乏灵活性,有些甚至要求设备蓝牙名称固定,导致设备较多时难以区分。

小程序配网页面:为了解决这些问题,我借助WeXCube小程序构建了ESP32的配网页面,主要优势如下:

[*]WeXCube小程序可连接ESP32的BLE蓝牙,对蓝牙名称无特殊要求。
[*]其控制页面可自定义,便于设计专属控制界面,并添加个性化内容。

例如,我在控制页面中加入了ESP32的状态信息栏,以实时查看WiFi连接状态及ESP32的IP地址,IP变化时也能同步更新。此外,页面内容可按需求调整,例如显示ESP32内部温度等传感器数据。

配网流程:
配网流程十分简单:

[*]只需填写WiFi名称和密码,点击“更新WiFi配置”,配置状态区域便会显示进度。
[*]设备连接成功后,页面会实时反馈最新状态。

设备分享:
除了个人使用,该页面还支持设备分享:

[*]通过分享功能生成链接,对方无需重复配置,打开页面即可自动连接ESP32(但无法修改页面内容)。


[*]还能生成二维码,每个二维码对应一台设备,可贴于设备外壳,后续修改WiFi信息时只需扫码进入配网页面。



[*]需注意,删除已分享的设备后,该设备的分享访问权限将被关闭。

设计流程:
要实现上述功能,需在ESP32程序中添加WeXCube SDK,操作简便:将SDK文件添加至工程并调用相关函数。


此外,在WeXCube小程序内需创建设备和控制页面,可直接使用示例模板“ESP32 WiFi 配网”进行快速配置。

[*]保存页面后,在“设备信息”->“编辑设备”中选择对应蓝牙,即可完成配对。
[*]页面可自由编辑,添加额外功能,满足个性化需求。
所有设备的蓝牙连接信息和控制页面内容均存储在服务器,即使清空微信缓存或更换设备,使用同一微信账号仍可同步数据。

通过WeXCube小程序,ESP32的WiFi配网变得更加便捷、灵活,极大提升了使用体验!

附件为Arduino IDE和PlatformIO的工程。





页: [1]
查看完整版本: 使用BLE蓝牙小程序给ESP32 WiFi配网