通用属性配置(Generic Attribute Profiles)
1. 数据在services里面以特征字(characteristics)的形式展示出来
如你所见, 特征字包含属性(Properties), 值(Value), 跟若干描述(Descriptor)
上面的截图描述了, 句柄在40的类型为0x2803的GATT特征字声明UUID中, 权限为只读, 里面的值又包含了
0xFFE1: 简单键值对自定义UUID
0x0029: 对应句柄41
0x10: 对应权限为notify
再看句柄41
类型是0xFFE1, 权限为0, 值为0
另外, 句柄42规定, 它的值如果是0x0000, 就是无notify, 如果改成0x0001, 就会开始notify
service的定义规则会将一堆的句柄放在一起, 作为一个service, 直到另一个的service定义出现, 不然会被当做同一个service, 比如上面的例子的40-42都是属于句柄39这个service.
客户端命令
1. 当两个BLE设备进入连接状态, GATT客户端可以做下面的事儿:
a: 用UUID发现特征字
b: 读特征字的值
c: 写特征字的值
2. 一个GATT server设备可以在客户端无动作的情况下, 自动发送:
a: 通知(Notification), 无回应
b: 指示(Indication), client必须响应才会继续发送
时间: 2024-10-05 14:24:45