BLE વિકાસ: GATT શું છે અને તે કેવી રીતે કાર્ય કરે છે?

સામગ્રીનું કોષ્ટક

GATT નો ખ્યાલ

BLE-સંબંધિત વિકાસ કરવા માટે, અમારી પાસે ચોક્કસ મૂળભૂત જ્ઞાન હોવું જોઈએ, અલબત્ત, તે ખૂબ જ સરળ હોવું જોઈએ.

જીએટીટી ઉપકરણ ભૂમિકા:

સમજવાની પ્રથમ વસ્તુ એ છે કે આ બે ભૂમિકાઓ વચ્ચેનો તફાવત હાર્ડવેર સ્તરે છે, અને તે સંબંધિત ખ્યાલો છે જે જોડીમાં દેખાય છે:

"કેન્દ્રીય ઉપકરણ": પ્રમાણમાં શક્તિશાળી, પેરિફેરલ ઉપકરણોને સ્કેન કરવા અને કનેક્ટ કરવા માટે વપરાય છે, જેમ કે મોબાઇલ ફોન, ટેબ્લેટ વગેરે.

"પેરિફેરલ ઉપકરણ": કાર્ય પ્રમાણમાં સરળ છે, પાવર વપરાશ ઓછો છે, અને કેન્દ્રીય ઉપકરણ ડેટા પ્રદાન કરવા માટે જોડાયેલ છે, જેમ કે કાંડા બેન્ડ્સ, સ્માર્ટ થર્મોમીટર્સ વગેરે.

હકીકતમાં, સૌથી મૂળભૂત સ્તરે, તે જોડાણ સ્થાપિત કરવાની પ્રક્રિયામાં વિવિધ ભૂમિકાઓ વચ્ચેનો તફાવત હોવો જોઈએ. અમે જાણીએ છીએ કે જો બ્લૂટૂથ ઉપકરણ અન્ય લોકોને તેના અસ્તિત્વ વિશે જણાવવા માંગે છે, તો તેને સતત બહારની દુનિયામાં પ્રસારણ કરવાની જરૂર છે, જ્યારે અન્ય પક્ષને બ્રોડકાસ્ટ પેકેટને સ્કેન કરીને જવાબ આપવાની જરૂર છે, જેથી કનેક્શન સ્થાપિત થઈ શકે. આ પ્રક્રિયામાં, પ્રસારણ માટે જવાબદાર વ્યક્તિ પેરિફેરલ છે અને સેન્ટ્રલ સ્કેનિંગ માટે જવાબદાર છે.

બે વચ્ચે જોડાણ પ્રક્રિયા વિશે નોંધ:

કેન્દ્રીય ઉપકરણ એક જ સમયે બહુવિધ પેરિફેરલ ઉપકરણો સાથે કનેક્ટ થઈ શકે છે. એકવાર પેરિફેરલ ઉપકરણ કનેક્ટ થઈ જાય, તે તરત જ પ્રસારણ કરવાનું બંધ કરશે, અને ડિસ્કનેક્શન પછી બ્રોડકાસ્ટ કરવાનું ચાલુ રાખશે. ફક્ત એક ઉપકરણ કોઈપણ સમયે કનેક્ટ કરવાનો પ્રયાસ કરી શકે છે, કતારમાં કનેક્શન.

જીએટીટી પ્રોટોકોલ

BLE ટેકનોલોજી GATT પર આધારિત વાતચીત કરે છે. GATT એ એટ્રિબ્યુટ ટ્રાન્સમિશન પ્રોટોકોલ છે. તેને એટ્રિબ્યુટ ટ્રાન્સમિશન માટે એપ્લિકેશન લેયર પ્રોટોકોલ તરીકે ગણી શકાય.

તેની રચના ખૂબ જ સરળ છે:   

તમે તેને xml તરીકે સમજી શકો છો:

દરેક GATT એ સેવાઓથી બનેલું છે જે વિવિધ કાર્યો કરે છે;

દરેક સેવા અલગ-અલગ લાક્ષણિકતાઓથી બનેલી છે;

દરેક લાક્ષણિકતા મૂલ્ય અને એક અથવા વધુ વર્ણનકર્તાઓ ધરાવે છે;

સેવા અને લાક્ષણિકતા એ ટૅગ્સની સમકક્ષ છે (સેવા તેની શ્રેણીની સમકક્ષ છે, અને લાક્ષણિકતા તેના નામની સમકક્ષ છે), જ્યારે મૂલ્યમાં વાસ્તવમાં ડેટા હોય છે, અને વર્ણનકર્તા એ આ મૂલ્યનું સમજૂતી અને વર્ણન છે. અલબત્ત, આપણે વિવિધ ખૂણાઓથી તેનું વર્ણન અને વર્ણન કરી શકીએ છીએ. વર્ણન, તેથી બહુવિધ વર્ણનકર્તાઓ હોઈ શકે છે.

ઉદાહરણ તરીકે:સામાન્ય Xiaomi Mi બૅન્ડ એ BLE ઉપકરણ છે, (ધાર્યું છે કે) તેમાં ત્રણ સેવાઓ છે, જે ઉપકરણ માહિતી પ્રદાન કરતી સેવા છે, સેવા જે પગલાં પ્રદાન કરે છે અને સેવા જે હૃદયના ધબકારા શોધે છે;

ઉપકરણની માહિતીની સેવામાં સમાયેલ લાક્ષણિકતામાં ઉત્પાદકની માહિતી, હાર્ડવેર માહિતી, સંસ્કરણ માહિતી વગેરેનો સમાવેશ થાય છે; હાર્ટ રેટ સર્વિસમાં હાર્ટ રેટની લાક્ષણિકતા વગેરેનો સમાવેશ થાય છે, અને હાર્ટ રેટ લાક્ષણિકતાના મૂલ્યમાં ખરેખર હૃદયના ધબકારાનો ડેટા હોય છે, અને વર્ણનકર્તા મૂલ્ય છે. વર્ણન, જેમ કે મૂલ્યનું એકમ, વર્ણન, પરવાનગી વગેરે.

જીએટીટી સી/એસ

GATT ની પ્રાથમિક સમજણ સાથે, આપણે જાણીએ છીએ કે GATT એ લાક્ષણિક C/S મોડ છે. તે C/S હોવાથી, અમારા માટે સર્વર અને ક્લાયંટ વચ્ચે તફાવત કરવો જરૂરી છે.

"GATT સર્વર" વિ. "GATT ક્લાયંટ". જોડાણ સ્થાપિત થયા પછી જ્યાં આ બે ભૂમિકાઓ અસ્તિત્વમાં છે તે તબક્કો છે, અને તેઓ સંવાદની સ્થિતિ અનુસાર અલગ પડે છે. તે સમજવું સરળ છે કે જે પક્ષ ડેટા ધરાવે છે તેને GATT સર્વર કહેવામાં આવે છે, અને જે પક્ષ ડેટાને ઍક્સેસ કરે છે તેને GATT ક્લાયન્ટ કહેવામાં આવે છે.

અમે પહેલા ઉલ્લેખ કર્યો છે તે ઉપકરણની ભૂમિકાથી આ એક અલગ સ્તરેનો ખ્યાલ છે, અને તેને અલગ પાડવો જરૂરી છે. ચાલો સમજાવવા માટે એક સરળ ઉદાહરણનો ઉપયોગ કરીએ:

સમજાવવા માટે મોબાઈલ ફોન અને ઘડિયાળનો દાખલો લો. મોબાઇલ ફોન અને મોબાઇલ ફોન વચ્ચે જોડાણ સ્થાપિત થાય તે પહેલાં, અમે ઘડિયાળના બ્લૂટૂથ ઉપકરણને શોધવા માટે મોબાઇલ ફોનના બ્લૂટૂથ સર્ચ ફંક્શનનો ઉપયોગ કરીએ છીએ. આ પ્રક્રિયા દરમિયાન, તે સ્પષ્ટ છે કે ઘડિયાળ BLE નું પ્રસારણ કરી રહી છે જેથી અન્ય ઉપકરણો તેના અસ્તિત્વને જાણે. , તે આ પ્રક્રિયામાં પેરિફેરલની ભૂમિકા છે, અને મોબાઇલ ફોન સ્કેનિંગ કાર્ય માટે જવાબદાર છે, અને કુદરતી રીતે કેન્દ્રની ભૂમિકા ભજવે છે; બે જીએટીટી કનેક્શન સ્થાપિત કર્યા પછી, જ્યારે મોબાઇલ ફોનને સેન્સર ડેટાને વાંચવાની જરૂર પડે છે જેમ કે ઘડિયાળમાંથી પગલાંની સંખ્યા, બે ઇન્ટરેક્ટિવ ડેટા ઘડિયાળમાં સાચવવામાં આવે છે, તેથી આ સમયે ઘડિયાળ એ જીએટીટીની ભૂમિકા છે. સર્વર, અને મોબાઇલ ફોન કુદરતી રીતે જીએટીટી ક્લાયન્ટ છે; અને જ્યારે ઘડિયાળ મોબાઇલ ફોનમાંથી SMS કૉલ્સ અને અન્ય માહિતી વાંચવા માંગે છે, ત્યારે ડેટાનો વાલી મોબાઇલ ફોન બની જાય છે, તેથી મોબાઇલ ફોન આ સમયે સર્વર છે, અને ઘડિયાળ ક્લાયન્ટ છે.

સેવા/લાક્ષણિકતા

અમે ઉપરોક્ત તેમના વિશે પહેલેથી જ સમજણપૂર્વકની સમજણ મેળવી લીધી છે, અને પછી અમારી પાસે કેટલીક વ્યવહારુ માહિતી છે:

  1. લાક્ષણિકતા એ ડેટાનું સૌથી નાનું તાર્કિક એકમ છે.
  2. મૂલ્ય અને વર્ણનકર્તામાં સંગ્રહિત ડેટાનું વિશ્લેષણ સર્વર એન્જિનિયર દ્વારા નક્કી કરવામાં આવે છે, ત્યાં કોઈ સ્પષ્ટીકરણ નથી.
  3. સેવા/લાક્ષણિકતા એક અનન્ય UUID ઓળખ ધરાવે છે, UUID 16-bit અને 128-bit બંને ધરાવે છે, આપણે જે સમજવાની જરૂર છે તે એ છે કે 16-bit UUID બ્લૂટૂથ સંસ્થા દ્વારા પ્રમાણિત છે અને તેને ખરીદવાની જરૂર છે, અલબત્ત તેમાં કેટલાક સામાન્ય છે. ones 16-bit UUID. ઉદાહરણ તરીકે, હાર્ટ રેટ સેવાનું UUID 0X180D છે, જે કોડમાં 0X00001800-0000-1000-8000-00805f9b34fb તરીકે વ્યક્ત થાય છે, અને અન્ય બિટ્સ નિશ્ચિત છે. 128-બીટ UUID કસ્ટમાઇઝ કરી શકાય છે.
  4. GATT જોડાણો વિશિષ્ટ છે.

ટોચ પર સ્ક્રોલ