Das Konzept des GATT

Zur Durchführung BLE-entsprechende Entwicklung, Wir müssen über bestimmte Grundkenntnisse verfügen, Natürlich, es muss sehr einfach sein.

GATT Geräterolle:

Das erste, was Sie verstehen müssen, ist, dass der Unterschied zwischen diesen beiden Rollen auf der Hardwareebene liegt, und sie sind relative Konzepte, die paarweise auftreten:

“Zentralgerät”: relativ mächtig, Wird zum Scannen und Anschließen von Peripheriegeräten verwendet, wie Mobiltelefone, Tabletten, usw.

“Peripheriegerät”: Die Funktion ist relativ einfach, Der Stromverbrauch ist gering, und das zentrale Gerät ist zur Bereitstellung von Daten angeschlossen, wie zum Beispiel Armbänder, Intelligente Thermometer, usw.

Tatsächlich, auf der grundlegendsten Ebene, Es sollte eine Unterscheidung zwischen verschiedenen Rollen im Prozess des Verbindungsaufbaus erfolgen. Wir wissen, dass wenn a Bluetooth Das Gerät möchte andere über seine Existenz informieren, Es muss kontinuierlich an die Außenwelt gesendet werden, während die andere Partei das Broadcast-Paket scannen und darauf antworten muss, damit die Verbindung hergestellt werden kann. In diesem Prozess, Verantwortlich für die Ausstrahlung ist Peripheral , und Central ist für das Scannen verantwortlich.

Hinweis zum Verbindungsprozess zwischen den beiden:

Das Zentralgerät kann gleichzeitig mit mehreren Peripheriegeräten verbunden werden. Sobald das Peripheriegerät angeschlossen ist, Die Übertragung wird sofort beendet, und senden Sie nach dem Trennen der Verbindung weiter. Es kann immer nur ein Gerät versuchen, eine Verbindung herzustellen, Warteschlangenverbindungen.

GATT Protokoll

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

Sein Aufbau ist sehr einfach:   

1671506971 1

Sie können es als XML verstehen:

Jede GATT besteht aus Diensten, die unterschiedliche Funktionen ausführen;

Jeder Dienst besteht aus unterschiedlichen Merkmalen;

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

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

Zum Beispiel:Das übliche Xiaomi Mi Band ist ein BLE Gerät, (vermutet) es enthält drei Dienste, Dabei handelt es sich um den Dienst, der Geräteinformationen bereitstellt, der Dienst, der Schritte bereitstellt, und der Dienst, der die Herzfrequenz erkennt;

Zu den im Dienst der Geräteinformationen enthaltenen Merkmalen gehören Herstellerangaben, Hardware-Informationen, Versionsinformationen, usw.; Der Herzfrequenz-Service umfasst die Herzfrequenz-Kennlinie, usw., und der Wert in der Herzfrequenzcharakteristik enthält tatsächlich die Herzfrequenzdaten, und der Deskriptor ist der Wert. Beschreibung, wie etwa die Werteinheit, Beschreibung, Erlaubnis, usw.

GATT C/S

Mit einem vorläufigen Verständnis des GATT, Wir wissen, dass GATT ein typischer C/S-Modus ist. Da es C/S ist, Für uns ist es notwendig, zwischen Server und Client zu unterscheiden.

“GATT-Server” vs. “GATT-Client”. Die Phase, in der diese beiden Rollen existieren, ist, nachdem die Verbindung hergestellt wurde, und sie werden nach dem Status des Dialogs unterschieden. Es ist leicht zu verstehen, dass die Partei, die die Daten verwaltet, als GATT-Server bezeichnet wird, und die Partei, die auf die Daten zugreift, wird als GATT-Client bezeichnet.

Dies ist ein Konzept auf einer anderen Ebene als die zuvor erwähnte Geräterolle, und es ist notwendig, es zu unterscheiden. Lassen Sie uns zur Veranschaulichung ein einfaches Beispiel verwenden:

Nehmen Sie zur Veranschaulichung das Beispiel eines Mobiltelefons und einer Uhr. Bevor die Verbindung zwischen Mobiltelefon und Mobiltelefon hergestellt wird, Wir nutzen das Bluetooth Suchfunktion des Mobiltelefons, um nach dem zu suchen Bluetooth Gerät der Uhr. Während dieses Prozesses, Es ist offensichtlich, dass die Uhr BLE sendet, sodass andere Geräte von ihrer Existenz erfahren. , Es ist die Rolle der Peripherie 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, wenn das Mobiltelefon Sensordaten wie die Anzahl der Schritte von der Uhr auslesen muss, Die beiden interaktiven Daten werden in der Uhr gespeichert, Daher ist die Überwachung derzeit die Rolle des GATT-Servers, und das Mobiltelefon ist natürlich der GATT-Client; und wenn die Uhr SMS-Anrufe und andere Informationen vom Mobiltelefon lesen möchte, Der Hüter der Daten wird das Mobiltelefon, Daher ist das Mobiltelefon zu diesem Zeitpunkt der Server, und die Uhr ist der Kunde.

Service/Eigenschaft

Wir haben sie oben bereits wahrnehmungsmäßig verstanden, und dann haben wir noch ein paar 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. Dienst/Merkmal hat eine eindeutige UUID-Identifikation, UUID hat sowohl 16-Bit als auch 128-Bit, Was wir verstehen müssen, ist, dass die 16-Bit-UUID von der Bluetooth-Organisation zertifiziert ist und erworben werden muss, Natürlich gibt es einige gängige 16-Bit-UUIDs.Zum Beispiel, Die UUID des Herzfrequenzdienstes ist 0X180D, was im Code als 0X00001800-0000-1000-8000-00805f9b34fb ausgedrückt wird, und andere Bits sind behoben. Die 128-Bit-UUID kann angepasst werden.
  4. GATT-Verbindungen sind exklusiv.