I would like to know what is the difference between attributes and service in GATT in BLE specification, and where we can find attributes, are they in service, characteristics or in descriptors?
Difference between attributes and services in BLE
12.5k Views Asked by AudioBubble At
1
There are 1 best solutions below
Related Questions in BLUETOOTH
- React native - how can i listen callBack function
- java android: how to send data on Bluetooth between android and computer
- Pair bluetooth device to Android 12 phone by selecting my own pin
- Bluetooth virtual sniffer for windows
- PyBluez connection problems
- How to set value the descriptor of iOS BLE in Objective-C?
- python script using bluetooth running on windows 11 vs raspberry pi4
- Mobile printing PT200 tru Bluetooth opened in web app
- PlatformException(connect_errd or timeout)
- Bluetooth Driver file corrupt or replaced
- Bluetooth driver Failed and unable to install bluetooth driver for jammy ubuntu
- strange Flutter bug on turning on/off bluetooth permission using IOS device
- Call requires permission which may be rejected by user code should explicitly check to see if permission is available
- Error during getting android Bluetooth device RSSI from Windows 10 using BlueCove library
- Error in Bluetooth specification? Heading field of Location and Speed
Related Questions in BLUETOOTH-LOWENERGY
- How to receive Bluetooth value in Android app
- provision failed and giving null pointer exception in android using ESP provisioning Library
- Need the decoded data while from server esp32 send and Receiving in react native cli
- python script using bluetooth running on windows 11 vs raspberry pi4
- How to make sure only one client connect to the BLE server on ESP32?
- Samsung SM-A546E Bluetooth in background odd behaviour
- Android OnCharacteristicChanged - Continuous stream of bytes from Bluetooth Stethoscope
- ESP32 BLE Arduino And getting a compile error of 'ringbuf_type_t' has not been declared
- (corebluetooth didUpdateValueFor) data is not being sent properly between my peripheral arduino 33 nano and iOS app
- Constructing a script using a 3rd party library
- BLE SMP packets sniffing using scapy python
- Error in Bluetooth specification? Heading field of Location and Speed
- How to understand the Sensor Setting Property ID in the SIG Mesh model
- Problem with mapping of BLE 5.1 ATT protocol stack with winsock & winsock2 arcitechture
- Plot ecg graph in flutter
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular # Hahtags
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
In summary ... services, characteristics, and descriptors ... are attributes :-)
The BLE standard provides the ATT protocol that defines the concept of attributes. All attributes are defined inside a table and they have a handle, a type (with a UUID), a value (and permissions). On top of ATT protocol in the BLE stack, you have GATT and GAP. The GATT protocol defines services, characteristics, and descriptors and each of them is an attribute. For example, a characteristic is an attribute with a handle, a type (a UUID that tells us that the attribute is a characteristic) and a value (the characteristic properties with a handle to the attribute value and so on). Inside the characteristic, you have an attribute that is the value of the characteristic and one or more descriptors that are themselves attributes.
You can see the attribute concept as the abstract type you can define concrete types like service, characteristic and descriptors.
I can suggest seeing the following video (intro on BLE) by Nordic.