1. 蓝牙ATT协议基础:属性表的核心作用
蓝牙低功耗(BLE)通信的核心是属性协议(ATT),它定义了设备之间如何发现、读取和写入数据。如果把BLE通信比作快递系统,那么属性表就是快递公司的仓库管理系统——它决定了哪些货物(数据)可以被存取、如何分类存放,以及谁有权操作这些货物。
属性表通常由Server端(如智能手环、传感器等外设)维护,包含四个关键部分:
- Attribute Handle:相当于仓库货架编号,是16位唯一标识符(0x0001-0xFFFF)
- Attribute Type:用UUID标识的数据类型,好比货物分类标签
- Attribute Value:实际存储的数据内容,最大512字节
- Attribute Permissions:权限控制,决定客户端能否读写或通知
实际开发中,TI CC26xx等芯片厂商的SDK已经封装了底层通信细节。以创建心率服务为例,我们需要:
- 定义服务UUID(如0x180D)
- 添加特征值(如心率测量值0x2A37)
- 设置权限(读/写/通知)
// TI CC26xx SDK示例
static gattAttribute_t heartRateSvc[] = {
// 服务声明
{ { ATT_BT_UUID_SIZE, primaryServiceUUID }, GATT_PERMIT_READ, 0, (uint8_t *)&heartRateService },
// 心率特征声明
{ { ATT_BT_UUID_SIZE, characterUUID }, GATT_PERMIT_READ, 0, &heartRateCharProps },
// 心率特征值
{ { ATT_BT_UUID_SIZE, heartRateMeasUUI

9337

被折叠的 条评论
为什么被折叠?



