I would like to ask you guys for difference between these two terms. I will show below my understanding:
- ATT defines term "attribute" and the way to exchange this data.
- GATT is built on top of ATT and defines procedures to handle ATT and additionaly terms "services" and "characteristics".
Am I right with it?
There comes one more question: I know that ATT and GATT are part of Bluetooth Stack, but what is that? Is it piece of software or theoritical way of handling BLE communication? I can't understand concept of layers of BLE stack. What are the inputs and outputs of these layers?
I would really appreciate your help.
CodePudding user response:
You can read the ATT and GATT chapters in the Bluetooth Core specification. That should make everything clear.
ATT is the protocol how attributes are transferred. GATT is more of a set of rules how this ATT standard should be used to build the concept of Services, Characteristics and Descriptors, as well of defining which ATT protocol messages should be used in which circumstances. In my opinion these two should have been merged into one single standard.