Sviluppu BLE: Cosa hè GATT è cumu funziona?

Table di cuntinutu

U cuncettu di GATT

Per rializà u sviluppu BLE-related, ci vole à avè una certa cunniscenza basi, sicuru, deve esse assai sèmplice.

gatt Rolu di u dispusitivu:

A prima cosa da capisce hè chì a distinzione trà sti dui roli hè à u livellu di hardware, è sò cuncetti relative chì appariscenu in coppie:

"Dispositivu cintrali": relativamente putente, utilizatu per scansà è cunnette i dispositi periferichi, cum'è i telefunini, tablette, etc.

"Dispositivu perifericu": a funzione hè relativamente simplice, u cunsumu di energia hè chjucu, è u dispusitivu cintrali hè cunnessu per furnisce dati, cum'è braccialetti, termometri intelligenti, etc.

In fatti, à u livellu più fundamentale, deve esse una distinzione trà diversi roli in u prucessu di stabilisce una cunnessione. Sapemu chì, se un dispositivu Bluetooth vole chì l'altri cunnoscenu a so esistenza, hà bisognu di trasmissione continuamente à u mondu esternu, mentre chì l'altra parte hà bisognu di scansà è risponde à u pacchettu di broadcast, in modu chì a cunnessione pò esse stabilita. In questu prucessu, a persona rispunsevuli di a trasmissione hè Peripheral , è Centrale hè rispunsevuli di scanning.

Nota nantu à u prucessu di cunnessione trà i dui:

U dispusitivu cintrali pò cunnette vi à parechji dispusitivi periferica à u listessu tempu.Una volta u dispusitivu periferica hè cunnessu, si fermerà broadcasting subitu, è cuntinuà broadcasting dopu disconnection.Only un dispusitivu pò pruvà à cunnette in ogni mumentu, fila di cunnessione.

gatt prutucolu

A tecnulugia BLE cumunica basatu annantu à GATT. GATT hè un protocolu di trasmissione di attributi. Pò esse cunsideratu cum'è un protokollu di strata di applicazione per a trasmissione di attributi.

A so struttura hè assai sèmplice:   

Pudete capisce cum'è xml:

Ogni GATT hè cumpostu di Servizi chì facenu diverse funzioni;

Ogni serviziu hè cumpostu di differente Caratteristica;

Ogni Caratteristica hè custituita da un valore è unu o più Descriptori;

U serviziu è a Caratteristica sò equivalenti à e tag (U serviziu hè equivalente à a so categuria, è a Caratteristica hè equivalente à u so nome), mentri u valore in realtà cuntene dati, è Descriptor hè una spiegazione è una descrizzione di stu valore. Di sicuru, pudemu discrive è discrìviri da diverse anguli. Descrizzione, cusì ci ponu esse parechje Descrittive.

Per esempiu: U cumuni Xiaomi Mi Band hè un dispusitivu BLE, (assuntu) si cuntene trè Services, chì sò u serviziu chì furnisce infurmazione dispusitivu, u serviziu chì furnisce i passi, è u serviziu chì detects ritmu core;

A caratteristica cuntenuta in u serviziu di l'infurmazione di u dispusitivu include infurmazione di u fabricatore, infurmazione hardware, infurmazione di versione, etc.; U serviziu di freccia cardiaca include a caratteristica di freccia cardiaca, etc., è u valore in a caratteristica di freccia cardiaca cuntene in realtà i dati di freccia cardiaca, è u descrittore hè u valore. Descrizzione, cum'è l'unità di valore, descrizzione, permessu, etc.

GATT C/S

Cù una cunniscenza preliminare di GATT, sapemu chì GATT hè un modu tipicu C / S. Siccomu hè C / S, hè necessariu per noi di distingue trà Server è cliente.

"GATT server" versus "GATT client". U palcuscenicu induve esistinu sti dui roli hè dopu chì a cunnessione hè stabilita, è sò distinti secondu u statutu di u dialogu. Hè facilitu capisce chì u partitu chì detene i dati hè chjamatu u servitore GATT, è u partitu chì accede à e dati hè chjamatu u cliente GATT.

Questu hè un cuncettu à un livellu sfarente da u rolu di u dispositivu chì avemu citatu prima, è hè necessariu di distingue. Utilizemu un esempiu simplice per illustrà:

Pigliate l'esempiu di un telefuninu è un orologio per illustrà. Prima chì a cunnessione trà u telefuninu è u telefuninu hè stabilitu, usemu a funzione di ricerca Bluetooth di u telefuninu per circà u dispusitivu Bluetooth di u watch. Duranti stu prucessu, hè ovvi chì l'orologio trasmette BLE in modu chì altri dispositi cunnoscenu a so esistenza. , hè u rolu di periferica in stu prucessu, è u telefuninu hè rispunsevuli di u compitu di scanning, è naturalmente ghjucà u rolu di Centru; dopu chì i dui stabiliscenu una cunnessione GATT, quandu u telefuninu hà bisognu di leghje i dati di sensori cum'è u nùmeru di passi da u watch, i dui I dati interattivi sò salvati in u watch, cusì à questu tempu u watch hè u rolu di u GATT. servitore, è u telefuninu hè naturalmente u cliente GATT; è quandu u sguardu vole à leghje i chjami SMS è altre infurmazione da u telefuninu, u guardianu di e dati diventa Mobile Phone, cusì u telefuninu hè u servitore in questu tempu, è l'orologio hè u cliente.

Serviziu / Caratteristica

Avemu digià avutu una cunniscenza perceptiva di elli sopra, è dopu avemu qualchì infurmazione pratica:

  1. A caratteristica hè a più chjuca unità logica di dati.
  2. L'analisi di dati guardati in valore è descrittore hè determinatu da l'ingegnere di u Server, ùn ci hè micca specificazione.
  3. U serviziu / Caratteristica hà una identificazione UUID unica, UUID hà sia 16-bit è 128-bit, ciò chì avemu bisognu di capiscenu hè chì l'UUID 16-bit hè certificatu da l'urganizazione Bluetooth è deve esse acquistatu, di sicuru ci sò qualchi cumuni. quelli UUID 16-bit. Per esempiu, l'UUID di u serviziu di Frequenza Cardiaca hè 0X180D, chì hè spressu cum'è 0X00001800-0000-1000-8000-00805f9b34fb in u codice, è altri bits sò fissi. L'UUID 128-bit pò esse persunalizatu.
  4. I cunnessione GATT sò esclusivi.

Libru di Top