BLE rivojlanishi: GATT nima va u qanday ishlaydi?

Mundarija

GATT kontseptsiyasi

BLE bilan bog'liq rivojlanishni amalga oshirish uchun biz ma'lum bir asosiy bilimga ega bo'lishimiz kerak, albatta, bu juda oddiy bo'lishi kerak.

GATT Qurilma roli:

Tushunish kerak bo'lgan birinchi narsa shundaki, bu ikki rol o'rtasidagi farq apparat darajasida bo'lib, ular juftlikda paydo bo'ladigan nisbiy tushunchalardir:

"Markaziy qurilma": nisbatan kuchli, mobil telefonlar, planshetlar va boshqalar kabi periferik qurilmalarni skanerlash va ulash uchun ishlatiladi.

"Periferik qurilma": funktsiyasi nisbatan sodda, quvvat sarfi kichik va markaziy qurilma bilaguzuklar, aqlli termometrlar va boshqalar kabi ma'lumotlarni taqdim etish uchun ulangan.

Aslida, eng asosiy darajada, bu aloqani o'rnatish jarayonida turli rollar o'rtasidagi farq bo'lishi kerak. Biz bilamizki, agar Bluetooth qurilmasi boshqalarga o'z mavjudligini bildirmoqchi bo'lsa, u doimiy ravishda tashqi dunyoga uzatilishi kerak, boshqa tomon esa ulanishni o'rnatishi uchun skanerlashi va translyatsiya paketiga javob berishi kerak. Bu jarayonda eshittirish uchun mas'ul shaxs periferikdir va Markaziy skanerlash uchun mas'uldir.

Ikkala o'rtasidagi ulanish jarayoni haqida eslatma:

Markaziy qurilma bir vaqtning o'zida bir nechta periferik qurilmalarga ulanishi mumkin. Periferik qurilma ulangandan so'ng, u darhol eshittirishni to'xtatadi va uzilganidan keyin eshittirishni davom ettiradi. Faqat bitta qurilma istalgan vaqtda ulanishga urinib, ulanishlarni navbatga qo'yishi mumkin.

GATT Protokol

BLE texnologiyasi GATT asosida muloqot qiladi. GATT - atributlarni uzatish protokoli. U atributlarni uzatish uchun amaliy qatlam protokoli sifatida qaralishi mumkin.

Uning tuzilishi juda oddiy:   

Siz buni xml sifatida tushunishingiz mumkin:

Har bir GATT turli funktsiyalarni bajaradigan xizmatlardan iborat;

Har bir xizmat turli xarakteristikalardan iborat;

Har bir Xarakteristika qiymat va bir yoki bir nechta Deskriptorlardan iborat;

Xizmat va Xarakteristikalar teglarga ekvivalentdir (Xizmat uning toifasiga, Xarakteristika esa uning nomiga ekvivalent), qiymat aslida ma'lumotlarni o'z ichiga oladi va Deskriptor bu qiymatning tushuntirishi va tavsifidir. Albatta, biz uni turli tomonlardan tasvirlashimiz va tasvirlashimiz mumkin. Tavsif, shuning uchun bir nechta Deskriptorlar bo'lishi mumkin.

Masalan: Umumiy Xiaomi Mi Band BLE qurilmasi boʻlib, (taxmin qilingan) u uchta Xizmatni oʻz ichiga oladi, ular qurilma maʼlumotlarini taqdim qiluvchi Xizmat, qadamlarni taʼminlaydigan Xizmat va yurak urish tezligini aniqlaydigan Xizmatdir;

Qurilma ma'lumotlari xizmatida mavjud bo'lgan xarakteristikaga ishlab chiqaruvchi ma'lumotlari, apparat ma'lumotlari, versiya ma'lumotlari va boshqalar kiradi; yurak urish tezligi Xizmat yurak urish tezligi xarakteristikasini va boshqalarni o'z ichiga oladi va yurak urish tezligi xarakteristikasidagi qiymat aslida yurak urish tezligi ma'lumotlarini o'z ichiga oladi va tavsiflovchi qiymat hisoblanadi. Tavsif, masalan, qiymat birligi, tavsif, ruxsat va boshqalar.

GATT C/S

GATTni dastlabki tushunish bilan biz GATT odatiy C/S rejimi ekanligini bilamiz. Bu C/S bo'lgani uchun biz server va mijozni farqlashimiz kerak.

"GATT serveri" va "GATT mijozi". Bu ikki rolning mavjud bo'lgan bosqichi aloqa o'rnatilgandan keyin bo'lib, ular dialog holatiga ko'ra farqlanadi. Ma'lumotlarga ega bo'lgan tomon GATT serveri, ma'lumotlarga kiruvchi tomon esa GATT mijozi deb nomlanishini tushunish oson.

Bu biz ilgari aytib o'tgan qurilma rolidan farqli darajadagi tushuncha bo'lib, uni ajratib olish kerak. Tasavvur qilish uchun oddiy misoldan foydalanamiz:

Misol uchun mobil telefon va soatni oling. Mobil telefon va mobil telefon o'rtasidagi aloqa o'rnatilishidan oldin biz soatning Bluetooth qurilmasini qidirish uchun mobil telefonning Bluetooth qidiruv funksiyasidan foydalanamiz. Ushbu jarayon davomida soatning boshqa qurilmalar uning mavjudligini bilishi uchun BLE-ni eshittirishi aniq. , bu jarayonda periferiyaning roli va mobil telefon skanerlash vazifasi uchun javobgardir va tabiiy ravishda Markaz rolini o'ynaydi; ikkalasi GATT aloqasini o'rnatgandan so'ng, mobil telefon soatdan qadamlar soni kabi sensor ma'lumotlarini o'qishi kerak bo'lganda, ikkita interaktiv ma'lumotlar soatda saqlanadi, shuning uchun bu vaqtda soat GATT roli hisoblanadi. server va mobil telefon tabiiy ravishda GATT mijozidir; va soat mobil telefondan SMS qo'ng'iroqlarni va boshqa ma'lumotlarni o'qishni xohlasa, ma'lumotlarning qo'riqchisi Mobil telefonga aylanadi, shuning uchun mobil telefon bu vaqtda server, soat esa mijozdir.

Xizmat/Xususiyat

Biz allaqachon ular haqida yuqorida idrok etilgan tushunchaga ega bo'lganmiz va keyin bizda amaliy ma'lumotlar mavjud:

  1. Xarakteristik ma'lumotlarning eng kichik mantiqiy birligidir.
  2. Qiymat va deskriptorda saqlangan ma'lumotlarni tahlil qilish server muhandisi tomonidan belgilanadi, hech qanday spetsifikatsiya yo'q.
  3. Xizmat/Xarakteristikada noyob UUID identifikatori mavjud, UUID ham 16-bit, ham 128-bitga ega, biz tushunishimiz kerak bo'lgan narsa shundaki, 16-bitli UUID Bluetooth tashkiloti tomonidan sertifikatlangan va sotib olinishi kerak, albatta, ba'zi umumiy xususiyatlar mavjud. 16-bitli UUID.Masalan, Heart Rate xizmatining UUID-si 0X180D bo'lib, kodda 0X00001800-0000-1000-8000-00805f9b34fb sifatida ifodalanadi va boshqa bitlar aniqlangan. 128-bitli UUID sozlanishi mumkin.
  4. GATT ulanishlari eksklyuzivdir.

Top o'ting