一副 TWS 耳机,为什么既要用经典蓝牙,又要用 BLE

做 TWS 耳机时,经常会同时看到经典蓝牙和 BLE。 手机已经通过蓝牙连接耳机,可以播放音乐、接打电话,为什么配套 App 还要再连接一次 BLE?我刚开始接触时,也没有认真区分这两部分,只知道它们都叫蓝牙。 后来做 App 交互功能多了,我才慢慢理解:在目前常见的 TWS 产品里,它们处理的事情并不一样。经典蓝牙主要负责音乐、通话和媒体控制,BLE 更像一条给 App 使用的数据通道。 一、经典蓝牙主要负责耳机的基本功能 平时用耳机听歌、调节音量和接打电话,主要涉及经典蓝牙中的几个 Profile: Profile 在耳机中的主要作用 A2DP 传输音乐音频 AVRCP 播放、暂停、切歌和音量控制 HFP 来电、接听、挂断等通话控制 通话时的语音通常还会通过 SCO/eSCO 链路传输。 这些功能决定了一副耳机能不能正常听歌和通话。以我目前接触到的应用开发来说,平时主要处理 SDK 上报的 A2DP、AVRCP 和 HFP 事件,再根据当前状态执行对应的产品逻辑。 二、BLE 主要负责耳机与 App 交互 配套 App 需要做的事情和播放音乐不太一样。它传输的通常不是连续音频,而是一些控制命令和状态数据。 我做过的项目里,BLE 主要用于这些功能: 修改 EQ; 切换 ANC 模式; 读取耳机电量; OTA 升级; 查找耳机。 例如用户在 App 上切换 ANC,App 会通过 BLE 把命令发给耳机;耳机执行以后,还可能需要把最新状态返回给 App。读取电量也是类似的过程,只是数据方向和触发时机可能不同。 我接触过 GATT 的 Service、Characteristic、读写和通知,不过实际开发时,大部分数据收发还是通过 SDK 封装好的接口完成。刚开始看这些名词时,我觉得它们比较抽象。结合 TWS 耳机的功能,可以先这样理解: ...

BLE设备地址介绍

什么是BLE设备地址 BLE设备地址48位长度,用来识别低功耗蓝牙设备。 地址分为公共地址和随机地址两大类,现代BLE设备为保护隐私,很少直接用公共地址广播。 注意:BLE地址和经典蓝牙地址虽然都是48位,但机制不同。 一、公共设备地址 由IEEE官方分配,全球唯一,永久不变。 常见设备:早期蓝牙键盘、鼠标。 优点:全球唯一,不会冲突。 缺点:申请要钱,容易被追踪定位。 地址结构:通常前3字节是厂商代码,后3字节厂商自己分配,也可以自定义。 举例:00:1A:7D:12:34:56 00:1A:7D = 苹果厂商代码 12:34:56 = 苹果内部设备序号 二、随机设备地址 BLE随机设备地址,设备自己生成,分三种: 1. 静态随机地址 开机时随机生成,本次开机内不变,重启后重新生成。 地址特征:最高两位为"11",地址C0-FF开头。 常见设备:智能手环、体重秤、温度计。 优点:免费,开机内稳定连接。 缺点:设备多了可能冲突,重启后地址变化可能影响自动重连。 2. 可解析私有地址 BLE隐私保护核心。地址定期变化(通常15分钟),配对过的设备可通过IRK密钥识别真实身份。 地址特征:最高两位为"01",地址40-7F开头。 常见设备:iPhone、Apple Watch、Android手机、AirPods。 工作原理:设备用IRK密钥生成临时地址,配对设备存有IRK可验证身份,陌生设备只看到随机地址。 举例:商场里手机地址每10分钟变一次,商家无法追踪你。但AirPods能认出你的手机,因为有共享密钥。 优点:防位置追踪,不影响已配对设备连接。 缺点:需要密钥管理和地址解析算法。 3. 不可解析私有地址(NRPA) 完全随机临时地址,任何设备都无法识别。 地址特征:最高两位为"00",地址00-3F开头 常见场景:BLE Beacon广播、一次性数据推送。 举例:商场Beacon广播促销信息,路人收到即可,无需连接和识别。 优点:最强隐私保护。 缺点:无法建立连接,只能单向广播。 三、应用场景对比 蓝牙键盘鼠标:公共地址,稳定识别。 智能手环体重秤:静态随机地址,成本低。 iPhone和智能手表:可解析私有地址,防追踪。 BLE Beacon:不可解析私有地址,一次性推送。 四、BLE和经典蓝牙地址区别 经典蓝牙主要用公共地址,很少变化。 BLE主流用随机地址(特别是可解析私有地址),定期变化保护隐私。 同一设备可能同时有经典蓝牙地址和BLE地址,它们独立。 BLE地址最高2位标识类型,经典蓝牙没有。 五、实用知识 查看BLE地址(Android):设置→关于手机→状态信息→蓝牙地址。 手机地址为什么总变?现代手机用可解析私有地址,每10-15分钟换一次,防止被追踪。 识别地址类型看第一字节: C0-FF:静态随机 40-7F:可解析私有 00-3F:不可解析私有 其他:公共地址 总结: BLE地址虽然分为四类,但一般都使用随机地址,在开发中 小型外设一般用静态随机,简单省钱 手机可穿戴一般用可解析私有,保护隐私 广播类一般用不可解析私有,单向推送 原文:CSDN · BLE设备地址介绍

BLE的7种工作状态

BLE芯片的链路层定义了7种工作状态,同一时间只能处于一种状态,不同状态之间可以切换,一颗芯片可以有多个状态机同时工作,下面对这些状态进行介绍。 七大状态介绍 一、待机状态(Idle) 芯片既不发送也不接收数据,处于休眠。 特点: 可以从任何状态进入待机状态 可以从待机进入除连接状态外的所有状态 不发射不接收,最省电 举例:你的手环没在用时,芯片就在待机状态睡觉。 二、广播状态(Advertising) 芯片主动发送广告包,告诉周围"我在这里"。 作用:让别人发现你,并能回复扫描请求。 举例:蓝牙音箱进入配对模式,不断广播"我是XX音箱,快来连我"。 可以从广告状态直接进入连接状态。 三、扫描状态(Scanning) 芯片监听周围的广告包,寻找可用设备。 作用:发现附近的BLE设备。 举例:手机打开蓝牙,扫描附近设备,此时手机处于扫描状态。 四、发起状态(Initiating) 芯片接收特定设备的广告包,并回复连接请求。 作用:主动发起连接。 举例:手机点击"连接手环",进入发起状态,向手环发送连接请求。 可以从发起状态进入连接状态。 五、连接状态(Connection) 设备已建立连接,可以双向传输数据。 作用:进行数据交互。 举例:手环和手机已连接,正在同步步数和心率数据。 注意:只能从广播状态或发起状态进入连接状态,不能从待机直接连接 六、同步状态(Synchronization) 芯片接收周期性广告的数据包。 作用:同步接收定期更新的信息。 举例:接收BLE定位信标的周期性位置信息。 适用场景:需要定时接收广播数据但不建立连接。 七、等时广播状态(Isochronous Broadcasting) 芯片在等时信道上发送数据包。 作用:发送对时间敏感的数据流。 举例:BLE音频设备同步传输音乐到多个耳机(LE Audio)。 适用场景:需要精确时序的音频或数据传输。 八、状态切换规则 常见切换路径: 待机 → 广播 → 连接(外设被连接) 待机 → 扫描 → 发起 → 连接(中心设备主动连接) 连接 → 待机(断开连接) 任何状态 → 待机(随时可以休眠省电) 待机 → 广播/扫描/同步/等时广播(但不能直接到连接) 九、实际应用场景 智能手环: 没用时:待机状态(省电) 等待连接:广播状态(被发现) 已连接:连接状态(传数据) 断开后:回到待机 手机: ...