विषयसूची:
- चरण 1: BLE डिवाइस को स्कैन करें
- चरण 2: डिवाइस कनेक्ट करना
- चरण 3: डिवाइस विशेषताओं को पुनः प्राप्त करना
- चरण 4: डिवाइस का नाम पढ़ना
- चरण 5: बीपीएम पढ़ना
- चरण 6: बॉडी सेंसर स्थान पढ़ना
वीडियो: CSR1010 और Dragonboard 410c का उपयोग करके BLE डिवाइस से मूल्यों को पढ़ना: 6 चरण
2024 लेखक: John Day | [email protected]. अंतिम बार संशोधित: 2024-01-30 09:22
यह ट्यूटोरियल दिखाता है कि लिनारो के साथ ड्रैगनबोर्ड 410c का उपयोग करके BLE डिवाइस CSR1010 से मूल्यों को कैसे पढ़ा जाए
इस उदाहरण में, CSR1010 हृदय गति संवेदक का अनुकरण कर रहा है।
चरण 1: BLE डिवाइस को स्कैन करें
इस चरण में, जांचें कि आपका बीटी क्लाइंट स्कैन बीएलई उपकरणों के लिए तैयार है या नहीं।
root@linaro-alip:/home/linaro# sudo hcitool lescan
LE स्कैन …18:EE:69:00:CE:00 (अज्ञात) 18:EE:69:00:CE:00 (अज्ञात) EE:52:5B:04:00:02 CSR HR सेंसर
चरण 2: डिवाइस कनेक्ट करना
हम अपने डिवाइस को जोड़ने के लिए gatttool का उपयोग करेंगे
-बी: डिवाइस मैक पता
-t: LE पता प्रकार। सार्वजनिक या यादृच्छिक हो सकता है, डिवाइस की जांच की आवश्यकता है। इस मामले में सार्वजनिक है।
-I: गट्टूल इंटरएक्टिव मोड। यह डिवाइस पर cmds भेजने का संकेत देगा
root@linaro-alip:/home/linaro# sudo gatttool -b EE:52:5B:04:00:02 -t public -I
एक बार प्रॉम्प्ट खुलने के बाद, हम कनेक्ट cmd को डिवाइस पर भेज सकते हैं।
[ईई:५२:५बी:०४:००:०२][एलई]> कनेक्ट ईई से कनेक्ट करने का प्रयास:५२:५बी:०४:००:०२
कनेक्शन सफल
[ईई:५२:५बी:०४:००:०२][एलई]>
चरण 3: डिवाइस विशेषताओं को पुनः प्राप्त करना
डिवाइस कनेक्ट होने के बाद, हम cmd "प्राथमिक" भेजकर सभी उपलब्ध सेवाओं को पढ़ सकते हैं
सेवा UUID के आधार पर, हम GATT विनिर्देश में सेवा प्रकार की खोज कर सकते हैं
www.bluetooth.com/specifications/gatt/services
चरण 4: डिवाइस का नाम पढ़ना
आइए जेनेरिक एक्सेस प्रोफाइल (यूयूआईडी = 1800) पर पढ़ी गई विशेषताओं का पता लगाएं। सबसे पहले हमें पहली तस्वीर में वर्णित सर्विस हैंडल मान प्राप्त करने की आवश्यकता है, इस मामले में, 5 से 11 तक शुरू होता है। अब हम cmd char-desc का उपयोग करके इस अंतराल में सभी हैंडल पुनर्प्राप्त कर सकते हैं।
[ईई: ५२:५बी:०४:००:०२] [एलई]> चार-desc ०५ ११हैंडल: ०x०००५, यूयूआईडी: ००००२८००-००००-१००००-८०००-००८०५एफ९बी३४एफबी हैंडल: ०एक्स०००६, यूयूआईडी: ००००२८०३-००००-१०००-८०००- 00805f9b34fb हैंडल: 0x0007, uuid: 00002a00-0000-1000-8000-00805f9b34fb हैंडल: 0x0008, uuid: 00002803-0000-1000-8000-00805f9b34fb हैंडल: 0x0009, uuid: 00002a01-0000-1000-8000-00805f uuid: 00002803-0000-1000-8000-00805f9b34fb हैंडल: 0x000b, uuid: 00002a04-0000-1000-8000-00805f9b34fb हैंडल: 0x000c, uuid: 00002800-0000-1000-8000-00805f9b34fb हैंडल: 0x000d, uuid: -1000-8000-00805f9b34fb हैंडल: 0x000e, uuid: 00002a37-0000-1000-8000-00805f9b34fb हैंडल: 0x000f, uuid: 00002902-0000-1000-8000-00805f9b34fb हैंडल: 0x0010, uuid: 00002803-0000-1000-8000 00805f9b34fb हैंडल: 0x0011, यूयूआईडी: 00002a38-0000-1000-8000-00805f9b34fb
जेनेरिक एक्सेस प्रोफाइल विनिर्देश के अनुसार, UUID 2A00 डिवाइस के नाम को संदर्भित करता है।
यह देखते हुए कि 2a00 हमारे डिवाइस में 0x0007 हैंडल है, आइए मान पढ़ें
[ईई: ५२:५बी:०४:००:०२] [एलई]> चार-रीड-एच.डी.
हेक्स को एएससीआईआई में कनवर्ट करना, डिवाइस का नाम है: ''सीएसआर एचआर सेंसर"
चरण 5: बीपीएम पढ़ना
[ईई: ५२:५बी:०४:००:०२] [एलई]> प्राइमरीएटर हैंडल: 0x0001, एंड जीआरपी हैंडल: 0x0004 यूयूआईडी: 00001801-0000-1000-8000-00805f9b34fb एटीआर हैंडल: 0x0005, एंड जीआरपी हैंडल: 0x000b यूआईडी: 00001800-0000-1000-8000-00805f9b34fb attr हैंडल: 0x000c, एंड जीआरपी हैंडल: 0x0013 यूयूआईडी: 0000180d-0000-1000-8000-00805f9b34fb एटीआर हैंडल: 0x0014, एंड जीआरपी हैंडल: 0x0017 यूयूआईडी: 0000180f-0000-1000-8000- 00805f9b34fb attr हैंडल: 0x0018, एंड grp हैंडल: 0x0021 uuid: 00001016-d102-11e1-9b23-00025b00a5a5 attr हैंडल: 0x0022, एंड ग्रुप हैंडल: 0xffff uuid: 0000180a-0000-1000-8000-00805f9b34fb
हृदय गति सेवा UUID 0x180d है, इसलिए हैंडल अंतराल 0x000c से 0x0013. तक है
[ईई:५२:५बी:०४:००:०२][एलई]> चार-desc 0x00c 0x0013
हैंडल: 0x000c, uuid: 00002800-0000-1000-8000-00805f9b34fb हैंडल: 0x000d, uuid: 00002803-0000-1000-8000-00805f9b34fb हैंडल: 0x000e, uuid: 00002a37-0000-1000-8000-00805f9b34fb हैंडल: 0x: 00002902-0000-1000-8000-00805f9b34fb हैंडल: 0x0010, uuid: 00002803-0000-1000-8000-00805f9b34fb हैंडल: 0x0011, uuid: 00002a38-0000-1000-8000-00805f9b34fb हैंडल: 0x0012, uuid: 00002803-0000 1000-8000-00805f9b34fb हैंडल: 0x0013, यूयूआईडी: 00002a39-0000-1000-8000-00805f9b34fb
सभी विशेषता घोषणाओं को पढ़ना (UUID 0x2803)।
[ईई:५२:५बी:०४:००:०२][एलई]> चार-पढ़ें-एच.डी. 0x000d
विशेषता मान/विवरणकर्ता: 10 0e 00 37 2a [EE:52:5B:04:00:02][LE]> char-read-hnd 0x0010 विशेषता मान/डिस्क्रिप्टर: 02 11 00 38 2a [ईई:52:5बी: 04:00:02][LE]> char-read-hnd 0x0012 विशेषता मान/डिस्क्रिप्टर: 08 13 00 39 2a
नोटिस जो:
- हैंडल 0x000d बिट 10 के साथ सेवा 2a37 (हृदय गति मापन) के लिए सीसीसीडी है (समर्थन सूचित करें)
- हैंडल 0x0010 बिट 02 के साथ सर्विस 2a38 (बॉडी सेंसर लोकेशन) के लिए CCCD है (सपोर्ट रीड)
- हैंडल 0x0012 बिट 08 के साथ सर्विस 2a39 (हृदय गति नियंत्रण बिंदु) के लिए CCCD है (WRITE का समर्थन करें)
अब हम जानते हैं कि हृदय गति मापन केवल अधिसूचना के साथ काम करता है। इसका मतलब है कि पहले हमें इसके सीसीसीडी (यूयूआईडी 0x2902) में मूल्य परिवर्तन के लिए पंजीकरण करना होगा, जो इस मामले में 0xf हैंडल है।
[ईई: ५२:५बी:०४:००:०२] [एलई]> चार-लेखन-अनुरोध 0x00f ०१००
अधिसूचना हैंडल = 0x000e मान: 16 65 f3 01 विशेषता मान सफलतापूर्वक लिखा गया था अधिसूचना हैंडल = 0x000e मान: 16 6d fa 01 अधिसूचना हैंडल = 0x000e मान: 16 6d fa 01 अधिसूचना हैंडल = 0x000e मान: 16 6c f9 01 अधिसूचना हैंडल = 0x000e मान: 16 6a f7 01 अधिसूचना हैंडल = 0x000e मान: 16 69 f6 01
प्रोफ़ाइल विनिर्देश के अनुसार, दूसरा हेक्स नंबर बीपीएम जानकारी है।
बीपीएम:
6d = 109
6d = 109
6सी = 108
6ए = 106
69 = 105
चरण 6: बॉडी सेंसर स्थान पढ़ना
बॉडी सेंसर लोकेशन UUID 0x2A38 है। इसके डिस्क्रिप्टर के अनुसार, यह विशेषता बुनियादी पढ़ने का समर्थन करती है, इसलिए हम इसका मूल्य सीधे पढ़ सकते हैं।
[ईई: ५२:५बी:०४:००:०२] [एलई]> चार-रीड-एचएनडी ०x११ विशेषता मान/विवरणकर्ता: ०३
SIG विनिर्देश के अनुसार, 03 का अर्थ है "उंगली"
सिफारिश की:
DIY -- कैसे एक स्पाइडर रोबोट बनाने के लिए जिसे Arduino Uno का उपयोग करके स्मार्टफ़ोन का उपयोग करके नियंत्रित किया जा सकता है: 6 चरण
DIY || कैसे एक स्पाइडर रोबोट बनाने के लिए जिसे Arduino Uno का उपयोग करके स्मार्टफ़ोन का उपयोग करके नियंत्रित किया जा सकता है: स्पाइडर रोबोट बनाते समय, रोबोटिक्स के बारे में बहुत सी बातें सीख सकते हैं। जैसे रोबोट बनाना मनोरंजक होने के साथ-साथ चुनौतीपूर्ण भी है। इस वीडियो में हम आपको स्पाइडर रोबोट बनाने का तरीका दिखाने जा रहे हैं, जिसे हम अपने स्मार्टफोन (Androi
128×128 LCD पर अल्ट्रासोनिक सेंसर (HC-SR04) डेटा पढ़ना और Matplotlib का उपयोग करके इसे विज़ुअलाइज़ करना: 8 चरण
128×128 एलसीडी पर अल्ट्रासोनिक सेंसर (HC-SR04) डेटा पढ़ना और Matplotlib का उपयोग करके इसे विज़ुअलाइज़ करना: इस निर्देश में, हम 128×128 पर अल्ट्रासोनिक सेंसर (HC-SR04) डेटा प्रदर्शित करने के लिए MSP432 लॉन्चपैड + बूस्टरपैक का उपयोग करेंगे। एलसीडी और पीसी को क्रमिक रूप से डेटा भेजें और Matplotlib का उपयोग करके इसकी कल्पना करें
Arduino Uno के साथ LM35 तापमान सेंसर का उपयोग करके तापमान पढ़ना: 4 कदम
Arduino Uno के साथ LM35 तापमान सेंसर का उपयोग करके तापमान पढ़ना: हाय दोस्तों इस निर्देश में हम सीखेंगे कि Arduino के साथ LM35 का उपयोग कैसे करें। Lm35 एक तापमान संवेदक है जो -55°c से 150°C तक तापमान मान पढ़ सकता है। यह एक 3-टर्मिनल डिवाइस है जो तापमान के समानुपाती एनालॉग वोल्टेज प्रदान करता है। उच्च
Arduino का उपयोग करके बाहरी EEPROM को डेटा पढ़ना और लिखना: 5 कदम
Arduino का उपयोग करके बाहरी EEPROM को डेटा पढ़ना और लिखना: EEPROM का अर्थ है विद्युत रूप से मिटाने योग्य प्रोग्रामेबल रीड-ओनली मेमोरी। EEPROM बहुत महत्वपूर्ण और उपयोगी है क्योंकि यह मेमोरी का एक गैर-वाष्पशील रूप है। इसका मतलब यह है कि जब बोर्ड बंद हो जाता है, तब भी EEPROM चिप उस प्रोग्राम को बरकरार रखती है जो
Android और Linux ऑपरेटिंग सिस्टम के साथ DragonBoard 410c पर GPIO पिन का उपयोग करके अनुप्रयोगों का विकास: 6 चरण
Android और Linux ऑपरेटिंग सिस्टम के साथ DragonBoard 410c पर GPIO पिन का उपयोग करके अनुप्रयोगों का विकास: इस ट्यूटोरियल का उद्देश्य DragonBoard 410c कम-गति विस्तार पर GPIO पिन का उपयोग करके एप्लिकेशन विकसित करने के लिए आवश्यक जानकारी दिखाना है। यह ट्यूटोरियल एंड्रॉइड पर SYS के साथ GPIO पिन का उपयोग करके एप्लिकेशन विकसित करने के लिए जानकारी प्रस्तुत करता है