BLE 堆栈 - GATT 与 ATT

Posted

技术标签:

【中文标题】BLE 堆栈 - GATT 与 ATT【英文标题】:BLE Stack - GATT vs ATT 【发布时间】:2021-12-10 08:13:34 【问题描述】:

我想问你们这两个术语之间的区别。我将在下面显示我的理解:

ATT 定义了术语“属性”以及交换此数据的方式。 GATT 建立在 ATT 之上,定义了处理 ATT 的程序以及附加术语“服务”和“特征”。

我说得对吗?

还有一个问题:我知道 ATT 和 GATT 是蓝牙堆栈的一部分,但那是什么?它是处理BLE通信的软件还是理论方法?我无法理解 BLE 堆栈层的概念。这些层的输入和输出是什么?

非常感谢您的帮助。

【问题讨论】:

所有答案都可以从来源在线获得:bluetooth.com/wp-content/uploads/2020/01/… 我已经检查了该文档 - 它并没有阐明我提出的每个问题 查看站点,您会发现描述所有内容的蓝牙核心规范。 ATT 是协议。 GATT 是个人资料。 【参考方案1】:

您可以阅读蓝牙核心规范中的 ATT 和 GATT 章节。这应该让一切都清楚了。

ATT 是传输属性的协议。 GATT 更多的是一套规则,应该如何使用这个 ATT 标准来构建服务、特征和描述符的概念,以及定义在什么情况下应该使用哪些 ATT 协议消息。在我看来,这两个应该合并为一个标准。

【讨论】:

以上是关于BLE 堆栈 - GATT 与 ATT的主要内容,如果未能解决你的问题,请参考以下文章

BLE GATT 介绍

蓝牙低功耗profile:ATT和GATT(转载)

ESP32学习笔记(33)——BLE GATT客户端发现服务和读写特征值

GATT连接后如何与BLE设备配对

BLE——协议层次结构

Android BLE为啥首次连接蓝牙设备比较慢