通用属性 (GATT) 和通用属性配置文件

通用属性 (GATT) 定义了一种面向蓝牙 LE 设备的分层数据结构。

GATT 配置文件可实现大规模的创新,同时仍可维持与其他蓝牙设备之间充分的互操作性。该配置文件以 GATT 功能为基础,描述了用例、角色和一般性能。服务集合了封装设备组件性能的其他服务的特征和关系。这还包括在属性服务器中所用服务的层次结构、特征和属性。 

GATT 建立在属性协议 (ATT) 之上(参见“蓝牙核心系统结构”的框图和说明),ATT 使用 GATT 数据来定义两个蓝牙低耗能设备之间发送和接收标准消息的途径。请注意,GATT 并不用于仅使用已采纳的配置文件的蓝牙 BR/EDR 实施。

GATT 配置文件的层次结构

GATT 配置文件的层次结构

通用属性配置文件 (GATT) 规程定义了服务、特征及其描述符被发现、继而用于允许蓝牙低耗能设备传输数据的标准途径。该配置文件以 GATT 功能为基础,描述了用例、角色和一般性能。

层次结构的最顶层为配置文件,由完成用例时必需的一个或多个服务组成。一个服务由特征和对其他服务的参考组成。特征包括类型(表现为 UUID)、值、一组指示特征所支持操作的属性以及一组与安全相关的权限。特征还可能包括一个或多个描述符—与所拥有特征相关的元数据或配置标志。

GATT 对这些服务分组,以封装设备的组件性能并描述基于 GATT 功能的用例、角色和一般性能。这一框架定义了服务的规程、格式及特征,其中包括发现、读取、写入、通知和指示特征以及配置特征广播。

客户端和服务器角色

GATT 定义客户端和服务器的角色。GATT 的规程可分为三个基本类型:发现规程、客户端发起的规程以及服务器发起的规程。GATT 服务器存储通过 ATT 传输的数据,并接收来自 GATT 客户端的 ATT 请求、命令和确认。GATT 服务器发送请求的响应结果,并在 GATT 服务器发生特定事件时向 GATT 客户端发送异步指示和通知。GATT 还指定 GATT 服务器中所含数据的格式。

要查看所有基于 GATT 的已采纳的规格,请访问 Adopted Specifications(已采纳的规格)页面。