小智AI蓝牙配网+声波配网:原理+流程拆解

小智AI 最新版固件更新到2.1.0,相比2.0.5有哪些重大更新?

今天扫了一遍新增commit,发现:

架构更新主要有:

  • 设备状态更新机制:调整为设备状态机
  • 音频编解码器重构:用 ESP-IDF 官方音频组件esp_audio_codecesp_audio_effects替换原来的的78opus编解码器。内存占用更低。

功能更新主要有:

  • WIFI配网新增了两种方式:蓝牙配网和声波配网

相比原先的AP配网,这两种方式的用户体验都更友好。

所以,

今日分享,聊聊蓝牙配网和声波配网的基本原理和通信流程。

1. 蓝牙配网

一句话简介:通过 BLE 低功耗蓝牙将 Wi-Fi 的 SSID 与密码从手机传输至设备。

1.1 整体架构

从设备端代码上看,简单画个流程图:

具体而言,

Step 1: 配网模式的触发

当设备状态不是Starting且未处于说话状态时,调用StartWifiConfigMode()进入配网模式。

Step 2: 停止 Station 模式

设备断开和当前 Wifi 的连接

Step 3: 状态机切换到配网状态

将设备状态机切换到配网状态。

Step 4: 启动蓝牙配网

在 WifiBoard::StartWifiConfigMode() 中,根据 Kconfig 配置选项选择并启动具体的配网方式。

Step 5: 初始化 BLE 控制器

在 Blufi::init() 中调用 _controller_init(),完成 ESP-BT-Controller 的初始化,并打印版本信息、时钟源、Feature 配置及 MAC 地址。

Step 6: 初始化 BluFi Profile 并开始广播

1.2 配网通信流程

配网数据流程图(手机→设备):

Wi-Fi 术语里,有两种工作模式:

STA(Station)模式

设备作为“站点”连接到现有的无线路由器(AP,Access Point),这种模式下 ESP32 相当于一个客户端,去连接路由器上网。

AP(Access Point)模式

设备自己创建 Wi-Fi 热点,让其他设备(如手机)连进来,
这时 ESP32 相当于一个小型路由器。

问题来了:BluFi App 在哪下载?

BluFi是乐鑫官方提供的基于 BLE 的 Wi-Fi 配网协议。

参考文档:https://docs.espressif.com/projects/esp-idf/zh_CN/stable/esp32/api-guides/ble/blufi.html

Android 版应用下载:https://github.com/EspressifApp/EspBlufiForAndroid/releases

使用非常简单:

  • 打开手机蓝牙
  • 打开 BluFi App
  • 扫描 ESP32 设备

点击配网进入网络配置界面。BluFi 支持以下三种模式:

  • Station: 连接至现有 Wi-Fi 网络。

  • SoftAP: 创建 Wi-Fi 热点。

  • SoftAP/Station: 同时启用 SoftAP 和 Station 模式。

选择Station模式,点击刷新按钮,选择目标 Wi-Fi 名称,并输入密码。

点击确定按钮完成配置。成功连接后,串口中打印日志如下:

I (2369270) BLUFI_CLASS: BLUFI ble connect I (2432200) BLUFI_CLASS: BLUFI Set WIFI opmode 1 I (2432210) WifiManager: Starting station I (2432210) wifi:mode : sta (98:3d:ae:e6:83:d0) I (2432210) wifi:enable tsf I (2432210) WifiBoard: WiFi scanning I (2432290) BLUFI_CLASS: Recv STA SSID: 12_404 I (2432370) BLUFI_CLASS: Recv STA PASSWORD : 18xx I (2432410) BLUFI_CLASS: BLUFI request wifi connect to AP via esp-wifi-connect I (2438210) BLUFI_CLASS: BLUFI ble disconnect I (2438210) BLUFI_CLASS: BLUFI deinit finish I (2438230) BLUFI_CLASS: connected to WiFi

2. 声波配网

一句话简介:利用浏览器播放经 FSK 调制的音频信号,设备通过麦克风采集并解调出 Wi-Fi 信息。

优点:不依赖 BLE 或热点,只要手机/电脑扬声器就能完成配网。

2.1 整体架构

蓝牙配网的整体基本一致:如果选择声波配网,会创建一个FreeRTOS任务acoustic_wifi,并调用ReceiveWifiCredentialsFromAudio()

2.2 配网通信流程

流程图如下:

简言之:

  • 手机把 WiFi 信息编码成音频信号播放;
  • 设备用麦克风采集音频,通过 AFSK 解调算法解析出 SSID/密码;
  • 像 BluFi 一样存到 SsidManager 并启动 WifiStation 连接;
  • 根据连接结果反馈成功或失败。

项目根目录下scripts/sonic_wifi_config.html就是配网页面,直接拉到本地浏览器中即可:

如果嫌麻烦,戳这个链接:https://iqf7jnhi.pinit.eth.limo

当进入配网模式时,串口日志如下:

I (2718) WifiBoard: Starting acoustic WiFi provisioning, channels: 1 I (2818) AUDIO_WIFI_CONFIG: Entering Waiting state I (3478) AUDIO_WIFI_CONFIG: Entering Receiving state W (11248) AUDIO_WIFI_CONFIG: Buffer overflow, clearing buffer I (11398) AUDIO_WIFI_CONFIG: Entering Waiting state

配网成功后,串口日志如下:

I (664048) AUDIO_WIFI_CONFIG: Entering Receiving state I (665728) AUDIO_WIFI_CONFIG: Received text data: 12_404 18205109389 I (665728) AUDIO_WIFI_CONFIG: WiFi SSID: 12_404, Password: 18xx I (665728) SsidManager: compare [12_404:6] [12_404:6] W (665738) SsidManager: SSID 12_404 already exists, overwrite it I (665738) AUDIO_WIFI_CONFIG: WiFi credentials saved successfully

写在最后

本文分享了小智AI蓝牙配网+声波配网的基本原理和通信流程。

如果对你有帮助,不妨点赞收藏备用。

One More Thing小智Pro设备端固件,已全面适配最新版v2.1.0

https://github.com/hougeai/xiaozhiPro/releases

戳下方链接,免费体验小智Pro👇:

https://mkwyqeoebedx.sealosbja.site

有问题,欢迎来聊。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1168133.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

35天,版本之子变路人甲:AI榜单太残酷!

o1从榜首暴跌至#56,Claude 3 Opus坠入#139。LMSYS榜单揭示残酷真相:大模型的「霸主保质期」只有35天!这不是技术迭代,这是对所有应用层开发者的降维屠杀。 还记得OpenAI o1刚发布那会儿,整个科技圈那种近乎朝圣般的狂…

EAAI title-page-template 怎么填写: 期刊投稿作者信息填写指南

EAAI title-page-template 怎么填写: 期刊投稿作者信息填写指南 很多朋友在期刊投稿时,常困惑于作者信息的规范填写——姓名排序、单位标注、通讯作者指定等细节,一旦出错可能影响投稿流程。今天结合具体案例,手把手教大家如何规范填写,以本文作者团队(Jiqun Zhang、She…

精品水果线上销售网站的设计与实现毕业论文+PPT(附源代码+演示视频)

文章目录精品水果线上销售网站的设计与实现一、项目简介(源代码在文末)1.运行视频2.🚀 项目技术栈3.✅ 环境要求说明4.包含的文件列表(含论文)数据库结构与测试用例系统功能结构前端运行截图后端运行截图项目部署源码下…

别白忙活!EAAI投稿避坑指南:5条红线碰就拒,工程应用重点划重点

别白忙活!EAAI投稿避坑指南:5条红线碰就拒,工程应用重点划重点 目录 别白忙活!EAAI投稿避坑指南:5条红线碰就拒,工程应用重点划重点 一、先搞懂EAAI的核心定位:AI要落地,工程要务实 二、5条“碰就拒”红线:逐一拆解+避坑方案 红线1:新隐喻元启发式算法,大概率直接拒…

陶哲轩惊叹!数学奇点初现,AI首次给出人类无法企及的原创证明

数学奇点初现!Gemini攻克全新数学定理,斯坦福大牛惊呼「想出来能吹一辈子」;陶哲轩预言数学家AI共生未来;Grok发现黎曼猜想新的隐蔽通道……汉语是人类语言的一种。比特是计算机的语言。而数学则是宇宙的语言。正如「现代物理学之…

正则表达式高级用法:超越模式匹配的工程实践

正则表达式高级用法:超越模式匹配的工程实践 引言:正则表达式的演进与现状 正则表达式自20世纪50年代由数学家Stephen Kleene提出以来,已从理论计算机科学的符号逻辑演变为现代软件开发中不可或缺的文本处理工具。在AI驱动的开发浪潮中&#…

让优秀的评测基准被看见|2025司南年度最受欢迎评测集评选火热征集中!

每一个优秀的评测基准,都是大模型能力进化的重要基石。而那些从 0 到 1 构建评测基准的研究者与团队,往往站在行业最前沿,却并不总是被足够多的人看见。 2025 司南年度最受欢迎评测集评选活动于2025年12月24日正式启动,目前还在火…

书匠策AI:文献综述写作的“时空折叠器”,解锁学术探索新次元

在学术的浩瀚宇宙中,文献综述如同一艘探险船,引领我们穿越知识的海洋,探寻未知的领域。然而,面对堆积如山的文献,如何高效、精准地完成一篇高质量的文献综述,成为了众多学者和学生的难题。今天,…

桓峰基因推出序列分析生信工具教程

桓峰基因公众号推出生信工具教程,有需要生信的老师可以联系我们! SEQ 1.测序的前世今生 SEQ 2.生信工具之GFF和GTF互相转换(gffread) SEQ 3.pfam数据库的注释及本地分析(pfam_scan) SEQ 4.转录本蛋白编码能力预测软件(CPAT) SEQ 5.转录本蛋白编码能力预测…

3个扎心的经济社会真相:世界是庞氏骗局?战争为啥打?城乡消费差在哪

3个扎心的经济社会真相:世界是庞氏骗局?战争为啥打?城乡消费差在哪? 目录 3个扎心的经济社会真相:世界是庞氏骗局?战争为啥打?城乡消费差在哪? 一、世界是不是一个庞氏骗局? 二、战争发生的底层逻辑是什么? 美国频繁战争的底层逻辑:不是“好战”,而是霸权体系的“生…

Django 框架(django-admin 命令详解)

django-admin是Django框架提供的一个命令行工具,它是管理Django项目的核心工具。查看django-admin提供的所有命令 django-admin help创建新项目 django-admin startproject 项目名称创建新应用 django-admin startapp 应用名称检查项目配置 django-admin check这个命…

SolidWorks——12人共享一台图形工作站,20秒打开9000个零部件

在制造业数字化转型浪潮中,SolidWorks作为三维机械设计软件的标杆产品,其性能表现直接影响企业研发效率。某中型装备制造企业近期进行的极限测试显示:当12名工程师通过云飞云共享云桌面技术共享一台搭载NVIDIA RTX A5000显卡的工作站时&#…

YOLOv11+BiFPN双向特征金字塔:多尺度目标检测精度提升28%的实战教程

文章目录 【研发级项目】YOLOv11+BiFPN双向特征金字塔:多尺度目标检测精度提升28%的实战教程 一、项目核心:什么是BiFPN? 二、环境准备:5分钟配置依赖 三、步骤1:编写BiFPN模块(bifpn.py) 四、步骤2:注册BiFPN模块(修改tasks.py) 五、步骤3:编写YOLOv11+BiFPN的配置…

说说你对设计模式的理解

说说你对设计模式的理解 章节目录 文章目录说说你对设计模式的理解设计模式是一套 经过验证的、 被广泛应用于软件开发中的 解决特定问题的 重复利用的方案集合。它们是在软件开发领域诸多经验的基础上总结出来的,是具有普适性、可重用性和可扩展性的解决方案。设计…

YOLOv11+BiFPN双向特征金字塔:全方位解析多尺度检测性能优化指南

文章目录 【研发实战】YOLOv11+BiFPN双向特征金字塔:多尺度检测性能跃升全流程教程 引读:BiFPN为何是你的项目利器? 一、BiFPN核心原理:为什么它能提升多尺度检测? 二、环境准备:快速搭建YOLOv11+BiFPN开发环境 1. 基础依赖安装 三、模块植入:3步将BiFPN嵌入YOLOv11 步骤…

书匠策AI:文献综述写作的“时空穿越者”,解锁学术新维度在学术研究的浩瀚星空中,文献综述如同一盏明灯,照亮研究者前行的道路。然而,面对堆积如山的文献,如何高效、精准地完成一篇高质量的文献综述,却成了

书匠策AI:文献综述写作的“时空穿越者”,解锁学术新维度在学术研究的浩瀚星空中,文献综述如同一盏明灯,照亮研究者前行的道路。然而,面对堆积如山的文献,如何高效、精准地完成一篇高质量的文献综述&#xf…

IoTDB AINode:SQL驱动时序AI全流程落地

Apache IoTDB 作为开源时序数据库标杆,专为物联网场景设计,而 AINode 作为其原生AI节点,实现了“数据库即分析平台”的突破。AINode 可直接集成机器学习模型,通过标准SQL完成模型注册、管理与推理全流程,无需数据迁移或…

高效协同办公+打通数据链路,智能管理方案助力农业企业实现管理升级

某农业科技企业,公司专注农业科研与成果转化,业务覆盖作物育种、种子生产、销售、服务等于一体, 员工规模近500人。一、企业痛点种子管理脱节:从立项、出入库到生产组配,各环节数据分散,进度难追踪&#xf…

设计模式是如何分类的

设计模式是如何分类的 章节目录 文章目录设计模式是如何分类的根据应用目标,设计模式可以分为 创建型、 结构型和 行为型。创建型模式是关于对象创建过程的总结,包括单例、工厂、抽象工厂、建造者和原型模式。 结构型模式是针对软件设计结构的总结&…

Jenkins Job管理实战指南:增删改查与批量操作技巧

为DevOps工具链的核心组件,Jenkins的Job管理能力直接影响持续集成效率。本文将系统梳理Job管理的完整方法论,重点解析批量复制与创建的高阶技巧,帮助运维工程师提升自动化部署能力。 一、Job管理基础操作 1.1 创建与删除Job 通过Jenkins Web界…