news 2026/9/28 2:23:03

ESP32 蓝牙配网实战:用 ESP-IDF 的 BluFi,3 步把 Wi-Fi 密码安全送进芯片

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
ESP32 蓝牙配网实战:用 ESP-IDF 的 BluFi,3 步把 Wi-Fi 密码安全送进芯片

ESP32 蓝牙配网实战:用 ESP-IDF 的 BluFi,3 步把 Wi-Fi 密码安全送进芯片

【免费下载链接】esp-idfEspressif IoT Development Framework. Official development framework for Espressif SoCs.项目地址: https://gitcode.com/GitHub_Trending/es/esp-idf

你手头有一台没有屏幕的设备,却必须连上 Wi-Fi,怎么办?BluFi 就是为此而生:它借用蓝牙通道,把 Wi-Fi 的 SSID 和密码安全地"隔空"传给 ESP32 芯片,而 ESP-IDF 框架已经把这个蓝牙配网协议做成了现成组件。你不必扫二维码,也不必让设备先连上某个"配网专用网络"——手机通过蓝牙把凭证发过去,设备自己连上路由器。

全景速览:一张图看懂 BluFi 🧭

整条链路很短:你的手机(装 EspBlufi App)→ 蓝牙 → ESP32(跑 BluFi 示例)→ Wi-Fi 路由器。手机先通过 GATT(蓝牙的数据传输协议)连上 ESP32,双方在蓝牙里协商出一把秘密钥匙,然后手机把 Wi-Fi 凭证加密后发过来,ESP32 解密、拿它去连路由器,最后把连接状态回传给你。

设备上电、BluFi 初始化完成后,串口会打出这样的日志,说明蓝牙配网已就绪:

把它和 SmartConfig(手机把 Wi-Fi 信息以广播包形式发出,ESP32 用 2.4G Wi-Fi 听广播)这类传统配网对比,差异有五点:

  • 凭证走蓝牙而非 Wi-Fi 广播,不依赖设备处于"听广播"状态,两边也不要求在同一网络里
  • 每帧都加密并带 CRC16 校验,Wi-Fi 密码不会以明文出现在空中
  • 支持 Station、SoftAP、AP+STA 组合三种模式,SmartConfig 基本只管"连路由器"
  • 加密与校验算法可以自定义,安全级别随项目要求上调或下调
  • 手机端是标准 GATT Client,App 开源,可自己魔改界面

三步跑通最小配网 🚀

路线一:Station 模式(设备连已有 Wi-Fi)

  1. 硬件就绪:开发板用 USB 连上电脑,打开串口工具。校验点:串口出现BLUFI init finish,说明配网通道已就绪。
  2. 烧录示例:打开 BluFi 示例工程,执行idf.py set-target esp32,再执行idf.py flash monitor。校验点:烧录成功,串口持续输出 BLUFI 版本与初始化日志。
  3. 手机配网:安装 EspBlufi App,授予蓝牙、Wi-Fi、定位权限,刷新列表连上 ESP32,点 Networking,选 Station,选中路由器并输入密码。校验点:App 显示连接成功,串口里设备连上 AP 并拿到 IP。

路线二:SoftAP 模式(设备自己当路由器)

  1. 硬件就绪:同上,确认串口出现BLUFI init finish。
  2. 烧录同一个示例:不需要改任何代码,SoftAP 只是 App 里的一个运行时选项。校验点:示例正常跑起来。
  3. 手机设热点:蓝牙连上后,在 App 里选 SoftAP 模式,填写热点 SSID、密码和加密方式。校验点:用手机搜索到并连上这个新建热点。

顺带一提:示例支持 ESP32、C2、C3、C5、C6、C61、S3、S31 等目标芯片,换芯片只需改一行idf.py set-target <芯片>。

协议与安全机制深挖 🔐

帧结构与分片

BluFi 规定每次蓝牙传输都按固定格式打包,字段速查表如下:

字段长度一句话解释
类型1 字节这是什么帧:控制帧还是数据帧
帧控制1 字节携带"已加密""后面还有分片"等标志位
序列号1 字节逐帧递增,用来防止重放
数据长度1 字节后面数据字段的实际长度
数据N 字节真正的内容(SSID、密码等)
校验2 字节对数据做的 CRC16 校验值

内容太长装不进一帧时自动分片:帧控制位打上分片标志,数据部分的前 2 字节写明整包总长度。接收端照这个长度预分配内存,再按序列号把碎片依次拼回去。

加密 / 校验 / 防重放

设备端默认配了三件安全武器:

  • 密钥协商(DH 算法):双方各发一个公开参数,各自在本地算出同一把秘密钥匙,钥匙本身从不上链路
  • 数据加密(128 位 AES):每帧的数据字段都用这把钥匙加密
  • 完整性校验(CRC16):数据被篡改哪怕 1 个字节,校验也会失败

再加上序列号必须严格递增,重复的旧帧直接丢弃,重放攻击因此失效。如果你想换更强的算法,ESP-IDF 留了四个回调注册点,签名长这样:

esp_blufi_register_encrypt_func(esp_blufi_encrypt_func_t f); // 加密 esp_blufi_register_decrypt_func(esp_blufi_decrypt_func_t f); // 解密 esp_blufi_register_checksum_func(esp_blufi_checksum_func_t f); // 校验 esp_blufi_register_nego_data_handler(esp_blufi_negotiate_data_handler_t h); // 协商

分别对应加解密一对、校验一个、协商数据处理一个,全部可替换成你自己的实现。

落地选型与避坑

BluFi 最适合无屏 IoT 设备和批量配网:设备没有屏幕、没有摄像头,现场一次铺几十台也不怕,只要有手机和蓝牙就能逐台喂凭证。相比其他方案,它的长项是链路加密、安全级别可调;短项是蓝牙有效距离短(米级),且手机端要装专门的 App。

三个高频疑问快答:

  • 支持 5GHz Wi-Fi 吗?不支持。ESP32 系列芯片的 Wi-Fi 只有 2.4GHz,BluFi 配的目标网络也限于 2.4GHz 频段。
  • 安全级别怎么定?一般消费类产品用默认的 DH + AES128 + CRC16 就够了;保密要求更高的场景,可以注册自定义的加密与校验回调把级别拉满。
  • 新项目还该选它吗?说句实话:官方 README 已注明 BluFi 处于维护模式,不再规划新功能,新项目建议优先考虑官方维护的 network_provisioning 组件;BluFi 适合存量设备、学习协议和轻量场景。

更细的协议说明在 BluFi 官方文档,API 细节见 esp_blufi_api.h。

【免费下载链接】esp-idfEspressif IoT Development Framework. Official development framework for Espressif SoCs.项目地址: https://gitcode.com/GitHub_Trending/es/esp-idf

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/28 2:22:52

2026最新设计网站建设合同书模板避坑指南

2026最新设计网站建设合同书模板避坑指南 想做个网站,最头疼的不是写代码,而是怕被坑。自己不会代码想做网站,心里没底,最怕的就是签了合同,最后做出来的东西跟想象的不一样,或者后期维护费高得离谱。很多老板以为找外包就是交钱等活,结果交付时才发现功能缺漏、版权纠纷,甚至源码都不给你。到了2026年,行…

作者头像 李华
网站建设 2026/9/28 2:22:49

宿迁论坛改版避坑指南:5个关键注意事项救你的工期

宿迁论坛改版避坑指南:5个关键注意事项救你的工期 改个需求建站公司拖一周,这种憋屈事你是不是也干过?很多宿迁本地站长找外包做论坛改版,说好三天上线,结果改个按钮位置能扯皮半个月。这背后不是态度问题,而是前期没把 注意事项 聊透。…

作者头像 李华
网站建设 2026/9/28 2:22:43

wordpress模板layui新手入门避坑指南

wordpress模板layui新手入门避坑指南 昨晚凌晨两点,手机突然收到监控报警,网站首页被挂了黄色链接和挖矿脚本。那一刻心真的慌了,不知道代码哪改错了,也不敢乱动怕数据全丢。这种“网站被黑挂马不知道怎么办”的绝望感,很多刚接触建站的朋友都经历过。其实很多时候不是技术有多高深,而是基础架构太松散…

作者头像 李华
网站建设 2026/9/28 2:22:35

影视网站搭建哪个系统好?拆解完整流程与避坑指南

影视网站搭建哪个系统好?拆解完整流程与避坑指南 还在用那种五颜六色、排版错乱的模板做影视站?别逗了,用户进来第一眼就觉得“这站不靠谱”,直接关页。这种体验太丑且不够用,根本留不住人。想搞懂影视网站搭建哪个系统好,不能只看功能多不多,得看整套 完整流程 跑起来顺不顺。…

作者头像 李华
网站建设 2026/9/28 2:22:32

网站怎么弄模板怎么选?3种路径拆解费用与避坑指南

网站怎么弄模板怎么选?3种路径拆解费用与避坑指南 改个需求建站公司拖一周,这种憋屈事谁没经历过?很多老板找外包做站,签合同时拍胸脯说“随时改”,真到了上线前想调个按钮位置、换个图片风格,对方就开始扯皮,说这不在合同范围内,或者要加钱。这时候你才发现,自己根本不懂技术,只能被动挨宰。 其实,…

作者头像 李华