BLE विकास: GATT के हो र यसले कसरी काम गर्छ?

विषयसूची

GATT को अवधारणा

BLE-सम्बन्धित विकास गर्न, हामीसँग निश्चित आधारभूत ज्ञान हुनुपर्छ, निस्सन्देह, यो धेरै सरल हुनुपर्छ।

gatt उपकरण भूमिका:

बुझ्नको लागि पहिलो कुरा यो हो कि यी दुई भूमिकाहरू बीचको भिन्नता हार्डवेयर स्तरमा छ, र तिनीहरू सापेक्ष अवधारणाहरू हुन् जुन जोडीहरूमा देखा पर्दछ:

"केन्द्रीय उपकरण": अपेक्षाकृत शक्तिशाली, मोबाइल फोन, ट्याब्लेट, आदि जस्ता परिधीय उपकरणहरू स्क्यान गर्न र जडान गर्न प्रयोग गरिन्छ।

"पेरिफेरल उपकरण": प्रकार्य अपेक्षाकृत सरल छ, बिजुली खपत सानो छ, र केन्द्रीय उपकरण डेटा प्रदान गर्न जडान गरिएको छ, जस्तै रिस्टब्यान्ड, स्मार्ट थर्मोमिटर, आदि।

वास्तवमा, सबैभन्दा आधारभूत स्तरमा, यो जडान स्थापित गर्ने प्रक्रियामा विभिन्न भूमिकाहरू बीचको भिन्नता हुनुपर्छ। हामीलाई थाहा छ कि यदि ब्लुटुथ उपकरणले अरूलाई आफ्नो अस्तित्व थाहा दिन चाहन्छ भने, यसले बाहिरी संसारमा निरन्तर प्रसारण गर्न आवश्यक छ, जबकि अर्को पक्षले प्रसारण प्याकेटलाई स्क्यान र जवाफ दिन आवश्यक छ, ताकि जडान स्थापित गर्न सकिन्छ। यस प्रक्रियामा, प्रसारणको लागि जिम्मेवार व्यक्ति पेरिफेरल हो, र केन्द्रीय स्क्यानिङको लागि जिम्मेवार छ।

दुई बीच जडान प्रक्रिया बारे नोट:

केन्द्रीय यन्त्रले एकै समयमा धेरै परिधीय यन्त्रहरूमा जडान गर्न सक्छ। एकपटक परिधीय उपकरण जडान भएपछि, यसले तुरुन्तै प्रसारण बन्द गर्नेछ, र विच्छेदन पछि प्रसारण जारी राख्नेछ। केवल एक उपकरणले कुनै पनि समयमा जडान गर्न प्रयास गर्न सक्छ, जडानहरू लामबद्ध।

gatt प्रोटोकल

BLE प्रविधि GATT मा आधारित संचार गर्दछ। GATT एक विशेषता ट्रान्समिशन प्रोटोकल हो। यसलाई एट्रिब्युट ट्रान्समिशनको लागि एप्लिकेसन लेयर प्रोटोकलको रूपमा लिन सकिन्छ।

यसको संरचना धेरै सरल छ:   

तपाइँ यसलाई xml को रूपमा बुझ्न सक्नुहुन्छ:

प्रत्येक GATT विभिन्न कार्यहरू गर्ने सेवाहरू मिलेर बनेको हुन्छ;

प्रत्येक सेवा फरक विशेषताहरु मिलेर बनेको छ;

प्रत्येक विशेषतामा मान र एक वा बढी वर्णनकर्ताहरू हुन्छन्;

सेवा र विशेषता ट्यागहरू बराबर छन् (सेवा यसको कोटीको बराबर छ, र विशेषता यसको नामको बराबर छ), जबकि मानले वास्तवमा डेटा समावेश गर्दछ, र वर्णनकर्ता यो मानको व्याख्या र विवरण हो। अवश्य पनि, हामी यसलाई विभिन्न कोणबाट वर्णन र वर्णन गर्न सक्छौं। वर्णन, त्यसैले त्यहाँ धेरै वर्णनकर्ता हुन सक्छ।

उदाहरणका लागि:सामान्य Xiaomi Mi ब्यान्ड एक BLE यन्त्र हो, (मानिएको) यसले तीनवटा सेवाहरू समावेश गर्दछ, जुन यन्त्र जानकारी प्रदान गर्ने सेवा, चरणहरू प्रदान गर्ने सेवा, र मुटुको दर पत्ता लगाउने सेवा;

उपकरण जानकारी को सेवा मा निहित विशेषता निर्माता जानकारी, हार्डवेयर जानकारी, संस्करण जानकारी, आदि समावेश गर्दछ। मुटुको दर सेवाले मुटुको दरको विशेषता, आदि समावेश गर्दछ, र मुटुको दर विशेषतामा रहेको मानले वास्तवमा हृदयको दर डेटा समावेश गर्दछ, र वर्णनकर्ता मान हो। वर्णन, जस्तै मान को एकाइ, विवरण, अनुमति, आदि।

GATT C/S

GATT को प्रारम्भिक बुझाइको साथ, हामीलाई थाहा छ कि GATT एक विशिष्ट C/S मोड हो। यो C/S भएको हुनाले, हामीले सर्भर र क्लाइन्टको बीचमा छुट्याउन आवश्यक छ।

"GATT सर्भर" बनाम "GATT ग्राहक"। यी दुई भूमिकाहरू अवस्थित भएको चरण जडान स्थापित भएपछि हो, र तिनीहरू संवादको स्थिति अनुसार फरक हुन्छन्। डाटा राख्ने पार्टीलाई GATT सर्भर भनिन्छ, र डाटा पहुँच गर्ने पार्टीलाई GATT क्लाइन्ट भनिन्छ भन्ने कुरा बुझ्न सजिलो छ।

यो हामीले पहिले उल्लेख गरेको यन्त्र भूमिका भन्दा फरक स्तरमा अवधारणा हो, र यसलाई छुट्याउन आवश्यक छ। उदाहरणको लागि एउटा साधारण उदाहरण प्रयोग गरौं:

उदाहरणको लागि मोबाइल फोन र घडीको उदाहरण लिनुहोस्। मोबाइल फोन र मोबाइल फोन बीचको जडान स्थापित हुनु अघि, हामी घडीको ब्लुटुथ उपकरण खोजी गर्न मोबाइल फोनको ब्लुटुथ खोज प्रकार्य प्रयोग गर्दछौं। यस प्रक्रियाको बखत, यो स्पष्ट छ कि घडीले BLE प्रसारण गरिरहेको छ ताकि अन्य उपकरणहरूले यसको अस्तित्व थाहा पाउँछन्। , यो यस प्रक्रियामा परिधीयको भूमिका हो, र मोबाइल फोन स्क्यानिङ कार्यको लागि जिम्मेवार छ, र स्वाभाविक रूपमा केन्द्रको भूमिका खेल्छ; दुईले GATT जडान स्थापना गरेपछि, जब मोबाइल फोनले सेन्सर डेटा पढ्न आवश्यक हुन्छ जस्तै घडीबाट चरणहरूको संख्या, दुई अन्तरक्रियात्मक डेटा घडीमा बचत हुन्छ, त्यसैले यस समयमा घडी GATT को भूमिका हो। सर्भर, र मोबाइल फोन स्वाभाविक रूपमा GATT ग्राहक हो; र जब घडीले मोबाइल फोनबाट एसएमएस कलहरू र अन्य जानकारीहरू पढ्न चाहन्छ, डाटाको अभिभावक मोबाइल फोन हुन्छ, त्यसैले यस समयमा मोबाइल फोन सर्भर हो, र घडी ग्राहक हो।

सेवा/विशेषता

हामीले पहिले नै माथिको तिनीहरूको अवधारणात्मक समझ पाएका छौं, र त्यसपछि हामीसँग केही व्यावहारिक जानकारी छ:

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

माथि स्क्रोल गर्नुहोस्