BLE विकास: GATT म्हणजे काय आणि ते कसे कार्य करते?

अनुक्रमणिका

GATT ची संकल्पना

BLE-संबंधित विकास करण्यासाठी, आम्हाला काही मूलभूत ज्ञान असणे आवश्यक आहे, अर्थातच, ते अगदी सोपे असले पाहिजे.

gatt डिव्हाइसची भूमिका:

समजून घेण्याची पहिली गोष्ट म्हणजे या दोन भूमिकांमधील फरक हा हार्डवेअर स्तरावर आहे आणि त्या जोड्यांमध्ये दिसणार्‍या सापेक्ष संकल्पना आहेत:

"सेंट्रल डिव्हाईस": तुलनेने शक्तिशाली, मोबाइल फोन, टॅब्लेट इत्यादीसारख्या परिधीय उपकरणांना स्कॅन आणि कनेक्ट करण्यासाठी वापरले जाते.

"पेरिफेरल डिव्हाईस": फंक्शन तुलनेने सोपे आहे, पॉवरचा वापर कमी आहे, आणि केंद्रीय डिव्हाइस डेटा प्रदान करण्यासाठी कनेक्ट केलेले आहे, जसे की मनगटी, स्मार्ट थर्मामीटर इ.

खरं तर, सर्वात मूलभूत स्तरावर, कनेक्शन स्थापित करण्याच्या प्रक्रियेत वेगवेगळ्या भूमिकांमधील फरक असावा. आम्हाला माहित आहे की जर ब्लूटूथ उपकरण इतरांना त्याचे अस्तित्व कळवू इच्छित असेल तर त्याला बाहेरील जगामध्ये सतत प्रसारित करणे आवश्यक आहे, तर इतर पक्षाने ब्रॉडकास्ट पॅकेट स्कॅन करणे आणि त्यास उत्तर देणे आवश्यक आहे, जेणेकरून कनेक्शन स्थापित केले जाऊ शकते. या प्रक्रियेत, प्रसारणासाठी जबाबदार व्यक्ती पेरिफेरल आहे आणि केंद्रीय स्कॅनिंगसाठी जबाबदार आहे.

दोघांमधील कनेक्शन प्रक्रियेबद्दल लक्षात ठेवा:

मध्यवर्ती उपकरण एकाच वेळी एकाधिक परिधीय उपकरणांशी कनेक्ट होऊ शकते. एकदा परिधीय उपकरण कनेक्ट झाल्यानंतर, ते ताबडतोब प्रसारण थांबवेल, आणि डिस्कनेक्शननंतर प्रसारण चालू ठेवेल. फक्त एक उपकरण कधीही कनेक्ट करण्याचा प्रयत्न करू शकते, कनेक्शन रांगेत.

gatt प्रोटोकॉल

BLE तंत्रज्ञान GATT वर आधारित संवाद साधते. GATT एक विशेषता ट्रान्समिशन प्रोटोकॉल आहे. विशेषता ट्रान्समिशनसाठी हे ऍप्लिकेशन लेयर प्रोटोकॉल म्हणून ओळखले जाऊ शकते.

त्याची रचना अगदी सोपी आहे:   

आपण ते xml म्हणून समजू शकता:

प्रत्येक GATT विविध कार्ये करणाऱ्या सेवांनी बनलेला असतो;

प्रत्येक सेवा वेगवेगळ्या वैशिष्ट्यांनी बनलेली असते;

प्रत्येक वैशिष्ट्यामध्ये एक मूल्य आणि एक किंवा अधिक वर्णनकर्ता असतात;

सेवा आणि वैशिष्ट्य हे टॅगच्या समतुल्य आहेत (सेवा त्याच्या श्रेणीशी समतुल्य आहे, आणि वैशिष्ट्य त्याच्या नावाच्या समतुल्य आहे), तर मूल्यामध्ये प्रत्यक्षात डेटा असतो आणि वर्णनकर्ता हे या मूल्याचे स्पष्टीकरण आणि वर्णन आहे. अर्थात, आपण वेगवेगळ्या कोनातून त्याचे वर्णन आणि वर्णन करू शकतो. वर्णन, त्यामुळे अनेक वर्णनकर्ते असू शकतात.

उदाहरणार्थ:सामान्य Xiaomi Mi Band हे BLE डिव्हाइस आहे, (असे गृहीत धरले जाते) त्यामध्ये तीन सेवा आहेत, जी डिव्हाइस माहिती प्रदान करणारी सेवा, चरण प्रदान करणारी सेवा आणि हृदय गती ओळखणारी सेवा;

डिव्हाइस माहितीच्या सेवेमध्ये समाविष्ट असलेल्या वैशिष्ट्यामध्ये निर्माता माहिती, हार्डवेअर माहिती, आवृत्ती माहिती इ. हृदय गती सेवेमध्ये हृदय गती वैशिष्ट्य इ. समाविष्ट असते आणि हृदय गती वैशिष्ट्यातील मूल्यामध्ये हृदय गती डेटा असतो आणि वर्णनकर्ता हे मूल्य असते. वर्णन, जसे की मूल्याचे एकक, वर्णन, परवानगी इ.

GATT C/S

GATT च्या प्राथमिक आकलनासह, आम्हाला माहित आहे की GATT हा एक सामान्य C/S मोड आहे. ते C/S असल्याने, सर्व्हर आणि क्लायंटमधील फरक ओळखणे आमच्यासाठी आवश्यक आहे.

"GATT सर्व्हर" वि. "GATT क्लायंट". या दोन भूमिका ज्या स्टेजमध्ये अस्तित्वात आहेत ते कनेक्शन स्थापित झाल्यानंतर आहे आणि संवादाच्या स्थितीनुसार ते वेगळे केले जातात. हे समजणे सोपे आहे की डेटा ठेवणार्‍या पक्षाला GATT सर्व्हर म्हणतात आणि डेटा ऍक्सेस करणार्‍या पक्षाला GATT क्लायंट म्हणतात.

आम्ही आधी नमूद केलेल्या डिव्हाइसच्या भूमिकेपेक्षा ही एक वेगळी संकल्पना आहे आणि ती वेगळी करणे आवश्यक आहे. स्पष्ट करण्यासाठी एक साधे उदाहरण वापरू:

स्पष्ट करण्यासाठी मोबाईल फोन आणि घड्याळाचे उदाहरण घ्या. मोबाईल फोन आणि मोबाईल फोनमधील कनेक्शन स्थापित होण्यापूर्वी, आम्ही घड्याळाचे ब्लूटूथ डिव्हाइस शोधण्यासाठी मोबाइल फोनचे ब्लूटूथ शोध कार्य वापरतो. या प्रक्रियेदरम्यान, हे स्पष्ट आहे की घड्याळ BLE प्रसारित करत आहे जेणेकरून इतर उपकरणांना त्याचे अस्तित्व कळेल. , ही या प्रक्रियेत परिधीयची भूमिका आहे, आणि मोबाइल फोन स्कॅनिंग कार्यासाठी जबाबदार आहे, आणि नैसर्गिकरित्या केंद्राची भूमिका बजावते; दोघांनी GATT कनेक्शन स्थापित केल्यानंतर, जेव्हा मोबाईल फोनला सेन्सर डेटा वाचण्याची आवश्यकता असते जसे की घड्याळाच्या पायऱ्यांची संख्या, दोन परस्परसंवादी डेटा घड्याळात सेव्ह केला जातो, त्यामुळे यावेळी घड्याळ ही GATT ची भूमिका असते सर्व्हर, आणि मोबाईल फोन नैसर्गिकरित्या GATT क्लायंट आहे; आणि जेव्हा घड्याळाला मोबाइल फोनवरून एसएमएस कॉल्स आणि इतर माहिती वाचायची असते, तेव्हा डेटाचा संरक्षक मोबाइल फोन बनतो, त्यामुळे यावेळी मोबाइल फोन सर्व्हर असतो आणि घड्याळ क्लायंट असते.

सेवा/वैशिष्ट्य

वरील बद्दल आम्हाला आधीच समजले आहे, आणि नंतर आमच्याकडे काही व्यावहारिक माहिती आहे:

  1. वैशिष्ट्य हे डेटाचे सर्वात लहान तार्किक एकक आहे.
  2. मूल्य आणि वर्णनात संचयित केलेल्या डेटाचे विश्लेषण सर्व्हर अभियंताद्वारे निर्धारित केले जाते, कोणतेही तपशील नाही.
  3. सेवा/वैशिष्ट्यांमध्ये एक अद्वितीय UUID ओळख आहे, UUID मध्ये 16-बिट आणि 128-बिट दोन्ही आहेत, आम्हाला हे समजून घेणे आवश्यक आहे की 16-बिट UUID ब्लूटूथ संस्थेद्वारे प्रमाणित आहे आणि ते खरेदी करणे आवश्यक आहे, अर्थातच काही सामान्य आहेत 16-बिट UUID. उदाहरणार्थ, हार्ट रेट सेवेचा UUID 0X180D आहे, जो कोडमध्ये 0X00001800-0000-1000-8000-00805f9b34fb म्हणून व्यक्त केला आहे आणि इतर बिट निश्चित केले आहेत. 128-बिट UUID सानुकूलित केले जाऊ शकते.
  4. GATT कनेक्शन विशेष आहेत.

Top स्क्रोल करा