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