STM32WB 上实现 BLE 全双工语音流文档笔记

发布时间: 2023-03-08 16:09:33 作者: 大象笔记

排查无法收到蓝牙设备语音流的问题时,发现仅仅阅读 SDK 源代码很难定位到问题根源,主要是不了解整个通信过程。 所以阅读了一下 STM32WB 的官方专题文档,确实收获不少。

文档地址

https://www.stmcu.com.cn/Article/ArticleCat/cat_code/mkt_info/art_id/2121

报警推送

opus 服务下有两个 notify 特性:

之前没仔细看,以为两个特性 id 一致,实际上不一样。正好区分了音频和控制功能。

手机 App 和蓝牙设备在对讲中的角色

指示灯对应的不同状态

应用流程图

这个流程图绝对的良心,太细致了。看一遍好多现有的疑惑都解开了。

到这里,我大概明白了为何我的手机上默认收不到蓝牙设备发送来的语音,需要点一下板子上的按钮才能收到。实际上就是触发了 app 修改 cccd 值的操作。

而另一个 android 11 手机上一直正常,猜测是其安装的 app 版本低,跟我手机上的 app 版本不一致,其可以主动修改 cccd 值,而不需要按按钮发起。

我是一名山东烟台的开发者,联系作者