ngembangkeun BLE: Naon GATT na kumaha gawéna?

Daptar eusi

Konsep GATT

Pikeun ngalaksanakeun pangwangunan anu aya hubunganana sareng BLE, urang kedah gaduh pangaweruh dasar anu tangtu, tangtosna, éta kedah saderhana pisan.

gatt Peran alat:

Hal anu pangheulana ngartos nyaéta bédana antara dua peran ieu dina tingkat hardware, sareng aranjeunna mangrupikeun konsép relatif anu muncul dina pasangan:

"Alat sentral": rélatif kuat, dipaké pikeun nyeken tur nyambungkeun alat periferal, kayaning handphone, tablet, jsb.

"Alat periferal": fungsina kawilang saderhana, konsumsi kakuatan leutik, sareng alat sentral disambungkeun pikeun nyayogikeun data, sapertos wristbands, térmométer pinter, jsb.

Nyatana, dina tingkat anu paling dasar, éta kedah janten bédana antara peran anu béda dina prosés ngadegkeun sambungan. Urang terang yén upami alat Bluetooth hoyong terangkeun ka batur ayana, éta kedah terus-terusan nyiarkeun ka dunya luar, sedengkeun pihak anu sanés kedah nyeken sareng ngabales pakét siaran, supados sambunganna tiasa didamel. Dina prosés ieu, jalma anu tanggung jawab nyiarkeun nyaéta Periferal , sareng Tengah tanggung jawab pikeun nyeken.

Catetan ngeunaan prosés sambungan antara dua:

Alat sentral bisa nyambung ka sababaraha alat periferal dina waktos anu sareng.Sakali alat periferal disambungkeun, éta bakal eureun siaran langsung, sarta nuluykeun siaran sanggeus disconnection.Only hiji alat bisa nyobian nyambung iraha wae, antrian sambungan.

gatt protokol

téhnologi BLE komunikasi dumasar kana GATT. GATT mangrupakeun protokol transmisi atribut. Éta tiasa dianggap salaku protokol lapisan aplikasi pikeun pangiriman atribut.

Strukturna saderhana pisan:   

Anjeun tiasa ngartos salaku xml:

Unggal GATT diwangun ku Layanan anu ngalaksanakeun fungsi anu béda;

Unggal Service diwangun ku Karakteristik béda;

Unggal Karakteristik diwangun ku hiji nilai jeung hiji atawa leuwih Deskriptor;

Palayanan sareng Karakteristik sami sareng tag (Service sami sareng kategorina, sareng Karakteristik sami sareng namina), sedengkeun nilai saleresna ngandung data, sareng Deskriptor mangrupikeun panjelasan sareng pedaran ngeunaan nilai ieu. Tangtosna, urang tiasa ngajelaskeun sareng ngajelaskeun tina sudut anu béda. Katerangan, ku kituna tiasa aya sababaraha Deskriptor.

Contona:The umum Xiaomi Mi Band mangrupakeun alat BLE, (dianggap) eta ngandung tilu Services, nu Service nu nyadiakeun informasi alat, Service nu nyadiakeun léngkah, sarta Service nu ngadeteksi denyut jantung;

Karakteristik anu aya dina jasa inpormasi alat kalebet inpormasi produsén, inpormasi hardware, inpormasi versi, jsb. Ladenan denyut jantung kalebet karakteristik denyut jantung, jsb., sareng nilai dina karakteristik denyut jantung saleresna ngandung data denyut jantung, sareng deskriptor mangrupikeun nilai. Katerangan, sapertos unit nilai, déskripsi, idin, jsb.

GATT C/S

Kalayan pamahaman awal ngeunaan GATT, kami terang yén GATT mangrupikeun modeu C / S khas. Kusabab éta C / S, perlu pikeun urang ngabedakeun antara Server jeung klien.

"GATT server" vs "GATT klien". Tahap dimana dua peran ieu aya sanggeus sambungan ngadegkeun, sarta aranjeunna dibédakeun nurutkeun status dialog. Ieu gampang ngartos yen pihak nu nyepeng data disebut server GATT, sarta pihak anu aksés data disebut klien GATT.

Ieu konsép dina tingkat béda ti peran alat kami disebutkeun saméméhna, sarta perlu ngabedakeun eta. Hayu urang nganggo conto basajan pikeun ngagambarkeun:

Candak conto telepon sélulér sareng jam tangan pikeun ngagambarkeun. Sateuacan sambungan antara telepon sélulér sareng telepon sélulér diadegkeun, kami nganggo pungsi milarian Bluetooth tina telepon sélulér pikeun milarian alat Bluetooth tina arloji. Salila prosés ieu, écés yén jam tangan nyiarkeun BLE supados alat-alat sanés terang ayana. , éta peran periferal dina prosés ieu, jeung handphone tanggung jawab tugas scanning, sarta sacara alami muterkeun peran Center; sanggeus dua ngadegkeun sambungan GATT, nalika telepon sélulér perlu maca data sensor kayaning jumlah léngkah tina arloji, dua Data interaktif disimpen dina arloji, jadi dina waktos ieu arloji mangrupa peran GATT. server, jeung handphone sacara alami GATT klien; sareng nalika arloji hoyong maca telepon SMS sareng inpormasi sanés tina telepon sélulér, wali data janten Handphone, janten telepon sélulér mangrupikeun server dina waktos ayeuna, sareng jam tangan mangrupikeun klien.

Palayanan/Karakteristik

Kami parantos ngagaduhan pamahaman persépsi ngeunaan éta di luhur, teras kami gaduh sababaraha inpormasi praktis:

  1. Karakteristik nyaéta unit logis pangleutikna data.
  2. Analisis data disimpen dina nilai na descriptor ditangtukeun ku insinyur Server, euweuh spésifikasi.
  3. Service/Karakteristik boga idéntifikasi UUID unik, UUID boga duanana 16-bit jeung 128-bit, naon urang kudu ngarti yén UUID 16-bit ieu Certified ku organisasi Bluetooth sarta perlu dibeuli, tangtu aya sababaraha umum. leuwih 16-bit UUID.Contona, UUID sahiji layanan Heart Rate nyaeta 0X180D, nu dinyatakeun salaku 0X00001800-0000-1000-8000-00805f9b34fb dina kode, sarta bit séjén dibereskeun. UUID 128-bit tiasa disaluyukeun.
  4. sambungan GATT ekslusif.

Ngagulung ka luhur