- 取代连接便携式和固定电子设备的线缆。
- 提供稳健、节能且经济高效的解决方案。
- 提高解决方案及其应用的灵活性。
BR/EDR 和低功耗无线电选项支持设备发现、连接建立和连接机制。无线电的最佳选择取决于解决方案的用例或应用。
Qualcomm® Linux® 支持以下套件的蓝牙解决方案。
| 套件 | 硬件片上系统(SoC) | 蓝牙芯片组 | 蓝牙协议栈 | ||
|---|---|---|---|---|---|
| QCS6490 |
| BlueZ | ||
| QCS5430 |
| BlueZ | ||
| IQ-9075 |
| BlueZ | ||
| IQ-8275 |
| BlueZ | ||
| IQ-615 |
| BlueZ | ||
| IQ-x7181 |
| BlueZ | ||
| IQ-x5121 |
| BlueZ | ||
| CQ2390 |
| IQ10 |
| BlueZ |

图:Qualcomm 连接芯片组框图
蓝牙规范
WCN6750、WCN6856、WCN7850 和 QCA6698AQ 连接芯片组符合 Bluetooth Core specification v5.2 或 v5.3。这些芯片组具有以下控制器特性和能力:- 蓝牙低功耗数据速率高达 2 Mbps
- 长距离模式,在 500 Kbps 和 125 Kbps 两个新的较低比特率下具有更好的灵敏度
- 通过使用广播扩展,广播能力提升 8 倍
- 改进的信道选择算法(CSA #2),有助于改进信道协调以及与其他蓝牙和非蓝牙流量的共存效率
BlueZ 协议栈
BlueZ 是一个支持核心蓝牙层和协议的蓝牙 Linux 协议栈。BlueZ 的特性如下:- 符合 Bluetooth Core specification v5.4
- 支持多个蓝牙设备
- 为所有层实现套接字接口
- 支持多线程数据处理
蓝牙规范(Profile)和角色
蓝牙 Profile 定义了建立蓝牙连接所需的设备规范、要求和角色。Profile 还决定了设备之间使用的通信协议。 BlueZ 协议栈为连接芯片组支持以下蓝牙 Profile 和角色。| Profile | 角色 | 版本 | 芯片组支持情况 | |||
|---|---|---|---|---|---|---|
| WCN6750 / WCN6856 | WCN7850 | QCA6698AQ | WCN3988 | |||
| 通用访问规范(GAP) | 中央设备和外围设备 | ✓ | ✓ | ✓ | ✓ | |
| 串行端口规范(SPP) | 客户端和服务器 | v1.2 | ✓ | ✓ | ✓ | ✓ |
| HID over GATT 规范(HOGP,人机接口设备) | 主机 | v1 | ✓ | ✓ | ✓ | ✓ |
| 通用属性规范(GATT) | 中央设备和外围设备 | ✓ | ✓ | ✓ | ✓ | |
| 高级音频分发规范(A2DP) | Source | Nonsplit v1.3 | ✓ | ✕ | ✓ | ✓ |
| Sink | Nonsplit v1.3 | ✓ | ✕ | ✓ | ✓ | |
| 音频/视频远程控制规范(AVRCP) | Target | v1.5 | ✓ | ✕ | ✓ | ✓ |
| Controller | v1.5 | ✓ | ✕ | ✓ | ✓ | |
| 免提规范(HFP) | 音频网关 | Nonsplit v1.7 | ✓ | ✕ | ✕ | ✓ |
| 客户端 | Nonsplit v1.7 | ✓ | ✕ | ✕ | ✓ | |
| 对象推送规范(OPP) | 客户端和服务器 | v1.2 | ✓ | ✓ | ✓ | ✓ |
| 文件传输协议(FTP) | 客户端和服务器 | v1.2 | ✓ | ✓ | ✓ | ✓ |
| 电话簿访问规范(PBAP) | 客户端和服务器 | v1.1 | ✓ | ✓ | ✓ | ✓ |
| 消息访问规范(MAP) | 客户端和服务器 | v1.2 | ✓ | ✓ | ✓ | ✓ |
支持蓝牙 Profile 并发。
通用访问规范
蓝牙低功耗 GAP 是现有 BR/EDR GAP 的扩展。它处理设备的以下基本操作:- 发现设备
- 建立连接
- 绑定多个设备
- 建立私密连接
- 解析私有地址
- 发现蓝牙设备的通用流程
- 连接蓝牙设备的链路管理方面
- 与安全级别相关的流程
- 用户界面级参数的通用格式,例如命名约定
串行端口规范
SPP 便于设备之间通过虚拟串行端口进行无线通信。它支持客户端和服务器角色。 SPP 定义了以下要素:- 蓝牙设备使用射频通信(RFCOMM)在两个对等设备之间建立模拟串行线缆连接的要求。
- 为应用程序提供的服务条款。
- 蓝牙设备之间互操作性的特性和流程。
通用属性规范
GATT 是一个服务框架,它使用属性协议(ATT)来发现服务,以及读取和写入对等设备上的特征值。它支持客户端和服务器角色。 GATT 执行以下功能:- 通过应用程序 Profile 与应用程序交互。 应用程序 Profile 定义了属性集合以及设备间通信中使用的属性所需的任何权限。
- 指定两个蓝牙低功耗设备如何使用服务或声明、特征和描述符交换数据。 它不定义属性使用规则。上层应用程序通过使用这些概念来实现功能。
- 将服务、特征和相关数据存储在基本查找表中,并为每个条目分配 16 位 ID。
HID over GATT 规范(人机接口设备)
HOGP 定义了蓝牙低功耗无线通信设备如何使用 GATT 通过蓝牙低功耗协议栈支持 HID 服务。仅支持并验证了主机(Host)角色;不支持 HOGP 客户端角色。
高级音频分发规范
A2DP 定义了通过蓝牙连接将高质量音频从一个设备传输或流式传输到另一个设备的要求。例如,将音乐从手机、笔记本电脑或台式机流式传输到无线耳机,以及将音频流式传输到助听器、人工耳蜗或车载控制台。 A2DP 支持以下角色。免提规范
HFP 定义了音频网关设备如何连接到免提设备以实现远程控制和音频连接等功能。 HFP 为设备定义并分配以下 Profile 角色。对象推送规范
OPP 定义了两个蓝牙设备如何交换对象,例如名片、图像、壁纸、铃声或视频。它允许蓝牙设备:- 从另一个蓝牙设备拉取对象。
- 向另一个蓝牙设备推送对象。
- 与另一个蓝牙设备交换对象。
文件传输协议
FTP 定义了两个蓝牙设备之间交换文件的要求。FTP 支持客户端和服务器角色。它允许蓝牙设备:- 浏览另一个蓝牙设备的文件和文件夹。
- 与另一个蓝牙设备交换文件和文件夹。
- 在另一个蓝牙设备上创建或删除文件和文件夹。
电话簿访问规范
PBAP 便于在远程设备和本地设备之间交换电话簿对象。它基于客户端-服务器交互模型,客户端设备从服务器设备获取电话簿对象。在 BlueZ 协议栈中,PBAP 支持以下角色:- 电话簿服务器设备(PSE):包含源电话簿对象。
- 电话簿客户端设备(PCE):从 PSE 检索电话簿对象。
PBAP 允许以下功能:
- 从远程设备下载联系人和通话历史。
- 浏览远程设备上的联系人。
- 选择电话簿对象。
消息访问规范
MAP 定义了设备用于交换消息对象的功能和流程。它基于客户端-服务器交互模型,由客户端发起事务。消息对象类型包括电子消息(电子邮件)和短消息服务(SMS)。 MAP 结合消息服务器设备的消息传递能力和客户端设备的用户界面能力,以实现通知、浏览、阅读、删除、生成和发送消息。在 BlueZ 协议栈中,MAP 支持以下设备角色:- 消息服务器设备(MSE):提供消息存储库引擎。
- 消息客户端设备(MCE):使用 MSE 的消息存储库引擎实现 MAP 功能。
后续步骤
- 要开始验证 BlueZ 协议栈的功能,请参见 验证 BlueZ 协议栈的功能。
- 要了解有关蓝牙架构的更多信息,请参见 蓝牙软件架构。

