1. 低功耗蓝牙技术概述
低功耗蓝牙(Bluetooth Low Energy,简称BLE)是蓝牙4.0标准引入的重要特性,专为低功耗、间歇性数据传输场景设计。与经典蓝牙相比,BLE在保持相似通信范围的同时,功耗降低至1/10到1/100。这项技术特别适合需要长期运行的传感器设备,如心率监测器、智能家居传感器等。
BLE工作在2.4GHz ISM频段,采用40个物理信道(37个数据信道和3个广播信道)。通过自适应跳频技术(AFH)实现抗干扰,数据传输速率可达1Mbps(蓝牙4.x)或2Mbps(蓝牙5.0+)。在实际项目中,我发现BLE的连接建立时间通常能控制在3-6毫秒内,远快于经典蓝牙的100毫秒以上。
注意:虽然BLE和经典蓝牙共享"蓝牙"品牌,但它们在协议栈上完全不同,不能直接互通。选择技术方案时需要明确设备支持的类型。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. GATT协议深度解析
2.1 GATT架构设计
GATT(通用属性配置文件)是BLE通信的核心协议,采用客户端-服务器架构。服务器端(通常是传感器设备)存储数据,客户端(如手机App)发起读写请求。这种设计使得低功耗设备可以大部分时间处于睡眠状态,只在客户端请求时唤醒。
GATT数据采用树状层级结构:
- 设备(Device):物理蓝牙设备
- 服务(Service):功能逻辑分组(如"电池服务"、"设备信息服务")
- 特征值(Characteristic):具体数据点(如"电池电量")
- 值(Value):实际数据(如电量百分比)
- 描述符(Descriptor):元数据(如数据格式说明)
- 特征值(Characteristic):具体数据点(如"电池电量")
- 服务(Service):功能逻辑分组(如"电池服务"、"设备信息服务")
2.2 关键组件详解
**服务(Service)**由UUID唯一标识:
- 16位短UUID:蓝牙技术联盟(SIG)定义的标准服务(如0x180D代表心率服务)
- 128位长UUID:厂商自定义服务(格式:0000xxxx-0000-1000-8000-00805F9B34FB)
**特征值(Characteristic)**包含三个核心部分:
- 属性(Properties):定义操作权限,通过位掩码表示:
java复制// 常见属性组合示例 PROPERTY_READ | PROPERTY_NOTIFY = 0x12
