BLE -Entwicklung: Was ist Gatt und wie funktioniert es??
Das Konzept von Gatt
Entwicklung der BLE-bezogenen Entwicklung, Wir müssen bestimmte Grundkenntnisse haben, Natürlich, Es muss sehr einfach sein.
Gatt Geräterolle:
Das erste, was zu verstehen ist, ist, dass die Unterscheidung zwischen diesen beiden Rollen auf Hardwareebene liegt, Und sie sind relative Konzepte, die paarweise auftreten:
“Zentrales Gerät”: relativ mächtig, Wird zum Scannen und Verbinden von peripheren Geräten verwendet, wie Mobiltelefone, Tabletten, usw.
“Peripheres Gerät”: Die Funktion ist relativ einfach, Der Stromverbrauch ist klein, und das zentrale Gerät ist angeschlossen, um Daten bereitzustellen, wie Armbänder, Smart Thermometer, usw.
Tatsächlich, auf der grundlegendsten Ebene, Es sollte eine Unterscheidung zwischen unterschiedlichen Rollen im Prozess der Herstellung einer Verbindung sein. Wir wissen, dass wenn ein Bluetooth -Gerät andere über seine Existenz informiert werden möchte, Es muss kontinuierlich an die Außenwelt gesendet werden, Während die andere Partei das Broadcast -Paket scannen und antworten muss, damit die Verbindung hergestellt werden kann. In diesem Prozess, Die für den Rundfunk verantwortliche Person ist peripher , und Central ist für das Scannen verantwortlich.
Hinweis zum Verbindungsprozess zwischen den beiden:
Das zentrale Gerät kann gleichzeitig eine Verbindung zu mehreren peripheren Geräten herstellen. Nach dem peripheren Gerät ist angeschlossen, Es wird sofort aufhören zu übertragen, und weiter nach der Trennung aus dem Rundfunk. Nur ein Gerät kann jederzeit versuchen, eine Verbindung herzustellen, Verbindungen an Warteschlangen.
Gatt Protokoll
Die BLE -Technologie kommuniziert basierend auf GATT. Gatt ist ein Attributübertragungsprotokoll. Es kann als Anwendungsschichtprotokoll für die Attributübertragung angesehen werden.
Seine Struktur ist sehr einfach:
Sie können es als XML verstehen:
Jedes 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 Merkmal entsprechen den Tags (Der Service entspricht seiner Kategorie, und charakteristisch entspricht seinem Namen), Während der Wert tatsächlich Daten enthält, und Deskriptor ist eine Erklärung und Beschreibung dieses Wertes. 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, Welches ist der Dienst, der Geräteinformationen bereitstellt, Der Service, der Schritte bietet, und der Dienst, der die Herzfrequenz erkennt;
Die im Dienst der Geräteinformationen enthaltenen Merkmale enthält Herstellerinformationen, Hardwareinformationen, Versionsinformationen, usw.; Der Herzfrequenzservice umfasst die Herzfrequenzmerkmale, usw., und der Wert in der Herzfrequenzeigenschaft enthält tatsächlich die Herzfrequenzdaten, und der Deskriptor ist der Wert. Beschreibung, wie die Werteinheit, Beschreibung, Erlaubnis, usw.
Gatt c/s
Mit einem vorläufigen Verständnis von Gatt, Wir wissen, dass Gatt ein typischer C/S -Modus ist. Da ist es c/s, Es ist für uns erforderlich, zwischen Server und Client zu unterscheiden.
“GATT Server” vs. “Gatt Client”. Die Phase, in der diese beiden Rollen existieren, ist nach der Herstellung der Verbindung, und sie unterscheiden sich nach dem Status des Dialogs. Es ist leicht zu verstehen, dass die Partei, die die Daten hält, und die Partei, die auf die Daten zugreift, heißt GATT -Client.
Dies ist ein Konzept auf einer anderen Ebene als die zuvor erwähnte Geräterolle, und es ist notwendig, es zu unterscheiden. Verwenden wir ein einfaches Beispiel, um zu veranschaulichen:
Nehmen Sie das Beispiel eines Mobiltelefons und einer Uhr, um zu veranschaulichen. Bevor die Verbindung zwischen dem Mobiltelefon und dem Mobiltelefon festgelegt wird, Wir verwenden die Bluetooth -Suchfunktion des Mobiltelefons, um nach dem Bluetooth -Gerät der Uhr zu suchen. Während dieses Prozesses, Es ist offensichtlich, dass die Uhr BLEISS ist. , Es ist die Rolle des peripheren 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 herstellen, Wenn das Mobiltelefon Sensordaten wie die Anzahl der Schritte aus der Uhr lesen muss, Die beiden die interaktiven Daten werden in der Uhr gespeichert, Zu diesem Zeitpunkt ist die Uhr die Rolle des GATT -Servers, und das Mobiltelefon ist natürlich der GATT -Client; Und wenn die Uhr SMS -Anrufe und andere Informationen vom Handy lesen möchte, Der Wächter der Daten wird zum Handy, Das Mobiltelefon ist also zu diesem Zeitpunkt der Server, Und die Uhr ist der Kunde.
Service/Merkmal
Wir hatten bereits ein Wahrnehmungsverständnis von ihnen oben, Und dann haben wir einige praktische Informationen:
- Merkmal ist die kleinste logische Dateneinheit.
- Die Analyse von Daten, die in Wert und Deskriptor gespeichert sind, wird vom Serveringenieur bestimmt, Es gibt keine Spezifikation.
- Service/Charakteristik hat eine einzigartige UUID -Identifizierung, 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 gewöhnliche 16-Bit-Uuids. Zum Beispiel zum Beispiel, Die UUID des Herzfrequenzdienstes beträgt 0x180d, die als 0x00001800-0000-1000-8000-00805F9B34FB im Code ausgedrückt wird, und andere Bits sind festgelegt. Das 128-Bit-UUID kann angepasst werden.
- GATT -Verbindungen sind exklusiv.