गैट की अवधारणा

ब्लीड-संबंधित विकास को पूरा करने के लिए, हमारे पास कुछ बुनियादी ज्ञान होना चाहिए, बिल्कुल, यह बहुत सरल होना चाहिए.

गैट डिवाइस भूमिका :

समझने वाली पहली बात यह है कि इन दोनों भूमिकाओं के बीच का अंतर हार्डवेयर स्तर पर है, और वे सापेक्ष अवधारणाएं हैं जो जोड़े में दिखाई देती हैं:

“केंद्रीय युक्ति”: अपेक्षाकृत शक्तिशाली, परिधीय उपकरणों को स्कैन और कनेक्ट करने के लिए उपयोग किया जाता है, जैसे मोबाइल फोन, गोलियां, वगैरह.

“परिधीय युक्ति”: फ़ंक्शन अपेक्षाकृत सरल है, बिजली की खपत छोटी है, और केंद्रीय उपकरण डेटा प्रदान करने के लिए जुड़ा हुआ है, जैसे कि रिस्टबैंड, स्मार्ट थर्मामीटर, वगैरह.

वास्तव में, सबसे मौलिक स्तर पर, यह एक कनेक्शन स्थापित करने की प्रक्रिया में विभिन्न भूमिकाओं के बीच एक अंतर होना चाहिए. हम जानते हैं कि यदि कोई ब्लूटूथ डिवाइस दूसरों को इसके अस्तित्व को बताना चाहता है, इसे बाहरी दुनिया में लगातार प्रसारित करने की जरूरत है, जबकि दूसरे पक्ष को प्रसारण पैकेट को स्कैन करने और उत्तर देने की आवश्यकता है, ताकि कनेक्शन स्थापित किया जा सके. इस प्रक्रिया में, प्रसारण के लिए जिम्मेदार व्यक्ति परिधीय है , और सेंट्रल स्कैनिंग के लिए जिम्मेदार है.

दोनों के बीच कनेक्शन प्रक्रिया के बारे में ध्यान दें:

केंद्रीय उपकरण एक ही समय में कई परिधीय उपकरणों से कनेक्ट हो सकता है। परिधीय उपकरण जुड़ा हुआ है, यह तुरंत प्रसारण बंद कर देगा, और डिस्कनेक्ट के बाद प्रसारण जारी रखें। एक उपकरण किसी भी समय कनेक्ट करने का प्रयास कर सकता है, कतारबद्ध संबंध.

गैट शिष्टाचार

BLE प्रौद्योगिकी GATT के आधार पर संचार करती है. GATT एक विशेषता ट्रांसमिशन प्रोटोकॉल है. इसे विशेषता ट्रांसमिशन के लिए एप्लिकेशन लेयर प्रोटोकॉल के रूप में माना जा सकता है.

इसकी संरचना बहुत सरल है:   

1671506971 1

आप इसे xml के रूप में समझ सकते हैं:

प्रत्येक गैट उन सेवाओं से बना है जो विभिन्न कार्य करते हैं;

प्रत्येक सेवा अलग -अलग विशेषता से बना है;

प्रत्येक विशेषता में एक मूल्य और एक या अधिक विवरणक होते हैं;

सेवा और विशेषता टैग के बराबर हैं (सेवा इसकी श्रेणी के बराबर है, और विशेषता इसके नाम के बराबर है), जबकि मूल्य में वास्तव में डेटा होता है, और डिस्क्रिप्टर इस मान का एक स्पष्टीकरण और विवरण है. बिल्कुल, हम इसे विभिन्न कोणों से वर्णन और वर्णन कर सकते हैं. विवरण, तो कई विवरणक हो सकते हैं.

उदाहरण के लिए:आम Xiaomi Mi बैंड एक BLE डिवाइस है, (ग्रहण) इसमें तीन सेवाएं हैं, कौन सी सेवा है जो डिवाइस की जानकारी प्रदान करती है, सेवा जो चरण प्रदान करती है, और वह सेवा जो हृदय गति का पता लगाती है;

डिवाइस की जानकारी की सेवा में निहित विशेषता में निर्माता जानकारी शामिल है, हार्डवेयर सूचना, संस्करण सूचना, वगैरह।; हृदय गति सेवा में हृदय गति की विशेषता शामिल है, वगैरह।, और हृदय गति की विशेषता में मूल्य वास्तव में हृदय गति डेटा होता है, और डिस्क्रिप्टर मान है. विवरण, जैसे मूल्य की इकाई, विवरण, अनुमति, वगैरह.

गट सी/एस

गैट की प्रारंभिक समझ के साथ, हम जानते हैं कि गैट एक विशिष्ट सी/एस मोड है. चूंकि यह c/s है, हमारे लिए सर्वर और क्लाइंट के बीच अंतर करना आवश्यक है.

“गैट सर्वर” बनाम. “गट ग्राहक”. वह चरण जहां ये दो भूमिकाएँ मौजूद हैं, कनेक्शन स्थापित होने के बाद है, और वे संवाद की स्थिति के अनुसार प्रतिष्ठित हैं. यह समझना आसान है कि डेटा रखने वाली पार्टी को GATT सर्वर कहा जाता है, और डेटा को एक्सेस करने वाली पार्टी को GATT क्लाइंट कहा जाता है.

यह डिवाइस भूमिका से एक अलग स्तर पर एक अवधारणा है जिसे हमने पहले उल्लेख किया है, और इसे अलग करना आवश्यक है. चित्रित करने के लिए एक सरल उदाहरण का उपयोग करें:

एक मोबाइल फोन का उदाहरण और चित्रण करने के लिए एक घड़ी लें. मोबाइल फोन और मोबाइल फोन के बीच संबंध स्थापित होने से पहले, हम वॉच के ब्लूटूथ डिवाइस को खोजने के लिए मोबाइल फोन के ब्लूटूथ खोज फ़ंक्शन का उपयोग करते हैं. इस प्रक्रिया के दौरान, यह स्पष्ट है कि घड़ी प्रसारित हो रही है ताकि अन्य उपकरण इसके अस्तित्व को जान सकें. , यह इस प्रक्रिया में परिधीय की भूमिका है, और मोबाइल फोन स्कैनिंग कार्य के लिए जिम्मेदार है, और स्वाभाविक रूप से केंद्र की भूमिका निभाता है; दोनों के बाद एक 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 कनेक्शन अनन्य हैं.