首页 > 代码库 > GATT协议(转载)

GATT协议(转载)

转载自:http://blog.sina.com.cn/s/blog_69b5d2a50101gp0u.html

1.主要用于寻找和配置服务端的属性,其实就是寻找,配置和读写servcice端的各种属性,使其按需要的方式工作。

它有两个角色:服务器和客户端,一个实际的例子:
技术分享
 
2.概述
GATT使用属性协议来传输数据:
技术分享
操作码表示该PDU的类型,包括命令,请求,响应,指示,通知或确认这六种。
逻辑属性表示:技术分享
这是服务端某个属性的格式。
   属性句柄是对应于特定属性的索引。属性类型是描述属性值的UUID。属性值是由所述属性类型所说明的属性柄索引的数据。的属性是通过增加属性拉手values.Attribute权限是不能被读出或写入到使用属性协议属性的一部分进行排序。
 
3.GATT的层次结构
技术分享

多个服务组成完整的个人主页上,一个服务可能包含几个引用的服务,一些强制性的特点可选状语从句特性有两种类型的服务:初级服务和二级service.A主要服务可以通过另一种服务包含的二次服务是仅旨在被从主服务或另一二次服务或其他更高层规范中引用的服务。
 
4.service的组成
(1)服务定义
服务定义应包含的服务宣言,并可能含有包括定义和特征的定义
组织顺序:服务宣言 - >包括定义 - >特性定义
服务宣言:
技术分享

(2),可以列举定义
技术分享

(3)特性定义
一个特征的定义应包含的特性声明,特征值的声明和可能包含的特征描述符的声明。
特征值的声明应立即存在以下特征的声明
(3.1)特性宣言
技术分享

(3.2)特性值宣言
真正的数据是保存在这个里面的
技术分享
(3.3)特性描述声明
用于包含有关特性Value.Only一个特性扩展属性相关的信息
声明应在特色定义存在。
(3.3.1)特性扩展属性
技术分享
技术分享

(3.3.2)特性用户说明
技术分享
(3.3.3)客户端特性配置
技术分享
技术分享

(3.3.4)服务器配置特点
技术分享
技术分享

(3.3.5)特性演示格式
技术分享
技术分享

(3.3.6)特性汇总格式
    只有一个特性集合格式声明应在定义特征存在 .The特点总结格式值由属性的列表手柄特性演示格式声明,每个属性的地方。手柄指向特性演示格式声明。
可以理解为是多个特性演示格式的集合,而且可以使用其他的特征定义的特征表现。
技术分享

3.4 GATT PROFILE属性类型总结
技术分享
主要有以上几种GATT属性类型。
 
5.GATT功能
主要有以下11种:
技术分享
5.1  服务器配置
一个子processdure:交易所MTU
此子过程所使用的客户端向ATT_MTU设置为能够由两个设备所支持的最大可能值。 
 
5.2主要服务DISCOVERY
两个子过程:发现所有的主要服务和Discover主要服务由服务UUID
此过程用于通过客户机到服务器上发现主服务。
 
5.3关系发现
一个子过程:包括查找服务。
存在着可用于关系发现一个子步骤:查找包括服务。

5.4特性DISCOVERY
两个子过程:搜索服务的所有特性,并发现特征  UUID。
此过程用于由客户端来发现的服务器上的服务的特性。
 
5.5  特性描述符DISCOVERY
一个子过程:发现所有的特征描述符。
此过程用于由客户端来发现的特性的特性描述符。
 
5.6特征值READ
四个子过程:读特性值,阅读使用特点UUID,阅读长CharacteristicValues和读取多个特征值。
此过程用于读取从服务器特征值。
 
5.7特征值WRITE
5个子过程:写不响应,签名写无反应,写特性
值,写长长的特征值和可靠的读写。
这个程序是用来写的特征值到服务器。
 
5.8特征值通知
1个子过程:通知。
这个程序用于通知从服务器特征值的值的客户端。
 
5.9  特征值适应症
1个子过程:适应症
这个程序被用来指示从服务器到客户端的特征值。
5.10  特性描述子
两个子过程:  写特性描述符和写入特性描述符。
此过程用于读取和服务器上写特性描述符。
 
下图是关贸总协定和ATT的相关processdure的映射图:
技术分享
技术分享

6.其他
服务CHANGED:一个重要的特点,被用于指示该服务已经改变连接的设备。
技术分享
技术分享
只有一个关贸总协定服务定义中的服务改变的特性的实例
GATT在BR / EDR:
技术分享

GATT协议(转载)