Das Generic Attribute Profile (GATT) ist das entscheidende Protokoll innerhalb des Bluetooth Low Energy (BLE) Stacks, das den eigentlichen Datenaustausch zwischen zwei verbundenen Geräten regelt. Während das übergeordnete GAP (Generic Access Profile) die Verbindung steuert, definiert GATT, wie Informationen in einer hierarchischen Struktur organisiert, gelesen und geschrieben werden.
In der GATT-Architektur werden die Rollen strikt nach der Datenhoheit vergeben:
GATT Server: Das Gerät, das die Daten „besitzt“ und in einer lokalen Attribut-Tabelle bereitstellt (meist der Sensor oder das Embedded-Gerät).
GATT Client: Das Gerät, das Daten vom Server anfordert, Werte schreibt oder sich auf Benachrichtigungen anmeldet (meist ein Smartphone oder Tablet).
GATT nutzt ein logisches Baum-Modell, um Interoperabilität zwischen verschiedenen Herstellern zu gewährleisten:
Ein Service ist eine logische Gruppierung von zusammengehörigen Datenpunkten.
Standard-Services: Von der Bluetooth SIG vorab definierte Dienste (z. B. Battery Service oder Heart Rate Service).
Custom Services: Herstellerspezifische Dienste, die über eine eindeutige 128-Bit UUID identifiziert werden, um proprietäre Funktionen abzubilden.
Die Characteristic ist der kleinste logische Datenpunkt (z. B. ein Temperaturwert oder ein Status-Flag). Sie besteht aus:
Value: Die eigentlichen Nutzdaten.
Properties: Zugriffsrechte wie Read (Lesen), Write (Schreiben) oder Notify (Server sendet Daten bei Änderung automatisch an den Client).
Descriptors liefern Metadaten zu einer Characteristic. Der wichtigste Descriptor ist der CCCD (Client Characteristic Configuration Descriptor), über den der Client den Empfang von automatischen Benachrichtigungen (Notifications) aktiviert.
Die Theorie von GATT ist standardisiert, doch die Implementierung erfordert tiefes Wissen über die Besonderheiten der jeweiligen Plattformen. Wir unterstützen Sie dabei, effiziente und robuste Kommunikationsprofile zu entwickeln, die sowohl auf der Hardware-Seite als auch in der mobilen Anwendung performant funktionieren.
Wir realisieren GATT-Server-Strukturen auf den gängigen Industrie-Plattformen:
Nordic Semiconductor: Professionelle Umsetzung im nRF Connect SDK (Zephyr-basiert) für nRF52- und nRF53-SoCs.
Espressif & onsemi: Speichereffiziente Implementierung auf ESP32 (NimBLE) oder extrem stromsparende Lösungen auf dem RSL10/RSL15/RSL20.
Durchsatz-Optimierung: Konfiguration von MTU-Größen und Connection Parameters zur Maximierung der Datenrate.
Die Kommunikation mit einem GATT-Server stellt hohe Anforderungen an die App-Entwicklung:
Multi-Plattform: Entwicklung von Bluetooth-Logiken mit .NET MAUI, um iOS und Android gleichzeitig zu bedienen.
Robustheit: Implementierung von Error-Handling für Verbindungsabbrüche, Service-Discovery und Reconnection-Strategien.
Hintergrund-Kommunikation: Sicherstellung, dass GATT-Notifications auch bei gesperrtem Bildschirm zuverlässig verarbeitet werden.
Benötigen Sie ein maßgeschneidertes GATT-Profil für Ihr Produkt oder Unterstützung bei der App-Anbindung Ihrer Hardware? Kontaktieren Sie uns für eine technische Beratung.
Für uns steht Ihr Software- bzw. Firmware-Projekt an erster Stelle. Wir sind passionierte Software-Entwickler und es liegt uns am Herzen Ihre digitale Vision zum Leben zu erwecken. Dabei stehen wir Ihnen mit einem Team aus erfahrenen Software-und Embedded-Software-Entwicklern in allen Phasen des Projektes zur Seite. Von der Beratung, über die Planung, bis hin zur Umsetzung können wir modular oder full-service unterstützen und haben dabei ihre Ziele und Nöte immer im Blick. Wir überzeugen Sie gerne!