Profile(规范)是蓝牙互操作的「合约」:定义角色、必选/可选协议、流程、参数。本文梳理经典蓝牙常见 Profile 的定位与典型流程,是应用层开发与故障分析的基础。
一、Profile 体系结构
- GAP:所有 Profile 的根,定义发现、连接、安全模式
- SDAP:基于 SDP 的服务发现应用规范
- 垂直 Profile:SPP / GOEP / HFP / A2DP / AVRCP / PBAP / HID / PAN
二、GAP(Generic Access Profile)
2.1 角色
- Initiator / Acceptor:发起方 / 接收方
- Master / Slave:微微网主从(连接后角色可互换)
2.2 主要规定
- 设备发现流程(Inquiry / Inquiry Scan)
- 连接建立流程(Page / Page Scan)
- 安全模式(Security Mode 1~4)
- 用户界面术语(Friendly Name、Class of Device)
2.3 安全模式演进
| 模式 | 含义 | 引入版本 |
|---|
| Mode 1 | 不安全(已废弃) | 1.x |
| Mode 2 | 服务级强制安全 | 2.0 |
| Mode 3 | 链路级强制安全 | 2.0 |
| Mode 4 | SSP 强制安全 | 2.1+(当前主流) |
三、SPP(Serial Port Profile)
3.1 角色
- 仅一个角色,两设备对等使用虚拟串口
- 基于 RFCOMM(必选)+ L2CAP + SDP
3.2 流程
3.3 典型参数
四、GOEP / OPP / FTP / PBAP(对象交换族)
| Profile | 基于 | 用途 |
|---|
| GOEP | OBEX | 通用对象交换根 |
| OPP | GOEP | 推送文件/名片 |
| FTP | GOEP | 文件夹浏览/传输 |
| PBAP | GOEP | 电话簿下载(车机常用) |
| BIP | GOEP | 图片推送/打印 |
| SYNC | GOEP | 同步(已少用) |
PBAP 典型流程(车机下载联系人)
五、HFP(Hands-Free Profile)
5.1 角色
- AG(Audio Gate):手机侧,提供音频网关
- HF(Hands-Free):耳机/车机侧
5.2 协议栈
应用层(HFP)
│
AT 命令集(基于 RFCOMM)+ SCO/eSCO 音频
│
L2CAP → 基带
5.3 关键 AT 命令
| AT 命令 | 用途 |
|---|
| AT+BRSF | 双方能力交换 |
| AT+CIND | 指示器(信号、电量、通话状态) |
| AT+CIEV | 指示器更新通知 |
| AT+BVRA | 语音识别激活 |
| AT+CLCC | 当前通话列表 |
| AT+VGS / AT+VGM | 喇叭/麦克风增益 |
| +BSIR | in-band ring 提示 |
5.4 HFP 版本
| 版本 | 关键特性 |
|---|
| 1.5 | 基础免提 |
| 1.6 | 宽频语音(WBS,mSBC 16kHz) |
| 1.7 | EVRC-NW 语音 |
| 1.8 | LE Audio 协作(2022) |
六、A2DP(Advanced Audio Distribution Profile)
6.1 角色
- Source(SRC):手机/PC,编码上行
- Sink(SNK):耳机/音箱,解码下行
6.2 协议栈
A2DP(媒体语义)
│
AVDTP(流传输)
│
L2CAP(PSM 0x001B)
│
ACL 基带
6.3 强制与可选编解码
| 编解码 | 强制性 | 比特率 | 备注 |
|---|
| SBC | SRC/SNK 必须支持 | ≤328 kbps | 子带 ADPCM |
| MPEG-1/2 Audio | 可选 | - | 已淘汰 |
| MPEG-2/4 AAC | 可选 | 高 | iOS 主推 |
| aptX / aptX HD | 可选 | 352/576 kbps | 高通 |
| aptX Adaptive | 可选 | 279~420 kbps | 低延迟 |
| LDAC | 可选 | 330/660/990 kbps | 索尼 Hi-Res |
| LHDC / LLAC | 可选 | 400~900 kbps | Savitech |
| Samsung Scalable | 可选 | 88~512 kbps | 三星 |
| LC3(LE Audio) | 不属于 A2DP | - | 见 LE Audio |
6.4 SBC 关键参数
- 采样率:44.1 / 48 kHz
- 声道:Mono / Dual Channel / Stereo / Joint Stereo
- Allocation:Loudness / SNR
- Subbands:4 / 8
- Bitpool:2~53(决定码率与音质)
6.5 SBC vs 高码率编码
- SBC 默认约 328 kbps(Joint Stereo, bitpool=53),听感低于 LDAC
- iOS 默认走 AAC-LC,安卓部分设备可通过开发者选项切换
- LDAC 990 kbps 需 SRC/SNK 双方支持,且信号良好时才能稳定
七、AVRCP(远程控制)
详见 [[经典蓝牙-核心协议层]] 第四章。常见命令:
| 操作 | Pass-through 命令 |
|---|
| 播放 | 0x44 |
| 暂停 | 0x46 |
| 上一首 | 0x48 |
| 下一首 | 0x4B |
| 快进 | 0x49 |
八、HID Profile
8.1 定位
- 基于 L2CAP PSM 0x0011(Control)/ 0x0013(Interrupt)
- 沿用 USB HID 描述符
- 经典蓝牙 HID 已逐步被 LE HID over GATT 取代
8.2 流程
- SDP 查询 HID 服务(UUID 0x1124)
- 建立 Control 信道(PSM 0x0011)
- 建立 Interrupt 信道(PSM 0x0013)
- 设备按报告描述符上报(如键盘/鼠标报告)
九、PAN Profile
| 角色 | 全称 | 用途 |
|---|
| PANU | PAN User | 通用网络节点 |
| NAP | Network Access Point | 提供网络接入 |
| GN | Group Ad-hoc Network | 组网节点 |
通过 BNEP 承载以太网帧,可分 IP、做 NAT。在智能家居网关、车机联网中仍有使用。
十、Profile 速查表
| Profile | UUID | 承载 | 主角色 |
|---|
| SPP | 0x1101 | RFCOMM | 双向串口 |
| DUN | 0x1103 | RFCOMM | 拨号上网 |
| FAX | 0x1111 | RFCOMM | 传真 |
| OPP | 0x1105 | OBEX | 推送对象 |
| FTP | 0x1106 | OBEX | 文件传输 |
| A2DP-SRC | 0x110A | AVDTP | 音频源 |
| A2DP-SNK | 0x110B | AVDTP | 音频汇 |
| AVRCP-TG | 0x110C | AVCTP | 被控端 |
| AVRCP-CT | 0x110E/0x110F | AVCTP | 控制端 |
| HFP-AG | 0x111F | RFCOMM+SCO | 手机侧 |
| HFP-HF | 0x111E | RFCOMM+SCO | 耳机侧 |
| PBAP-PCE | 0x112E | OBEX | 客户端 |
| PBAP-PSE | 0x112F | OBEX | 服务端 |
| HID | 0x1124 | L2CAP | 人机接口 |
| PAN-NAP | 0x1116 | BNEP | 网络接入点 |