BLE inkişafı: GATT nədir və necə işləyir?

Mündəricat

GATT Konsepsiyası

BLE ilə əlaqəli inkişafı həyata keçirmək üçün müəyyən əsas biliklərə sahib olmalıyıq, əlbəttə ki, çox sadə olmalıdır.

GATT Cihaz rolu:

Anlamaq lazım olan ilk şey odur ki, bu iki rol arasındakı fərq hardware səviyyəsindədir və onlar cüt-cüt görünən nisbi anlayışlardır:

"Mərkəzi cihaz": nisbətən güclü, mobil telefonlar, planşetlər və s. kimi periferik cihazları skan etmək və birləşdirmək üçün istifadə olunur.

"Periferik cihaz": funksiya nisbətən sadədir, enerji istehlakı kiçikdir və mərkəzi cihaz qolbaqlar, ağıllı termometrlər və s. kimi məlumatları təmin etmək üçün birləşdirilir.

Əslində, ən fundamental səviyyədə, əlaqənin qurulması prosesində müxtəlif rollar arasında fərq olmalıdır. Biz bilirik ki, Bluetooth cihazı başqalarına öz varlığını bildirmək istəyirsə, o, davamlı olaraq xarici dünyaya yayım etməlidir, qarşı tərəf isə yayım paketini skan edib cavab verməlidir ki, əlaqə qurulsun. Bu prosesdə yayıma cavabdeh olan şəxs Periferik, Mərkəzi isə skandan məsuldur.

İkisi arasındakı əlaqə prosesi haqqında qeyd:

Mərkəzi cihaz eyni anda birdən çox periferik cihaza qoşula bilər. Periferik cihaz qoşulduqdan sonra o, yayımı dərhal dayandıracaq və əlaqə kəsildikdən sonra yayıma davam edəcək. Yalnız bir cihaz istənilən vaxt qoşulmağa cəhd edə bilər, əlaqələri növbəyə çəkir.

GATT protokol

BLE texnologiyası GATT əsasında ünsiyyət qurur. GATT atribut ötürmə protokoludur. Bu, atribut ötürülməsi üçün tətbiq səviyyəsinin protokolu kimi qəbul edilə bilər.

Onun quruluşu çox sadədir:   

Bunu xml kimi başa düşə bilərsiniz:

Hər bir GATT müxtəlif funksiyaları yerinə yetirən Xidmətlərdən ibarətdir;

Hər bir Xidmət müxtəlif Xüsusiyyətlərdən ibarətdir;

Hər Xarakteristika dəyərdən və bir və ya daha çox Deskriptordan ibarətdir;

Xidmət və Xarakteristika teqlərə ekvivalentdir (Xidmət onun kateqoriyasına, Xarakteristika isə adına ekvivalentdir), dəyər faktiki olaraq verilənləri ehtiva edir və Deskriptor bu dəyərin izahı və təsviridir. Təbii ki, biz bunu müxtəlif rakurslardan təsvir və təsvir edə bilərik. Təsvir, beləliklə, bir çox Deskriptor ola bilər.

Məsələn: Ümumi Xiaomi Mi Band bir BLE cihazıdır, (güman edilir) o, cihaz məlumatını təmin edən Xidmət, addımlar təqdim edən Xidmət və ürək döyüntüsünü aşkarlayan Xidmət olan üç Xidmətdən ibarətdir;

Cihaz məlumatının xidmətində olan xarakteristikaya istehsalçı məlumatı, aparat məlumatı, versiya məlumatı və s. daxildir; ürək dərəcəsi Xidmətinə ürək dərəcəsi xarakteristikası və s. daxildir və ürək dərəcəsi xarakteristikasındakı dəyər əslində ürək dərəcəsi məlumatlarını ehtiva edir və deskriptor dəyərdir. Təsvir, məsələn, dəyər vahidi, təsvir, icazə və s.

GATT C/S

GATT haqqında ilkin anlayışla biz bilirik ki, GATT tipik bir C/S rejimidir. C/S olduğundan Server və müştərini ayırd etməyimiz lazımdır.

"GATT server" və "GATT müştəri". Bu iki rolun mövcud olduğu mərhələ əlaqə qurulduqdan sonra olur və dialoqun statusuna görə fərqlənirlər. Məlumatları saxlayan tərəfin GATT serveri, məlumatlara daxil olan tərəfin isə GATT müştərisi adlandığını başa düşmək asandır.

Bu, əvvəl qeyd etdiyimiz cihaz rolundan fərqli səviyyədə bir anlayışdır və onu ayırd etmək lazımdır. Təsvir etmək üçün sadə bir nümunədən istifadə edək:

Nümunə üçün cib telefonu və saatı götürün. Mobil telefon və mobil telefon arasında əlaqə qurulmazdan əvvəl biz saatın Bluetooth cihazını axtarmaq üçün mobil telefonun Bluetooth axtarış funksiyasından istifadə edirik. Bu proses zamanı digər cihazların onun varlığını bilməsi üçün saatın BLE yayımladığı açıq-aydın görünür. , bu prosesdə periferiya rolunu oynayır və cib telefonu skanlama tapşırığına cavabdehdir və təbii olaraq Mərkəz rolunu oynayır; ikisi GATT bağlantısı qurduqdan sonra, mobil telefonun saatdan addımların sayı kimi sensor məlumatlarını oxuması lazım olduqda, ikisi interaktiv məlumat saatda saxlanılır, buna görə də bu zaman saat GATT-nin rolunu oynayır. server və mobil telefon təbii olaraq GATT müştərisidir; və saat mobil telefondan SMS zəngləri və digər məlumatları oxumaq istədikdə, məlumatların qoruyucusu Cib telefonu olur, buna görə də mobil telefon bu anda server, saat isə müştəridir.

Xidmət/Xarakterik

Yuxarıda onlar haqqında artıq qavrama anlayışımız var və sonra bəzi praktiki məlumatımız var:

  1. Xarakteristika verilənlərin ən kiçik məntiqi vahididir.
  2. Dəyər və deskriptorda saxlanılan məlumatların təhlili Server mühəndisi tərəfindən müəyyən edilir, heç bir spesifikasiya yoxdur.
  3. Xidmət/Xarakteristikanın unikal UUID identifikasiyası var, UUID həm 16-bit, həm də 128-bit var, anlamalı olduğumuz şey 16-bit UUID-nin Bluetooth təşkilatı tərəfindən sertifikatlaşdırıldığını və satın alınması lazımdır, əlbəttə ki, bəzi ümumi olanlar var. olanlar 16-bit UUID. Məsələn, Ürək dərəcəsi xidmətinin UUID-i 0X180D-dir, bu kodda 0X00001800-0000-1000-8000-00805f9b34fb kimi ifadə edilir və digər bitlər sabitdir. 128-bit UUID fərdiləşdirilə bilər.
  4. GATT əlaqələri eksklüzivdir.

Top gedin