晟辉智能制造

蓝牙技术如何实现数据传输的具体流程?

核心概念

要理解几个蓝牙世界的核心角色:

蓝牙技术如何实现数据传输的具体流程?-图1
(图片来源网络,侵删)
  • 主设备: 发起连接、管理通信的设备,你的手机、笔记本电脑。
  • 从设备: 被动等待连接、响应主设备的设备,无线耳机、智能手表、键盘。
  • GAP (Generic Access Profile): 通用访问配置文件,定义了设备如何被发现、配对和连接,它决定了蓝牙设备“露面”的方式。
  • GATT (Generic Attribute Profile): 通用属性配置文件,定义了设备之间如何交换数据,一旦连接建立,数据交换主要通过GATT进行。
  • Profile (配置文件): 一套规范,定义了某种特定类型设备的行为和数据格式。A2DP(音频传输配置文件)定义了如何传输立体声音频,HFP(免提配置文件)定义了电话通话功能,耳机之所以能同时支持听音乐和接电话,就是因为它同时支持A2DP和HFP这两个Profile。

蓝牙实现流程的四大阶段

整个流程可以概括为以下四个主要阶段:

  1. 设备发现与寻址
  2. 配对与认证
  3. 链路建立与配置
  4. 数据交换与通信

设备发现与寻址

这个阶段的目标是让一个主设备(如手机)能够“看到”并找到它想要连接的从设备(如耳机)。

设备进入可发现模式

  • 从设备(耳机) 用户按下配对按钮后,耳机进入可发现模式
  • 底层机制:耳机的蓝牙控制器会周期性地在特定的广播信道上发送一种特殊的数据包,称为广播数据包
    • 广播信道:蓝牙工作在2.4GHz的ISM频段,它将其划分为79个1MHz的信道,40个信道(37, 38, 39)被专门用于广播。
    • 广播数据包:这个包里包含了设备的基本信息,比如设备名称(如 "My AirPods")、设备类型、以及一些标志位,告诉周围设备“我在线,并且可以被连接”。

主设备(手机)进行扫描

蓝牙技术如何实现数据传输的具体流程?-图2
(图片来源网络,侵删)
  • 主设备(手机) 用户打开蓝牙设置并点击“扫描”或“搜索设备”。
  • 底层机制:手机的蓝牙控制器会轮流切换到那3个广播信道(37, 38, 39),并“收听”来自从设备的广播数据包,这个过程称为扫描

发现设备并显示

  • 当手机扫描到耳机发出的广播数据包后,它会解析数据包中的设备名称等信息,并将其显示在屏幕上的“可用设备”列表中。
  • 手机和耳机之间并未建立连接,手机只是“听”到了耳机的“广播”而已。

配对与认证

当用户从手机列表中选择耳机并点击“连接”时,就进入了配对与认证阶段,这一步的目的是在两个设备之间建立一个安全密钥,确保只有授权的设备才能进行通信,并防止数据被窃听。

配对的方式有多种,复杂度不同,取决于设备的类型和能力,最常见的有:

  • Just Works (最简单):

    蓝牙技术如何实现数据传输的具体流程?-图3
    (图片来源网络,侵删)
    • 流程:用户在手机上选择耳机,手机和耳机自动完成配对,无需任何额外操作。
    • 原理:双方生成一个相同的临时密钥,但这个密钥本身不显示给用户,适用于没有屏幕或输入能力的设备(如TWS耳机、鼠标)。
    • 安全性:较低,因为中间人攻击可以伪造设备,但对于大多数非敏感应用足够。
  • Passkey Entry (输入码):

    • 流程:一个设备(如电脑)显示一个6位数字码,用户需要将这个码输入到另一个设备(如键盘)中。
    • 原理:双方基于一个共享的秘密和输入的码来生成最终的密钥。
    • 安全性:高,确保用户正在连接的是显示正确码的物理设备。
  • Numeric Comparison (数字比较):

    • 流程:两个设备(如手机和手表)都显示一个6位数字码,用户需要核对两个设备上显示的码是否一致。
    • 原理:与输入码类似,但验证方式不同,防止用户输入错误或被欺骗。
    • 安全性:高。
  • Out-of-Band (带外):

    • 流程:通过蓝牙之外的通道(如NFC、二维码)来交换配对信息。
    • 原理:用手机碰一下支持NFC的耳机,NFC会瞬间完成设备识别和密钥交换,然后蓝牙再基于此完成安全配对。
    • 安全性:非常高,因为配对信息通过物理通道传递,几乎不可能被远程攻击。

配对成功后,两个设备都会存储对方的设备地址和生成的链接密钥,这意味着下次连接时,如果信任关系还在,可以大大简化连接过程(进入“已配对设备”列表,点击即可快速连接)。


链路建立与配置

配对成功后,手机(主设备)会正式向耳机(从设备)发起连接请求。

创建连接

  • 主设备 发送一个连接请求数据包到从设备的设备地址
  • 从设备 收到请求后,同意连接,通信模式从广播模式切换到连接模式
  • 信道跳频:连接建立后,两个设备会协商出一组物理信道,并开始在这些信道上快速、伪随机地跳频,这是蓝牙抗干扰的核心技术,可以有效避开Wi-Fi、微波炉等其他2.4GHz设备的干扰。

逻辑链路建立

  • 连接建立后,会创建一个或多个逻辑链路控制与适配协议通道,这可以看作是两个设备之间稳定的数据传输管道。

服务发现

  • 连接只是管道建好了,但管道里传输什么数据,由服务定义。
  • 主设备会发送一个“服务发现”请求,询问从设备:“你能提供哪些服务?”
  • 从设备会回复一个列表,列出它支持的所有服务特征
    • 服务: 一个功能集合,音频服务”。
    • 特征: 服务中的具体数据项,音量”、“播放状态”、“电池电量”等,每个特征都有唯一的UUID(通用唯一标识符)。
  • 手机解析这个列表,并根据Profile(如A2DP)来理解这些特征的意义,手机知道A2DP服务下的某个特征就是音频数据流。

数据交换与通信

万事俱备,可以进行实际的数据传输了,这主要通过GATT协议进行。

数据传输模式 蓝牙低功耗技术主要使用两种模式:

  • 通知: 从设备(耳机)可以随时向主设备(手机)推送数据,主设备无需每次都请求,耳机电池电量从90%降到80%,可以主动“通知”手机。
  • 指示: 与通知类似,但更可靠,主设备必须回复确认收到,否则从设备会重试,手表发送一条心率数据给手机。
  • 读/写: 主设备主动请求(读)或发送(写)数据,手机发送一个“音量调大”的指令给耳机(写),或者读取耳机的电池电量(读)。

典型音频数据流(以A2DP为例)

  • 编码:手机(音频源)将数字音频文件(如MP3、AAC)进行编码,压缩成蓝牙支持的音频编码格式(如SBC、AAC、aptX)。
  • 打包:编码后的音频数据被分割成小的数据包,并按照A2DP Profile的规范进行封装。
  • 传输:这些数据包通过已经建立的L2CAP通道,在物理层上进行高速传输,由于采用了跳频技术,这个传输过程非常稳定和抗干扰。
  • 解码与播放:耳机(音频接收端)接收到这些数据包后,进行解码,还原成模拟音频信号,然后驱动扬声器发声。
阶段 目标 关键技术/概念 典型操作
设备发现 让主设备找到从设备 广播信道, 广播数据包, 扫描 耳机进入配对模式,手机点击“扫描”
配对认证 建立安全密钥,授权连接 Just Works, Passkey, GAP, 链路密钥 用户在手机上点击连接,选择配对方式
链路建立 建立稳定的数据通道 连接请求, 信道跳频, L2CAP, 服务发现 手机发起连接,耳机同意,手机查询耳机功能
数据交换 实际传输应用数据 GATT, Profile (A2DP/HFP), 特征, 通知/读写 手机发送音频数据流,耳机播放;耳机通知手机电量

整个过程就像两个人在嘈杂的派对上交流:

  1. 发现:你大声喊出你的名字(广播),让朋友能听到你。
  2. 配对:你和朋友确认彼此身份(比如通过一个暗号),确保你在和正确的人说话。
  3. 建立链路:你们找到一个相对安静的角落,约定好沟通方式。
  4. 数据交换:你们开始在这个角落里进行正常的对话(传输信息)。

蓝牙技术的巧妙之处在于,它将复杂的无线通信细节(如跳频、纠错、安全加密)都封装在底层协议栈中,让上层应用开发者可以更简单地实现功能。

分享:
扫描分享到社交APP
上一篇
下一篇