pembangunan BLE: Apa GATT lan cara kerjane?

Bab lan Paragraf

Konsep GATT

Kanggo nindakake pembangunan sing gegandhengan karo BLE, kita kudu duwe kawruh dhasar tartamtu, mesthine kudu gampang banget.

gatt Peran piranti:

Babagan pisanan sing kudu dingerteni yaiku bedane antarane rong peran kasebut ing tingkat hardware, lan minangka konsep relatif sing katon ing pasangan:

"Piranti pusat": relatif kuat, digunakake kanggo mindhai lan nyambungake piranti periferal, kayata ponsel, tablet, etc.

"Piranti peripheral": fungsi punika relatif prasaja, konsumsi daya cilik, lan piranti tengah disambungake kanggo nyedhiyani data, kayata wristbands, thermometer pinter, etc.

Nyatane, ing tingkat sing paling dhasar, kudu dadi bedane antarane peran sing beda-beda ing proses nggawe sambungan. Kita ngerti yen piranti Bluetooth pengin supaya wong liya ngerti eksistensi, kudu terus-terusan nyebar menyang jagad njaba, dene pihak liya kudu mindai lan mbales paket siaran kasebut, supaya sambungan kasebut bisa ditetepake. Ing proses iki, wong sing tanggung jawab kanggo siaran yaiku Peripheral , lan Central tanggung jawab kanggo mindhai.

Wigati babagan proses sambungan antarane loro:

Piranti tengah bisa nyambung menyang macem-macem piranti peripheral ing wektu sing padha. Sawise piranti peripheral disambungake, iku bakal mungkasi siaran langsung, lan terus siaran sawise pedhot.Mung siji piranti bisa nyoba kanggo nyambung ing sembarang wektu, sambungan antrian.

gatt protokol

teknologi BLE komunikasi adhedhasar GATT. GATT minangka protokol transmisi atribut. Bisa dianggep minangka protokol lapisan aplikasi kanggo transmisi atribut.

Struktur kasebut prasaja banget:   

Sampeyan bisa ngerti minangka xml:

Saben GATT dumadi saka Layanan sing nindakake fungsi beda;

Saben Layanan dumadi saka Karakteristik sing beda;

Saben Karakteristik kasusun saka nilai lan siji utawa luwih Deskriptor;

Layanan lan Karakteristik padha karo tag (Layanan padha karo kategori, lan Karakteristik padha karo jenenge), dene nilai kasebut ngemot data, lan Deskriptor minangka panjelasan lan deskripsi babagan nilai kasebut. Mesthi, kita bisa njlèntrèhaké lan njlèntrèhaké saka sudhut sing beda. Katrangan, supaya bisa ana macem-macem Deskriptor.

Contone: Xiaomi Mi Band umum yaiku piranti BLE, (dianggep) ngemot telung Layanan, yaiku Layanan sing nyedhiyakake informasi piranti, Layanan sing nyedhiyakake langkah-langkah, lan Layanan sing ndeteksi denyut jantung;

Karakteristik sing ana ing layanan informasi piranti kalebu informasi pabrikan, informasi hardware, informasi versi, lsp; Layanan detak jantung kalebu karakteristik denyut jantung, dsb., lan nilai ing karakteristik denyut jantung bener-bener ngemot data denyut jantung, lan deskriptor yaiku nilai. Katrangan, kayata unit nilai, deskripsi, ijin, lsp.

GATT C/S

Kanthi pemahaman awal saka GATT, kita ngerti sing GATT punika C khas / mode S. Wiwit iku C / S, iku perlu kanggo kita mbedakake antarane Server lan klien.

"Server GATT" vs "klien GATT". Tahap ing ngendi loro peran kasebut ana sawise sambungan kasebut, lan dibedakake miturut status dialog. Iku gampang mangertos sing pihak sing nyekel data diarani server GATT, lan pihak sing ngakses data disebut klien GATT.

Iki minangka konsep ing tingkat sing beda saka peran piranti sing wis kasebut sadurunge, lan perlu kanggo mbedakake. Ayo nggunakake conto prasaja kanggo ilustrasi:

Njupuk conto telpon seluler lan jam tangan kanggo ilustrasi. Sadurunge sambungan antarane telpon seluler lan telpon seluler ditetepake, kita nggunakake fungsi telusuran Bluetooth saka ponsel kanggo nelusuri piranti Bluetooth saka watch. Sajrone proses iki, jelas yen jam kasebut nyiarake BLE supaya piranti liyane ngerti anane. , iku peran peripheral ing proses iki, lan telpon seluler tanggung jawab kanggo tugas mindhai, lan alamiah muter peran Center; sawise loro nggawe sambungan GATT, nalika telpon seluler kudu maca data sensor kayata nomer langkah saka watch, loro Data interaktif disimpen ing watch, supaya ing wektu iki watch punika peran GATT. server, lan telpon seluler alamiah klien GATT; lan nalika jam tangan pengin maca telpon SMS lan informasi liyane saka ponsel, wali data kasebut dadi Ponsel, mula ponsel minangka server ing wektu iki, lan jam tangan minangka klien.

Layanan / Karakteristik

Kita wis duwe pangerten persepsi babagan kasebut ing ndhuwur, banjur kita duwe sawetara informasi praktis:

  1. Karakteristik minangka unit logis data sing paling cilik.
  2. Analisis data sing disimpen ing nilai lan deskriptor ditemtokake dening insinyur Server, ora ana spesifikasi.
  3. Layanan/Karakteristik duwe identifikasi UUID sing unik, UUID duwe 16-bit lan 128-bit, sing kudu dingerteni yaiku UUID 16-bit disertifikasi dening organisasi Bluetooth lan kudu dituku, mesthi ana sawetara sing umum. siji 16-dicokot UUID.Contone, UUID layanan Heart Rate punika 0X180D, kang ditulis minangka 0X00001800-0000-1000-8000-00805f9b34fb ing kode, lan bit liyane tetep. UUID 128-bit bisa disesuaikan.
  4. sambungan GATT eksklusif.

Gulung menyang Top