【发布时间】:2015-05-01 19:47:16
【问题描述】:
谁能帮我定义一下 GATT 和 ATT 之间的区别是什么?没看懂。
我知道它们都是处理 BLE 服务的通用协议。但并没有真正理解它。请解释一下。
谢谢!
【问题讨论】:
标签: bluetooth bluetooth-lowenergy att gatt
谁能帮我定义一下 GATT 和 ATT 之间的区别是什么?没看懂。
我知道它们都是处理 BLE 服务的通用协议。但并没有真正理解它。请解释一下。
谢谢!
【问题讨论】:
标签: bluetooth bluetooth-lowenergy att gatt
您可以在此处找到蓝牙规范: Specification Adopted Documents
查看核心版本 4.2,规范卷 3 - 核心系统包 [主机卷]。 ATT 在 F 部分中定义,GATT 在 G 部分中定义。
ATT(第 2160 页):“该规范定义了属性协议;用于在对等设备上发现、读取和写入属性的协议。”
GATT(第 2207 页):“本规范定义了描述服务框架的通用属性配置文件,使用属性协议来发现服务,以及在对等设备上读取和写入特征值。”
所以是的,GATT 使用 ATT 作为其传输协议在设备之间交换数据,并且规范详细描述了这些协议中的每一个是如何定义的。大多数应用程序开发人员最关心的是 GATT,它也用于为一些 BLE 库定义 API。
【讨论】:
ATT 是一种低得多的机制,它基本上定义了如何传输一个数据单元(一个属性)。 GATT 建立在 ATT 之上,并定义了更高级别的服务是如何组成的以及在这些服务上运行的框架。
【讨论】:
ATT 是 GATT 的基石。服务、特征和描述符最终都是属性。
都具有相同的格式:处理程序、类型/UUID 和值。
现在,特征也是一个属性,而是一种特定的值格式
GATT 说这个设备有 xxx 服务,具有 yyy 和 zzz 特性,是 ATT 的上层。 有关低功耗蓝牙的更多信息,请查看本文
https://atadiat.com/en/e-bluetooth-low-energy-ble-101-tutorial-intensive-introduction/
【讨论】: