ATT(Attribute Protocol)属性层是GATT和GAP的基础,它定义了BLE协议栈上层的数据结构和组织方式。
BLE属性协议,它是处于L2CAP协议层与GATT之间的一层属性操作协议。
GATT(Generic Attribute Profile),通用属性协议,在GATT之上即是我们的应用程序,通过GATT统一属性格式和属性访问接口,对于APP开发来讲操作对象就变成了对一个个定义的属性进行读写。
主要由3部分组成:Handle、Attribute Type、Attribute Value其中Handle是作为索引的依据类似数组的下标,Attribute Type是根据UUID而定义的128bit标识(实际传输可以只传递16bit),Attribute Value即属性值
如何发现和使用服务的一些标准方法:
- 发现规程
- 发现服务:发现所有首要服务、按UUID发现首要服务、查找包含服务。
- 发现特性:发现所有特性、发现所有特性描述符。
- 客户端发起规程:读/写特性值、读/写特性描述符。
- 服务端发起规程:通知/指示。
GATT profile的层次结构依次是:Profile—>Service—>characteristic
一个Service包含一个或者多个Characteristic(特征),也可以通过Include的方式,包含其它Service。
Characteristic则