Rozwój BLE: Co to jest GATT i jak działa?

Spis treści

Koncepcja GATT

Aby móc zająć się rozwojem związanym z BLE, musimy posiadać pewną podstawową wiedzę, oczywiście musi ona być bardzo prosta.

GATT Rola urządzenia:

Pierwszą rzeczą, którą należy zrozumieć, jest to, że rozróżnienie między tymi dwiema rolami odbywa się na poziomie sprzętu i są to pojęcia względne, które pojawiają się parami:

„Urządzenie centralne”: stosunkowo wydajne, używane do skanowania i podłączania urządzeń peryferyjnych, takich jak telefony komórkowe, tablety itp.

„Urządzenie peryferyjne”: funkcja jest stosunkowo prosta, zużycie energii jest niewielkie, a urządzenie centralne jest podłączone w celu dostarczania danych, np. opaski na rękę, inteligentne termometry itp.

W rzeczywistości, na najbardziej podstawowym poziomie, powinno być rozróżnienie pomiędzy różnymi rolami w procesie ustanawiania połączenia. Wiemy, że jeśli urządzenie Bluetooth chce poinformować innych o swoim istnieniu, musi stale nadawać sygnał do świata zewnętrznego, podczas gdy druga strona musi skanować pakiet rozgłoszeniowy i odpowiadać na niego, aby można było nawiązać połączenie. W tym procesie osobą odpowiedzialną za nadawanie jest Peripheral, a Centrala jest odpowiedzialna za skanowanie.

Uwaga dotycząca procesu łączenia między nimi:

Urządzenie centralne może łączyć się jednocześnie z wieloma urządzeniami peryferyjnymi. Po podłączeniu urządzenia peryferyjnego natychmiast zatrzyma nadawanie i będzie kontynuować nadawanie po rozłączeniu. Tylko jedno urządzenie może w danym momencie podejmować próbę połączenia, tworząc kolejkę połączeń.

GATT protokół

Technologia BLE komunikuje się w oparciu o GATT. GATT to protokół transmisji atrybutów. Można go uważać za protokół warstwy aplikacji służący do transmisji atrybutów.

Jego struktura jest bardzo prosta:   

Możesz to zrozumieć jako xml:

Każdy GATT składa się z Usług, które pełnią różne funkcje;

Każda Usługa składa się z różnych Cech;

Każda Cecha składa się z wartości i jednego lub większej liczby deskryptorów;

Usługa i Charakterystyka są odpowiednikami tagów (Usługa jest odpowiednikiem jej kategorii, a Charakterystyka jest odpowiednikiem jej nazwy), natomiast wartość faktycznie zawiera dane, a Deskryptor jest wyjaśnieniem i opisem tej wartości. Oczywiście możemy to opisywać i opisywać pod różnymi kątami. Opis, więc może być wiele deskryptorów.

Na przykład: popularna opaska Xiaomi Mi to urządzenie BLE (zakłada się), że zawiera trzy usługi, którymi są usługa dostarczająca informacje o urządzeniu, usługa dostarczająca kroki i usługa wykrywająca tętno;

Cecha zawarta w serwisie informacji o urządzeniu obejmuje informacje o producencie, informacje o sprzęcie, informacje o wersji itp.; Usługa tętna obejmuje charakterystykę tętna itp., a wartość w charakterystyce tętna faktycznie zawiera dane dotyczące tętna, a deskryptor jest wartością. Opis, taki jak jednostka wartości, opis, pozwolenie itp.

GATT C/S

Dzięki wstępnemu zrozumieniu GATT wiemy, że GATT jest typowym trybem C/S. Ponieważ jest to C/S, konieczne jest rozróżnienie między serwerem a klientem.

„Serwer GATT” kontra „klient GATT”. Etap, w którym te dwie role istnieją, następuje po nawiązaniu połączenia i są one rozróżniane ze względu na status dialogu. Łatwo zrozumieć, że strona przechowująca dane nazywana jest serwerem GATT, a strona uzyskująca dostęp do danych nazywana jest klientem GATT.

To koncepcja na innym poziomie niż rola urządzenia, o której wspominaliśmy wcześniej i trzeba ją rozróżnić. Aby to zilustrować, użyjmy prostego przykładu:

Aby to zilustrować, weź przykład telefonu komórkowego i zegarka. Przed nawiązaniem połączenia między telefonem komórkowym a telefonem komórkowym korzystamy z funkcji wyszukiwania Bluetooth w telefonie komórkowym, aby wyszukać urządzenie Bluetooth zegarka. Podczas tego procesu oczywiste jest, że zegarek nadaje BLE, aby inne urządzenia wiedziały o jego istnieniu. , jest to rola urządzenia peryferyjnego w tym procesie, a telefon komórkowy odpowiada za zadanie skanowania i naturalnie pełni rolę Centrum; po nawiązaniu połączenia GATT przez obie strony, gdy telefon komórkowy musi odczytać dane z czujnika, takie jak liczba kroków z zegarka, dane interaktywne są zapisywane w zegarku, więc w tym momencie zegarek pełni rolę GATT serwer, a telefon komórkowy jest oczywiście klientem GATT; a kiedy zegarek chce odczytać połączenia SMS i inne informacje z telefonu komórkowego, opiekunem danych staje się telefon komórkowy, więc telefon komórkowy jest w tym momencie serwerem, a zegarek jest klientem.

Usługa/cecha

Zrozumieliśmy je już percepcyjnie powyżej, a następnie mamy kilka praktycznych informacji:

  1. Charakterystyka to najmniejsza logiczna jednostka danych.
  2. Analizę danych przechowywanych w wartości i deskryptorze ustala inżynier serwera, nie ma specyfikacji.
  3. Usługa/cecha ma unikalną identyfikację UUID, UUID ma zarówno 16-bitowy, jak i 128-bitowy charakter, musimy zrozumieć, że 16-bitowy UUID jest certyfikowany przez organizację Bluetooth i należy go kupić, oczywiście są pewne typowe one 16-bitowy UUID. Na przykład identyfikator UUID usługi Heart Rate to 0X180D, który jest wyrażony w kodzie jako 0X00001800-0000-1000-8000-00805f9b34fb, a inne bity są stałe. 128-bitowy identyfikator UUID można dostosować.
  4. Połączenia GATT są wyłączne.

Przewiń do góry