Kommunikation

Bluetooth Low Energy in Smartphones - wie funktioniert das?

14. November 2013, 14:12 Uhr | Von Rudi Latuske

Fortsetzung des Artikels von Teil 3

Bluetooth-LE-Protokolle und Anwendungen

Die Zusammenarbeit zwischen Client und Server.
Bild 3. Die Zusammenarbeit zwischen Client und Server.
© ARS Software GmbH

LE-Anwendungen verwenden das Client/Server-Modell für die Kommunikation. Der Client sendet einen Request für die Abfrage von einem oder mehreren Attributen (Daten) an den Server. Dieser wiederum liefert die Attribute unter Verwendung des Attribute Protocol (ATT). Attribute sind definiert durch einen Handle für die Adressierung, durch einen Type, der durch eine UUID (z.B. 0x2A00 für den Device Name) beschrieben wird, durch Permissions (Read/Write) und durch Values (Daten). Der Client legt diese Daten lokal in einem Cache ab. Damit kann die Zeit für einen erneuten Zugriff auf das Device verkürzt werden. Bild 3 zeigt diese Zusammenarbeit zwischen Client und Server.

Die Kommunikation zwischen Client und Server erfolgt unter Verwendung von sechs Methoden (Request/Response, Indication/Confirmation, Command und Notification). Diese Methoden bilden die Basis für die Attribute-Kommandos. Der Client sendet einen Request an den Server, der Server sendet darauf einen Response an den Client. Mit Indication sendet der Server einen neuen Value. Den Empfang bestätigt der Client mit Confirmation. Mit Command sendet der Client ein Kommando an den Server. Darauf wird kein Response vom Server geschickt. Mit Notification sendet der Server eine neue Value. Der Server erwartet keine Confirmation.

Command und Notification gelten, da es keine Bestätigung über den Empfang gibt, als unreliable, d.h. die Lieferung wird nicht garantiert. Aktuelle Mobiltelefone bestätigen das u.U. sehr eindrucksvoll!

Die Attribut-Kommandos werden für die Abfrage von Attributen verwendet. Auf den Attributen werden Read/Write-Operationen sowie die Attribut-Konfiguration durchgeführt. ATT definiert einen Server mit seinen Attributen, deren Handle, Type, UUID und Länge (bis zu 512 Bytes).

Oberhalb des ATT Layer befindet sich das Generic Attribute Profile (GATT). GATT kapselt die Attribute in Services und beschreibt diese Services mit Characteristics. Eine Characteristic beinhaltet Attribut-Definitionen (Merkmale, Handle …) und stellt diese innerhalb eines Service - zusammen mit Informationen, wie die Characteristics verwendet werden können - zur Verfügung. GATT verwendet das gleiche Client/Server-Kommunikationsmodell wie ATT. GATT ist sehr hilfreich bei der Entwicklung, wenn in einem Device mehrere Services unterstützt werden sollen.

Services auf einem Server können gleichzeitig von einem oder mehreren Clients verwendet werden. Clients haben keine Services. Server haben Primary (primärer Satz von Funktionen) und Secondary (zweiter Satz von Funktionen) Services.

Auf Anwendungsebene gibt es eine Characteristic mit dem Namen Appearance, welche für eine Darstellung eines Icon für das gefundene Device verwendet werden kann. Definierte Devices in den Appearance Characteristics sind HID (Human Interface Device), Uhr, Schlüssel, Display, Thermometer, Pulssensor, Geschwindigkeitssensor und andere.

 

Protokollarchitektur eines Dual-Mode Stack mit ATT, GATT und den Anwendungen.
Bild 4. Protokollarchitektur eines Dual-Mode Stack mit ATT, GATT und den Anwendungen.
© ARS Software GmbH

Die Bluetooth Special Interest Group hat verschiedene Bluetooth LE Profiles (Anwendungen und deren Verhalten) und Services (Funktionen, die von verschiedenen Profilen verwendet werden) definiert. Beispiele für Profile sind Proximity, Find Me, Puls, Blutzuckermessgerät und Waagen. Beispiele für Services sind Tx Power (Sendeleistung), Link Loss Alert, Battery, Puls, Zeit und Hersteller. Die Definition von Profilen, Services, Attributen und Characteristics unterstützt die Interoperabilität zwischen den Devices unterschiedlicher Hersteller.

Bild 4 zeigt die Protokollarchitektur eines Dual-Mode Stack mit ATT, GATT und den Anwendungen. Ein Single-Mode Stack bietet häufig nur Client- oder Server-Funktionalität.


  1. Bluetooth Low Energy in Smartphones - wie funktioniert das?
  2. Gerätesuche und -Verbindungsaufbau
  3. Datensicherheit in Bluetooth LE
  4. Bluetooth-LE-Protokolle und Anwendungen
  5. Bluetooth-Dual-Mode-Implementierungen in Mobiltelefonen

Verwandte Artikel

ARS Software GmbH