BLE-Entwicklung: Was ist GATT und wie funktioniert es?

Inhaltsverzeichnis

Das Konzept des GATT

Um eine BLE-bezogene Entwicklung durchführen zu können, müssen wir über bestimmte Grundkenntnisse verfügen und natürlich sehr einfach sein.

GATT Geräterolle:

Das erste, was Sie verstehen müssen, ist, dass die Unterscheidung zwischen diesen beiden Rollen auf der Hardwareebene erfolgt und es sich um relative Konzepte handelt, die paarweise auftreten:

„Zentrales Gerät“: relativ leistungsstark, dient zum Scannen und Anschließen von Peripheriegeräten wie Mobiltelefonen, Tablets usw.

„Peripheriegerät“: Die Funktion ist relativ einfach, der Stromverbrauch ist gering und das zentrale Gerät ist zur Datenbereitstellung angeschlossen, z. B. Armbänder, intelligente Thermometer usw.

Tatsächlich sollte es auf der grundlegendsten Ebene eine Unterscheidung zwischen verschiedenen Rollen im Prozess des Verbindungsaufbaus geben. Wir wissen, dass ein Bluetooth-Gerät, wenn es anderen seine Existenz mitteilen möchte, kontinuierlich an die Außenwelt senden muss, während die andere Partei das Broadcast-Paket scannen und darauf antworten muss, damit die Verbindung hergestellt werden kann. In diesem Prozess ist Peripheral für die Übertragung verantwortlich, und Central ist für das Scannen verantwortlich.

Hinweis zum Verbindungsprozess zwischen den beiden:

Das zentrale Gerät kann sich gleichzeitig mit mehreren Peripheriegeräten verbinden. Sobald das Peripheriegerät angeschlossen ist, stoppt es die Übertragung sofort und setzt die Übertragung nach dem Trennen der Verbindung fort. Es kann immer nur ein Gerät versuchen, eine Verbindung herzustellen, wodurch Verbindungen in die Warteschlange gestellt werden.

GATT Protokoll

Die BLE-Technologie kommuniziert auf Basis von GATT. GATT ist ein Attributübertragungsprotokoll. Es kann als Anwendungsschichtprotokoll für die Attributübertragung betrachtet werden.

Sein Aufbau ist sehr einfach:   

Sie können es als XML verstehen:

Jedes GATT besteht aus Diensten, die unterschiedliche Funktionen erfüllen;

Jeder Dienst besteht aus unterschiedlichen Merkmalen;

Jedes Merkmal besteht aus einem Wert und einem oder mehreren Deskriptoren;

Dienst und Merkmal entsprechen Tags (Dienst entspricht seiner Kategorie und Merkmal entspricht seinem Namen), während der Wert tatsächlich Daten enthält und der Deskriptor eine Erklärung und Beschreibung dieses Werts ist. Natürlich können wir es aus verschiedenen Blickwinkeln beschreiben und beschreiben. Beschreibung, daher kann es mehrere Deskriptoren geben.

Beispiel: Das übliche Xiaomi Mi Band ist ein BLE-Gerät. (Angenommen) es enthält drei Dienste: den Dienst, der Geräteinformationen bereitstellt, den Dienst, der Schritte bereitstellt, und den Dienst, der die Herzfrequenz erkennt.

Die im Dienst der Geräteinformationen enthaltenen Merkmale umfassen Herstellerinformationen, Hardwareinformationen, Versionsinformationen usw.; Der Herzfrequenzdienst umfasst die Herzfrequenzcharakteristik usw., und der Wert in der Herzfrequenzcharakteristik enthält tatsächlich die Herzfrequenzdaten, und der Deskriptor ist der Wert. Beschreibung, z. B. Werteinheit, Beschreibung, Erlaubnis usw.

GATT C/S

Mit einem vorläufigen Verständnis von GATT wissen wir, dass GATT ein typischer C/S-Modus ist. Da es sich um C/S handelt, müssen wir zwischen Server und Client unterscheiden.

„GATT-Server“ vs. „GATT-Client“. Die Phase, in der diese beiden Rollen existieren, liegt nach dem Herstellen der Verbindung und wird je nach Status des Dialogs unterschieden. Es ist leicht zu verstehen, dass die Partei, die die Daten speichert, als GATT-Server bezeichnet wird und die Partei, die auf die Daten zugreift, als GATT-Client bezeichnet wird.

Dies ist ein Konzept auf einer anderen Ebene als die zuvor erwähnte Geräterolle und muss unterschieden werden. Lassen Sie uns ein einfaches Beispiel zur Veranschaulichung verwenden:

Nehmen Sie zur Veranschaulichung das Beispiel eines Mobiltelefons und einer Uhr. Bevor die Verbindung zwischen Mobiltelefon und Mobiltelefon hergestellt wird, suchen wir mithilfe der Bluetooth-Suchfunktion des Mobiltelefons nach dem Bluetooth-Gerät der Uhr. Während dieses Vorgangs ist es offensichtlich, dass die Uhr BLE sendet, sodass andere Geräte von ihrer Existenz erfahren. Es ist die Rolle des Peripheriegeräts in diesem Prozess, und das Mobiltelefon ist für die Scanaufgabe verantwortlich und spielt natürlich die Rolle des Zentrums. Nachdem die beiden eine GATT-Verbindung hergestellt haben und das Mobiltelefon Sensordaten wie die Anzahl der Schritte von der Uhr lesen muss, werden die beiden interaktiven Daten in der Uhr gespeichert, sodass die Uhr zu diesem Zeitpunkt die Rolle des GATT übernimmt Server, und das Mobiltelefon ist natürlich der GATT-Client; und wenn die Uhr SMS-Anrufe und andere Informationen vom Mobiltelefon lesen möchte, wird das Mobiltelefon zum Hüter der Daten, sodass das Mobiltelefon zu diesem Zeitpunkt der Server und die Uhr der Client ist.

Service/Eigenschaft

Wir haben sie oben bereits in der Wahrnehmung verstanden, und dann haben wir einige praktische Informationen:

  1. Merkmal ist die kleinste logische Dateneinheit.
  2. Die Analyse der in Wert und Deskriptor gespeicherten Daten wird vom Server-Ingenieur bestimmt, es gibt keine Spezifikation.
  3. Der Dienst/Merkmal hat eine eindeutige UUID-Identifikation, UUID hat sowohl 16-Bit als auch 128-Bit. Wir müssen verstehen, dass die 16-Bit-UUID von der Bluetooth-Organisation zertifiziert ist und gekauft werden muss, natürlich gibt es einige Gemeinsamkeiten die 16-Bit-UUID. Beispielsweise lautet die UUID des Herzfrequenzdienstes 0X180D, was im Code als 0X00001800-0000-1000-8000-00805f9b34fb ausgedrückt wird, und andere Bits sind festgelegt. Die 128-Bit-UUID kann angepasst werden.
  4. GATT-Verbindungen sind exklusiv.

Nach oben scrollen