本文最后更新于 2026年11月6日。
一句话总览:
- BLE = 低功耗蓝牙(Bluetooth LE):蓝牙 4.0 新增,主打省电、小数据;
- GATT 是 BLE 连上之后的数据通信规则,所谓“GATT 连接”就是走这套规则的 BLE 连接;
- 经典蓝牙(BR/EDR):老蓝牙,用来持续流音频、大流量;
- 双模蓝牙:一颗蓝牙芯片同时具备「经典蓝牙 + BLE」两套射频。
1. BLE(Bluetooth Low Energy,低功耗蓝牙)
蓝牙 4.0 开始引入,和经典蓝牙是两套独立射频,不是升级替换。
- ✅:平均功耗极低,可以纽扣电池跑数月/数年;适合间歇性少量数据;支持广播、通知(Notify);手环、体重秤、蓝牙遥控器、传感器、读电量、固件升级、米家/蓝牙透传大多是 BLE
- ❌:不适合长时间高速流媒体;单次小包不大
注意:BLE 只是底层无线,连上之后绝大多数业务都跑 GATT。
2. GATT 连接(Generic Attribute Profile)
GATT 是 BLE 的上层数据协议(基于 ATT 属性协议),定义数据怎么组织、读写、推送通知。 结构层级:
- Service(服务):一组相关功能(例如电池服务、心率服务,有固定 UUID)
- Characteristic(特征):真正的数据点,带权限:读 / 写 / Notify(主动推送)
- Descriptor(描述符):附加配置,最常用 CCCD,用来打开 Notify
角色:
- GATT Server(服务端 / 从机 Peripheral):外设,手环、传感器,放数据表
- GATT Client(客户端 / 主机 Central):手机,去发现服务、读写特征
“建立 GATT 连接” = BLE 链路建好,并且成功发现、访问它的服务与特征。
✦:经典蓝牙不走 GATT;GATT ≠ BLE,但日常说 GATT 连接几乎就等于 BLE 连接。
3. 经典蓝牙(Classic Bluetooth / BR/EDR)
老一代蓝牙(蓝牙 1.x / 2.x / 3.x),现在也叫 BR/EDR:
- 设计目标:持续流式传输,带宽更大;SBC/A2DP 音乐、HFP 通话、老式蓝牙串口、蓝牙文件传输、老式蓝牙鼠标
- 缺点:待机、持续连接耗电明显高于 BLE
- 它自己有另外一套 Profile(A2DP、HID、SPP),不是 GATT
很多耳机是:经典蓝牙负责听歌通话,BLE/GATT 负责 APP 调 EQ、读电量、升级固件。
4. 双模蓝牙(Dual Mode)
射频同时支持两套:
- ✅:既可以跑经典蓝牙(A2DP、SPP),又可以跑 BLE + GATT
- ✅:手机蓝牙基本都是双模;很多耳机、蓝牙模块也是双模
- 对比:
- 单模 BLE:只能低功耗,不能播音乐
- 单模经典:老芯片,没有低功耗通道
- 双模:两者兼得
快速对比
| 项目 | 经典蓝牙 BR/EDR | BLE(低功耗) |
|---|---|---|
| 主打 | 连续音频、大流 | 低功耗、零星小数据 |
| 上层常用协议 | A2DP / HFP / SPP | GATT |
| 功耗 | 较高 | 很低 |
| 典型设备 | 老音箱、蓝牙耳机音频通道 | 手环、传感器、电量读取 |
常见坑
- “蓝牙连上了,APP 读不到电量”:系统连上的是经典蓝牙音频,APP 需要单独建立一条 BLE GATT 连接;
- “SPP”:有经典 SPP,也有 BLE 模拟串口(基于 GATT),不是一回事;
- BLE 广播 ≠ GATT 连接:广播只是发广告包;GATT 需要正式建链。