B-LE - GATT Architectural Overview: Difference between revisions

From Elvis Wiki
(Created page with "== USB 2.0 Specification - Architectural Overview == Description what this documentation is about. == Requirements == * Operating system: Ubuntu 18.04 bionic amd64 * Packages: git emacs In order to complete these steps, you must have followed Some Other Documentation before. == Description == === Step 1 === Enter these commands in the shell echo foo echo bar === Step 2 === Make sure to read * War and Peace * Lord of the Rings * The Baroque Cycle == Use...")
 
No edit summary
Line 1: Line 1:
== USB 2.0 Specification - Architectural Overview ==  
== GATT - Architectural Overview ==  


Description what this documentation is about.
Description what this documentation is about.
Line 12: Line 12:
== Description ==
== Description ==


=== Step 1 ===
=== GAP - Generic Attribute Profile ===


Enter these commands in the shell


echo foo
The Generic attribute profile takes care of discovery, security, connectivity and network technolgies of a device.
echo bar


=== Step 2 ===
ADV_IND
SCAN_REQ
SCAN_RSP
CONNECT_IND
AUX_SCAN_REQ
AUX_SCAN_RSP
AUX_CONNECT_REQ
AUX_CONNECT_RSP
ADV_SCAN_IND
 
=== GATT - Generic Attribute Profile ===
 
As soon as two Bluetooth Low Energy devices establish a connection they can start transfering data back and forth. This data is formated into Services and Characteristics in a Server/Client relationship.
 
=== Network Topology ===
 
The network topology of GATT networks contains so-called central devices and peripheral devices. One peripheral is only connected to only one central device at a time. A central device can connect to many peripheral devices. The peripheral is also acting as the GATT server. It contains the definitions for profiles, services and characteristics of a device. The central device always initiates the data exchange.
 
 
=== ATT - Attribute Protocol ===
 
GATT is based on ATT. Each attribute gets it’s own Unique Identifier (UUID) here. These get formatted as characteristics and services.
 
=== Profiles ===
 
set of services per Profile
Example profiles: Basic audio profile, Location and navigation profile, weight scale profile, heart rate profile
 
 
=== Services ===
 
A Service can have multiple characteristics. It has it’s own UUID. It has a handle. UUID, permissions, value
 
=== Characteristics ===
 
The characteristics are the lowest-level of the GATT Profiles. They also each use their own UUID.
These are relevant when it comes to protecting and enhancing security of a Bluetooth Low Energy device.
The characteristics have a value, properties and human-readable descriptors
 
=== BLE Operations ===
 
* Read
Read the data of a characteristic
 
* Write
Write data to a characteristic
 
* Notify
Get notifications to value changes of a device by subscribing to it
 
=== Further Context ===


Make sure to read
Make sure to read
Line 34: Line 82:
== Courses ==
== Courses ==


* [[A course where this documentation was used]] (2017, 2018)
* [[Selected IT-Security Chapters]] (2024)
* [[Another one]] (2018)
 
== Author ==
Are Maksimović


== References ==
== References ==


* https://wikipedia.org
* https://bleak.readthedocs.io/en/latest/usage.html
* https://google.com
* https://www.bluetooth.com/de/bluetooth-resources/intro-to-bluetooth-gap-gatt/
 
[[Category:Documentation]]
[[Category:Documentation]]

Revision as of 15:04, 5 December 2024

GATT - Architectural Overview

Description what this documentation is about.

Requirements

  • Operating system: Ubuntu 18.04 bionic amd64
  • Packages: git emacs

In order to complete these steps, you must have followed Some Other Documentation before.

Description

GAP - Generic Attribute Profile

The Generic attribute profile takes care of discovery, security, connectivity and network technolgies of a device.

ADV_IND
SCAN_REQ
SCAN_RSP
CONNECT_IND
AUX_SCAN_REQ
AUX_SCAN_RSP
AUX_CONNECT_REQ
AUX_CONNECT_RSP
ADV_SCAN_IND

GATT - Generic Attribute Profile

As soon as two Bluetooth Low Energy devices establish a connection they can start transfering data back and forth. This data is formated into Services and Characteristics in a Server/Client relationship.

Network Topology

The network topology of GATT networks contains so-called central devices and peripheral devices. One peripheral is only connected to only one central device at a time. A central device can connect to many peripheral devices. The peripheral is also acting as the GATT server. It contains the definitions for profiles, services and characteristics of a device. The central device always initiates the data exchange.


ATT - Attribute Protocol

GATT is based on ATT. Each attribute gets it’s own Unique Identifier (UUID) here. These get formatted as characteristics and services.

Profiles

set of services per Profile Example profiles: Basic audio profile, Location and navigation profile, weight scale profile, heart rate profile


Services

A Service can have multiple characteristics. It has it’s own UUID. It has a handle. UUID, permissions, value

Characteristics

The characteristics are the lowest-level of the GATT Profiles. They also each use their own UUID. These are relevant when it comes to protecting and enhancing security of a Bluetooth Low Energy device. The characteristics have a value, properties and human-readable descriptors

BLE Operations

  • Read

Read the data of a characteristic

  • Write

Write data to a characteristic

  • Notify

Get notifications to value changes of a device by subscribing to it

Further Context

Make sure to read

  • War and Peace
  • Lord of the Rings
  • The Baroque Cycle

Used Hardware

Device to be used with this documentation Maybe another device to be used with this documentation

Courses

Author

Are Maksimović

References