BLE വികസനം: എന്താണ് GATT, അത് എങ്ങനെ പ്രവർത്തിക്കുന്നു?

ഉള്ളടക്ക പട്ടിക

GATT എന്ന ആശയം

BLE-യുമായി ബന്ധപ്പെട്ട വികസനം നടപ്പിലാക്കാൻ, നമുക്ക് ചില അടിസ്ഥാന അറിവുകൾ ഉണ്ടായിരിക്കണം, തീർച്ചയായും അത് വളരെ ലളിതമായിരിക്കണം.

GATT ഉപകരണ റോൾ:

ഈ രണ്ട് റോളുകളും തമ്മിലുള്ള വ്യത്യാസം ഹാർഡ്‌വെയർ തലത്തിലാണ് എന്നതാണ് ആദ്യം മനസ്സിലാക്കേണ്ടത്, അവ ജോഡികളായി ദൃശ്യമാകുന്ന ആപേക്ഷിക ആശയങ്ങളാണ്:

"സെൻട്രൽ ഉപകരണം": താരതമ്യേന ശക്തമാണ്, മൊബൈൽ ഫോണുകൾ, ടാബ്‌ലെറ്റുകൾ മുതലായവ പോലുള്ള പെരിഫറൽ ഉപകരണങ്ങൾ സ്കാൻ ചെയ്യാനും ബന്ധിപ്പിക്കാനും ഉപയോഗിക്കുന്നു.

"പെരിഫറൽ ഉപകരണം": പ്രവർത്തനം താരതമ്യേന ലളിതമാണ്, വൈദ്യുതി ഉപഭോഗം ചെറുതാണ്, കൂടാതെ റിസ്റ്റ്ബാൻഡുകൾ, സ്മാർട്ട് തെർമോമീറ്ററുകൾ മുതലായവ പോലുള്ള ഡാറ്റ നൽകുന്നതിന് സെൻട്രൽ ഉപകരണം ബന്ധിപ്പിച്ചിരിക്കുന്നു.

വാസ്തവത്തിൽ, ഏറ്റവും അടിസ്ഥാനപരമായ തലത്തിൽ, ഒരു കണക്ഷൻ സ്ഥാപിക്കുന്ന പ്രക്രിയയിൽ വ്യത്യസ്ത റോളുകൾ തമ്മിലുള്ള വ്യത്യാസം ആയിരിക്കണം. ഒരു ബ്ലൂടൂത്ത് ഉപകരണം അതിന്റെ അസ്തിത്വം മറ്റുള്ളവരെ അറിയിക്കാൻ ആഗ്രഹിക്കുന്നുവെങ്കിൽ, അത് തുടർച്ചയായി പുറം ലോകത്തേക്ക് പ്രക്ഷേപണം ചെയ്യേണ്ടതുണ്ട്, അതേസമയം മറ്റ് കക്ഷി ബ്രോഡ്‌കാസ്റ്റ് പാക്കറ്റിലേക്ക് സ്കാൻ ചെയ്ത് മറുപടി നൽകേണ്ടതുണ്ട്, അതുവഴി കണക്ഷൻ സ്ഥാപിക്കാനാകും. ഈ പ്രക്രിയയിൽ, പ്രക്ഷേപണത്തിന് ഉത്തരവാദിയായ വ്യക്തി പെരിഫറൽ ആണ്, കൂടാതെ സ്കാനിംഗിന്റെ ഉത്തരവാദിത്തം സെൻട്രൽ ആണ്.

ഇവ രണ്ടും തമ്മിലുള്ള കണക്ഷൻ പ്രക്രിയയെക്കുറിച്ച് ശ്രദ്ധിക്കുക:

സെൻട്രൽ ഉപകരണത്തിന് ഒരേ സമയം ഒന്നിലധികം പെരിഫറൽ ഉപകരണങ്ങളിലേക്ക് കണക്റ്റുചെയ്യാനാകും. പെരിഫറൽ ഉപകരണം കണക്‌റ്റ് ചെയ്‌താൽ, അത് ഉടനടി ബ്രോഡ്‌കാസ്‌റ്റുചെയ്യുന്നത് നിർത്തും, വിച്ഛേദിച്ചതിന് ശേഷവും പ്രക്ഷേപണം തുടരും. ഒരു ഉപകരണത്തിന് മാത്രമേ എപ്പോൾ വേണമെങ്കിലും കണക്‌റ്റുചെയ്യാൻ ശ്രമിക്കാനാകും, കണക്ഷനുകൾ ക്യൂവിൽ.

GATT പ്രോട്ടോകോൾ

GATT അടിസ്ഥാനമാക്കിയാണ് BLE സാങ്കേതികവിദ്യ ആശയവിനിമയം നടത്തുന്നത്. GATT ഒരു ആട്രിബ്യൂട്ട് ട്രാൻസ്മിഷൻ പ്രോട്ടോക്കോൾ ആണ്. ആട്രിബ്യൂട്ട് ട്രാൻസ്മിഷനുള്ള ഒരു ആപ്ലിക്കേഷൻ ലെയർ പ്രോട്ടോക്കോളായി ഇതിനെ കണക്കാക്കാം.

അതിന്റെ ഘടന വളരെ ലളിതമാണ്:   

നിങ്ങൾക്ക് ഇത് xml ആയി മനസ്സിലാക്കാം:

ഓരോ GATT യും വ്യത്യസ്ത പ്രവർത്തനങ്ങൾ നിർവഹിക്കുന്ന സേവനങ്ങൾ ഉൾക്കൊള്ളുന്നു;

ഓരോ സേവനവും വ്യത്യസ്ത സ്വഭാവസവിശേഷതകൾ ഉൾക്കൊള്ളുന്നു;

ഓരോ സ്വഭാവത്തിലും ഒരു മൂല്യവും ഒന്നോ അതിലധികമോ വിവരണങ്ങളും അടങ്ങിയിരിക്കുന്നു;

സേവനവും സ്വഭാവവും ടാഗുകൾക്ക് തുല്യമാണ് (സേവനം അതിന്റെ വിഭാഗത്തിന് തുല്യമാണ്, സ്വഭാവം അതിന്റെ പേരിന് തുല്യമാണ്), അതേസമയം മൂല്യത്തിൽ യഥാർത്ഥത്തിൽ ഡാറ്റ അടങ്ങിയിരിക്കുന്നു, കൂടാതെ ഡിസ്ക്രിപ്റ്റർ ഈ മൂല്യത്തിന്റെ വിശദീകരണവും വിവരണവുമാണ്. തീർച്ചയായും, നമുക്ക് അതിനെ വ്യത്യസ്ത കോണുകളിൽ നിന്ന് വിവരിക്കാനും വിവരിക്കാനും കഴിയും. വിവരണം, അതിനാൽ ഒന്നിലധികം വിവരണങ്ങൾ ഉണ്ടാകാം.

ഉദാഹരണത്തിന്: സാധാരണ Xiaomi Mi ബാൻഡ് ഒരു BLE ഉപകരണമാണ്, (അനുമാനിക്കപ്പെടുന്നു) അതിൽ മൂന്ന് സേവനങ്ങൾ അടങ്ങിയിരിക്കുന്നു, അവ ഉപകരണ വിവരങ്ങൾ നൽകുന്ന സേവനം, ഘട്ടങ്ങൾ നൽകുന്ന സേവനം, ഹൃദയമിടിപ്പ് കണ്ടെത്തുന്ന സേവനം;

ഉപകരണ വിവരങ്ങളുടെ സേവനത്തിൽ അടങ്ങിയിരിക്കുന്ന സ്വഭാവത്തിൽ നിർമ്മാതാവിന്റെ വിവരങ്ങൾ, ഹാർഡ്‌വെയർ വിവരങ്ങൾ, പതിപ്പ് വിവരങ്ങൾ മുതലായവ ഉൾപ്പെടുന്നു. ഹൃദയമിടിപ്പ് സേവനത്തിൽ ഹൃദയമിടിപ്പ് സ്വഭാവം മുതലായവ ഉൾപ്പെടുന്നു, കൂടാതെ ഹൃദയമിടിപ്പ് സ്വഭാവത്തിലെ മൂല്യത്തിൽ യഥാർത്ഥത്തിൽ ഹൃദയമിടിപ്പ് ഡാറ്റ അടങ്ങിയിരിക്കുന്നു, ഡിസ്ക്രിപ്റ്റർ മൂല്യമാണ്. മൂല്യത്തിന്റെ യൂണിറ്റ്, വിവരണം, അനുമതി മുതലായവ പോലുള്ള വിവരണം.

GATT C/S

GATT-നെ കുറിച്ചുള്ള പ്രാഥമിക ധാരണയോടെ, GATT ഒരു സാധാരണ C/S മോഡാണെന്ന് നമുക്കറിയാം. ഇത് C/S ആയതിനാൽ, സെർവറും ക്ലയന്റും തമ്മിൽ വേർതിരിച്ചറിയേണ്ടത് ആവശ്യമാണ്.

"GATT സെർവർ" വേഴ്സസ് "GATT ക്ലയന്റ്". ഈ രണ്ട് റോളുകളും നിലനിൽക്കുന്ന ഘട്ടം കണക്ഷൻ സ്ഥാപിച്ചതിന് ശേഷമാണ്, സംഭാഷണത്തിന്റെ അവസ്ഥ അനുസരിച്ച് അവ വേർതിരിച്ചിരിക്കുന്നു. ഡാറ്റ കൈവശം വച്ചിരിക്കുന്ന കക്ഷിയെ GATT സെർവർ എന്നും ഡാറ്റ ആക്‌സസ് ചെയ്യുന്ന കക്ഷിയെ GATT ക്ലയന്റ് എന്നും വിളിക്കുന്നത് മനസ്സിലാക്കാൻ എളുപ്പമാണ്.

ഞങ്ങൾ മുമ്പ് സൂചിപ്പിച്ച ഉപകരണ റോളിൽ നിന്ന് വ്യത്യസ്തമായ തലത്തിലുള്ള ഒരു ആശയമാണിത്, അത് വേർതിരിച്ചറിയേണ്ടത് ആവശ്യമാണ്. ചിത്രീകരിക്കാൻ നമുക്ക് ഒരു ലളിതമായ ഉദാഹരണം ഉപയോഗിക്കാം:

ചിത്രീകരിക്കാൻ ഒരു മൊബൈൽ ഫോണിന്റെയും വാച്ചിന്റെയും ഉദാഹരണം എടുക്കുക. മൊബൈൽ ഫോണും മൊബൈൽ ഫോണും തമ്മിലുള്ള ബന്ധം സ്ഥാപിക്കുന്നതിന് മുമ്പ്, വാച്ചിന്റെ ബ്ലൂടൂത്ത് ഉപകരണം തിരയാൻ ഞങ്ങൾ മൊബൈൽ ഫോണിന്റെ ബ്ലൂടൂത്ത് തിരയൽ പ്രവർത്തനം ഉപയോഗിക്കുന്നു. ഈ പ്രക്രിയയ്ക്കിടയിൽ, വാച്ച് BLE പ്രക്ഷേപണം ചെയ്യുന്നുവെന്നത് വ്യക്തമാണ്, അതിനാൽ മറ്റ് ഉപകരണങ്ങൾക്ക് അതിന്റെ അസ്തിത്വം അറിയാം. , ഈ പ്രക്രിയയിൽ പെരിഫറലിന്റെ പങ്ക്, സ്കാനിംഗ് ടാസ്ക്കിന് മൊബൈൽ ഫോൺ ഉത്തരവാദിയാണ്, കൂടാതെ സ്വാഭാവികമായും കേന്ദ്രത്തിന്റെ പങ്ക് വഹിക്കുന്നു; ഇരുവരും ഒരു GATT കണക്ഷൻ സ്ഥാപിച്ച ശേഷം, മൊബൈൽ ഫോണിന് വാച്ചിൽ നിന്നുള്ള ഘട്ടങ്ങളുടെ എണ്ണം പോലുള്ള സെൻസർ ഡാറ്റ വായിക്കേണ്ടിവരുമ്പോൾ, രണ്ട് ഇന്ററാക്റ്റീവ് ഡാറ്റ വാച്ചിൽ സംരക്ഷിക്കപ്പെടുന്നു, അതിനാൽ ഈ സമയത്ത് വാച്ചാണ് GATT ന്റെ പങ്ക്. സെർവർ, കൂടാതെ മൊബൈൽ ഫോൺ സ്വാഭാവികമായും GATT ക്ലയന്റാണ്; കൂടാതെ മൊബൈൽ ഫോണിൽ നിന്നുള്ള SMS കോളുകളും മറ്റ് വിവരങ്ങളും വായിക്കാൻ വാച്ച് ആഗ്രഹിക്കുമ്പോൾ, ഡാറ്റയുടെ രക്ഷാധികാരി മൊബൈൽ ഫോണായി മാറുന്നു, അതിനാൽ മൊബൈൽ ഫോൺ ഈ സമയത്ത് സെർവറാണ്, വാച്ച് ക്ലയന്റാണ്.

സേവനം/സ്വഭാവം

മുകളിൽ അവയെക്കുറിച്ച് ഞങ്ങൾക്ക് ഇതിനകം തന്നെ ഒരു ധാരണാപരമായ ധാരണയുണ്ട്, തുടർന്ന് ഞങ്ങൾക്ക് ചില പ്രായോഗിക വിവരങ്ങളുണ്ട്:

  1. ഡാറ്റയുടെ ഏറ്റവും ചെറിയ ലോജിക്കൽ യൂണിറ്റാണ് സ്വഭാവം.
  2. മൂല്യത്തിലും വിവരണത്തിലും സംഭരിച്ചിരിക്കുന്ന ഡാറ്റയുടെ വിശകലനം സെർവർ എഞ്ചിനീയറാണ് നിർണ്ണയിക്കുന്നത്, ഒരു സ്പെസിഫിക്കേഷനും ഇല്ല.
  3. സേവനം/സ്വഭാവത്തിന് ഒരു അദ്വിതീയ UUID ഐഡന്റിഫിക്കേഷൻ ഉണ്ട്, UUID-ന് 16-ബിറ്റും 128-ബിറ്റും ഉണ്ട്, നമ്മൾ മനസ്സിലാക്കേണ്ടത് 16-ബിറ്റ് UUID ബ്ലൂടൂത്ത് ഓർഗനൈസേഷൻ സാക്ഷ്യപ്പെടുത്തിയതാണ്, അത് വാങ്ങേണ്ടതുണ്ട്, തീർച്ചയായും ചില പൊതുവായ കാര്യങ്ങളുണ്ട്. 16-ബിറ്റ് UUID. ഉദാഹരണത്തിന്, ഹാർട്ട് റേറ്റ് സേവനത്തിന്റെ UUID 0X180D ആണ്, ഇത് കോഡിൽ 0X00001800-0000-1000-8000-00805f9b34fb ആയി പ്രകടിപ്പിക്കുന്നു, മറ്റ് ബിറ്റുകൾ ഉറപ്പിച്ചിരിക്കുന്നു. 128-ബിറ്റ് UUID ഇഷ്ടാനുസൃതമാക്കാൻ കഴിയും.
  4. GATT കണക്ഷനുകൾ എക്സ്ക്ലൂസീവ് ആണ്.

ടോപ്പ് സ്ക്രോൾ