一、蓝牙技术概述
1、发展历程
- 蓝牙1.x:基础数据传输(语音、文件),但功耗高、速率低(~1 Mbps)。
- 蓝牙2.x+EDR:增强数据速率(~3 Mbps),支持A2DP(音乐传输)。
- 蓝牙4.x(BLE):低功耗蓝牙(Bluetooth Low Energy),专为物联网设计,牺牲速率(~1 Mbps)换续航。
- 蓝牙5.x:提升传输距离(300米)、速率(2 Mbps)、广播容量(扩展广播),支持Mesh组网。
2、核心特性
- 频段:2.4 GHz ISM频段(2402-2480 MHz),分79个信道(传统蓝牙)或40个信道(BLE)。
- 调制方式:GFSK(高斯频移键控),BLE 5.0新增可选PHY(如LE 2M PHY)。
- 拓扑结构:点对点、星型、广播(一对多)、Mesh(多对多)。
二、蓝牙协议栈分层
蓝牙协议栈分为控制器层(Controller)和主机层 (Host),通过HCI(主机控制接口)通信:
┌───────────────────────┐
│ 应用层 │ // 用户应用(如心率监测、文件传输)
├───────────────────────┤
│ GATT/ATT │ // BLE数据交互协议
├───────────────────────┤
│ L2CAP │ // 数据分包/重组、协议复用
├───────────────────────┤
│ HCI │ // 主机与控制器通信接口
├───────────────────────┤
│ Link Layer (控制器) │ // 射频控制、连接管理
└───────────────────────┘
三、蓝牙工作模式
1、传统蓝牙(BR/EDR)
- 适用场景:持续大数据传输(音频、文件)。
- 连接流程:
发现设备 → 配对 → 建立ACL连接 → 创建SCO/eSCO链路(语音)
- 典型协议:
- A2DP:音频传输
- HFP:免提通话
- AVRCP:媒体控制
2、低功耗蓝牙(BLE)
- 适用场景:间歇性小数据(传感器、遥控器)。
- 连接流程:
广播 → 扫描 → 发起连接 → 数据交互(GATT)
- 省电机制:
- 连接间隔(Connection Interval):1.25ms~4s,协商决定数据传输频率。
- 从设备延迟(Slave Latency):允许从设备跳过指定次数连接事件,降低唤醒频率。
3、双模蓝牙(BR/EDR + BLE)
同时支持传统蓝牙和BLE(如智能手机)。
四、BLE核心技术
1、 广播与扫描
-
广播类型:
- 可连接广播(ADV_IND):允许主设备发起连接。
- 定向广播(ADV_DIRECT_IND):快速连接已知设备。
- 非可连接广播(ADV_NONCONN_IND):仅传输数据(如Beacon)。
-
扫描类型:
- 主动扫描:请求扫描响应包。
- 被动扫描:仅接收广播包。
2、GATT数据交互
- 读写操作 :客户端主动请求数据(READ/WRITE)。
- 通知与指示:服务端主动推送数据(NOTIFY无需确认,INDICATE需客户端确认)。
3、安全机制
- 配对模式
- Just Works:无认证(简单设备如手环)。
- Passkey Entry:输入6位数字配对码。
- Out of Band (OOB):通过NFC等方式交换密钥。
- 加密级别:
- LE Secure Connections:基于椭圆曲线加密(ECC),防中间人攻击。