BLE-kehitys: Mikä GATT on ja miten se toimii?

Sisällysluettelo

GATTin käsite

BLE:hen liittyvän kehityksen toteuttamiseksi meillä on oltava tietyt perustiedot, tietenkin, sen on oltava hyvin yksinkertaista.

GATT Laitteen rooli:

Ensimmäinen asia, joka on ymmärrettävä, on, että ero näiden kahden roolin välillä on laitteistotasolla, ja ne ovat suhteellisia käsitteitä, jotka esiintyvät pareittain:

"Keskilaite": suhteellisen tehokas, käytetään oheislaitteiden, kuten matkapuhelimien, tablettien jne., skannaamiseen ja yhdistämiseen.

"Oheislaite": toiminto on suhteellisen yksinkertainen, virrankulutus on pieni ja keskuslaite on kytketty antamaan tietoja, kuten rannekkeita, älykkäitä lämpömittareita jne.

Itse asiassa perustavanlaatuisimmalla tasolla sen pitäisi olla ero eri roolien välillä yhteyden muodostusprosessissa. Tiedämme, että jos Bluetooth-laite haluaa kertoa muille olemassaolostaan, sen on jatkuvasti lähetettävä ulkomaailmaan, kun taas toisen osapuolen on skannattava lähetyspaketti ja vastataan siihen, jotta yhteys voidaan muodostaa. Tässä prosessissa lähetyksestä vastaava henkilö on oheislaite ja keskus vastaa skannauksesta.

Huomautus näiden kahden välisestä kytkentäprosessista:

Keskuslaite voi muodostaa yhteyden useisiin oheislaitteisiin samanaikaisesti. Kun oheislaite on liitetty, se lopettaa lähetyksen välittömästi ja jatkaa lähetystä yhteyden katkeamisen jälkeen. Vain yksi laite voi yrittää muodostaa yhteyden milloin tahansa ja asettaa yhteydet jonoon.

GATT protokolla

BLE-tekniikka kommunikoi GATTin perusteella. GATT on attribuuttien siirtoprotokolla. Sitä voidaan pitää sovelluskerroksen protokollana attribuuttien siirtoa varten.

Sen rakenne on hyvin yksinkertainen:   

Voit ymmärtää sen xml:nä:

Jokainen GATT koostuu palveluista, jotka suorittavat erilaisia ​​toimintoja;

Jokainen palvelu koostuu erilaisista ominaisuuksista;

Jokainen ominaisuus koostuu arvosta ja yhdestä tai useammasta kuvauksesta;

Service ja Characteristic vastaavat tunnisteita (Palvelu vastaa luokkaansa ja Ominaisuus vastaa sen nimeä), kun taas arvo itse asiassa sisältää dataa, ja Descriptor on tämän arvon selitys ja kuvaus. Voimme tietysti kuvata ja kuvata sitä eri näkökulmista. Kuvaus, joten kuvailevia voi olla useita.

Esimerkiksi:Yleinen Xiaomi Mi Band on BLE-laite, (oletetaan) se sisältää kolme palvelua, jotka ovat laitetietoja tarjoava palvelu, vaiheita tarjoava palvelu ja sykkeen tunnistava palvelu;

Laitteen palvelun sisältämä ominaisuus sisältää valmistajan tiedot, laitteistotiedot, versiotiedot jne.; sykepalvelu sisältää sykekäyrän jne., ja sykekäyrän arvo sisältää itse asiassa syketiedot, ja kuvaaja on arvo. Kuvaus, kuten arvoyksikkö, kuvaus, lupa jne.

GATT C/S

GATTin alustavan käsityksen perusteella tiedämme, että GATT on tyypillinen C/S-tila. Koska se on C/S, meidän on tehtävä ero palvelimen ja asiakkaan välillä.

"GATT-palvelin" vs. "GATT-asiakas". Vaihe, jossa nämä kaksi roolia ovat olemassa, on yhteyden muodostamisen jälkeen, ja ne erotetaan dialogin tilan mukaan. On helppo ymmärtää, että tietojen hallussa olevaa osapuolta kutsutaan GATT-palvelimeksi ja tietoja käyttävää osapuolta kutsutaan GATT-asiakkaaksi.

Tämä on käsite, joka on eri tasolla kuin aiemmin mainitsemamme laiterooli, ja se on tarpeen erottaa. Käytämme yksinkertaista esimerkkiä havainnollistamaan:

Havainnollistaa esimerkkiä matkapuhelimesta ja kellosta. Ennen kuin yhteys matkapuhelimen ja matkapuhelimen välille muodostuu, käytämme matkapuhelimen Bluetooth-hakutoimintoa kellon Bluetooth-laitteen etsimiseen. Tämän prosessin aikana on ilmeistä, että kello lähettää BLE:tä, jotta muut laitteet tietävät sen olemassaolon. , se on oheislaitteen rooli tässä prosessissa, ja matkapuhelin on vastuussa skannaustehtävästä, ja sillä on luonnollisesti keskuksen rooli; kun molemmat muodostavat GATT-yhteyden, kun matkapuhelimen on luettava anturitietoja, kuten askelmäärä kellosta, kaksi Interaktiiviset tiedot tallennetaan kelloon, joten kello on tällä hetkellä GATTin rooli. palvelin ja matkapuhelin on luonnollisesti GATT-asiakas; ja kun kello haluaa lukea SMS-puheluita ja muuta tietoa matkapuhelimesta, tietojen huoltajaksi tulee Matkapuhelin, joten matkapuhelin on tällä hetkellä palvelin ja kello asiakas.

Palvelu/Ominaisuus

Meillä on jo havainnollinen käsitys niistä edellä, ja sitten meillä on käytännön tietoa:

  1. Ominaisuus on datan pienin looginen yksikkö.
  2. Arvoon ja kuvaajaan tallennettujen tietojen analyysin määrittää palvelininsinööri, erittelyä ei ole.
  3. Palvelulla/ominaisuudella on ainutlaatuinen UUID-tunniste, UUID:llä on sekä 16-bittinen että 128-bittinen, mutta meidän on ymmärrettävä, että 16-bittinen UUID on Bluetooth-organisaation sertifioima ja se on ostettava, tietysti on joitain yleisiä yksi 16-bittinen UUID.Esimerkiksi Heart Rate -palvelun UUID on 0X180D, joka ilmaistaan ​​koodissa muodossa 0X00001800-0000-1000-8000-00805f9b34fb, ja muut bitit ovat kiinteitä. 128-bittinen UUID voidaan mukauttaa.
  4. GATT-yhteydet ovat yksinoikeudella.

Siirry alkuun