विषयसूची:
- आपूर्ति
- चरण 1: रास्पबेरी पाई के साथ एक्सेलेरोमीटर को इंटरफेस करना
- चरण 2: रास्पबेरी पाई के साथ पुश-बटन को इंटरफेस करना
- चरण 3: माउस पॉइंटर को क्रमिक रूप से नियंत्रित करने के लिए पायथन स्क्रिप्ट विकसित करना
- चरण 4: ब्लूटूथ के माध्यम से माउस पॉइंटर को नियंत्रित करने के लिए पायथन स्क्रिप्ट विकसित करना
- चरण 5: दस्ताने पर एक्सेलेरोमीटर और बटन एम्बेड करना।
वीडियो: [पहनने योग्य माउस] विंडोज १० और लिनक्स के लिए ब्लूटूथ-आधारित पहनने योग्य माउस नियंत्रक: ५ कदम
2024 लेखक: John Day | [email protected]. अंतिम बार संशोधित: 2024-01-30 09:19
मैंने एक ब्लूटूथ-आधारित माउस नियंत्रक बनाया है जिसका उपयोग माउस पॉइंटर को नियंत्रित करने और किसी भी सतह को छुए बिना, मक्खी पर पीसी-माउस से संबंधित संचालन करने के लिए किया जा सकता है। इलेक्ट्रॉनिक सर्किटरी, जो एक दस्ताने पर एम्बेडेड होती है, का उपयोग एक्सेलेरोमीटर के माध्यम से हाथ के इशारों को ट्रैक करने के लिए किया जा सकता है और इसे माउस पॉइंटर की गति में अनुवादित किया जा सकता है। यह उपकरण एक बटन के साथ भी जुड़ा हुआ है जो बाएं बटन के क्लिक की नकल करता है। डिवाइस को क्रमिक रूप से पीसी से (यूएसबी के माध्यम से) या ब्लूटूथ कनेक्शन के माध्यम से वायरलेस तरीके से जोड़ा जा सकता है। ब्लूटूथ होस्ट डिवाइस और इस पहनने योग्य माउस के बीच एक मजबूत और सार्वभौमिक वायरलेस संचार प्रदान करता है। चूंकि ब्लूटूथ व्यापक रूप से उपलब्ध है और लगभग सभी व्यक्तिगत लैपटॉप के साथ एम्बेडेड है, ऐसे पहनने योग्य डिवाइस का उपयोग-मामला व्यापक है। रास्पबेरी पाई का उपयोग करना, जो विभिन्न परियोजनाओं के लिए आमतौर पर उपयोग किया जाने वाला विकास मंच है, विभिन्न सेंसरों का इंटरफेसिंग, और ऐसे उपकरण का विकास आसान और स्केलेबल है। इसके आवेदन को और अधिक विस्तृत बनाने के लिए दस्ताने को किसी अन्य पहनने योग्य के साथ बदला जा सकता है।
COVID-19 के खिलाफ एहतियात के तौर पर, ऐसी सतहों को छूने से बचने की सलाह दी जाती है जिन्हें अलग-अलग लोगों के बीच साझा किया जा सकता है, और एक टच-स्क्रीन लैपटॉप या माउस उन सामान्य सतहों में से एक हो सकता है। इस तरह के पहनने योग्य उपकरण का उपयोग स्वच्छता बनाए रखने में मदद करता है और आमतौर पर इस्तेमाल की जाने वाली सतहों को साफ रखता है:)
आपूर्ति
- रास्पबेरी पाई 3 मॉडल बी V1.2
- स्पार्कफन ट्रिपल एक्सिस एक्सेलेरोमीटर ब्रेकआउट - MMA8452Q
- पुरुष से महिला जम्पर वायर
- एक दस्ताना
- डक्ट टेप
- कैंची
- माइक्रो-यूएसबी केबल
- एचडीएमआई केबल (रास्पबेरी पाई के माध्यम से डिबगिंग के लिए)
चरण 1: रास्पबेरी पाई के साथ एक्सेलेरोमीटर को इंटरफेस करना
मैंने Sparkfun से MMA8542Q ट्रिपल-एक्सिस एक्सेलेरोमीटर का उपयोग किया है जो रास्पबेरी पाई GPIO पिन से बात करने और अक्ष डेटा भेजने के लिए I2C संचार प्रोटोकॉल का उपयोग करता है। यह सेंसर विन्यास योग्य डेटा दर, स्लीप मोड, एक्सेलेरेशन रेंज, फिल्टर मोड, आदि के साथ संचालन के विभिन्न तरीके प्रदान करता है। मैंने पाया कि पिबिट्स का कोड सेंसर के मेरे शुरुआती कॉन्फ़िगरेशन और अपने हाथ के इशारों से इसका परीक्षण करने में बहुत मददगार है। बेहतर है कि पहले सेंसर को समतल सतह पर रखा जाए और अपरिष्कृत सेंसर मानों को देखते हुए नियतात्मक झुकाव बनाया जाए। यह समझने में विशेष रूप से उपयोगी है कि यह सेंसर विभिन्न हाथों के इशारों के साथ कैसे प्रतिक्रिया करता है और हम अपने आवेदन के लिए थ्रेसहोल्ड कैसे सेट कर सकते हैं। एक बार एक्सेलेरोमीटर के सफलतापूर्वक इंटरफेस हो जाने के बाद, आप पाई के टर्मिनल स्क्रीन पर आने वाले कच्चे अक्ष डेटा को देख सकते हैं।
चरण 2: रास्पबेरी पाई के साथ पुश-बटन को इंटरफेस करना
इस पहनने योग्य उपकरण में, मैंने एक बटन को इंटरफेर किया जो बाएं माउस बटन के रूप में काम कर सकता है ताकि मैं स्क्रीन पर आइकन पर क्लिक कर सकूं। बटन के 2 सिरों को फिर पाई के 2 GPIO पिन से जोड़ा जाता है। पिन में से एक तार्किक उच्च आउटपुट करता है और दूसरा पिन उस मान को पढ़ता है। जब बटन दबाया जाता है, तो सर्किट बंद हो जाता है और इनपुट पिन एक तर्क-उच्च मान को पढ़ने में सक्षम होता है, जिसे तब स्क्रिप्ट द्वारा संसाधित किया जाता है जिसे मैंने लेफ्ट-माउस क्लिकिंग का अनुकरण करने के लिए लिखा था। सोल्डरिंग आयरन की कमी के कारण, मैंने जंपर्स को बटन से जोड़ने के लिए डक्ट टेप का इस्तेमाल किया।
चरण 3: माउस पॉइंटर को क्रमिक रूप से नियंत्रित करने के लिए पायथन स्क्रिप्ट विकसित करना
मैंने माउस पॉइंटर को नियंत्रित करने के लिए Pyautogui Python लाइब्रेरी का उपयोग किया। इस लाइब्रेरी का उपयोग करने का कारण यह था कि यह लिनक्स के साथ-साथ विंडोज प्लेटफॉर्म दोनों पर काम करता है। अपने रास्पबेरी पाई पर माउस पॉइंटर को नियंत्रित करने के लिए, पहले मैंने अपने पाई को एक डिस्प्ले से जोड़ा। फिर, मैंने अपने माउस पॉइंटर को नियंत्रित करने के लिए पुस्तकालय द्वारा प्रदान किए गए निम्नलिखित एपीआई का उपयोग किया:
- pyautogui.move(0, 200, 2) # माउस को 2 सेकंड में 200 पिक्सेल नीचे ले जाता है
- pyautogui.click() # माउस पर क्लिक करें
एक्सेलेरोमीटर से आने वाले त्रुटि डेटा को फ़िल्टर करने के लिए, मैंने औसत और अन्य फ़िल्टरिंग विधियों का उपयोग किया जिन्हें संलग्न कोड के माध्यम से आसानी से समझा जा सकता है। एपीआई pyautogui.move(0, y) का उपयोग इस तरह से किया गया था कि माउस पॉइंटर एक बार में ऊपर-नीचे या बाएं-दाएं जा सकता है। ऐसा इसलिए है क्योंकि एक्सेलेरोमीटर एक्स, वाई और जेड दिशा में अक्षों की रिपोर्ट करता है, लेकिन एपीआई केवल 2 तर्क, एक्स और वाई अक्ष लेता है। इसलिए, यह दृष्टिकोण मेरे एक्सेलेरोमीटर और स्क्रीन पर इशारों को मैप करने के लिए बहुत उपयुक्त था।
चरण 4: ब्लूटूथ के माध्यम से माउस पॉइंटर को नियंत्रित करने के लिए पायथन स्क्रिप्ट विकसित करना
यह भाग एक उन्नत अनुप्रयोग है जिसमें ब्लूटूथ क्षमता वाला कोई भी लैपटॉप सर्वर-क्लाइंट संचार मॉडल में रास्पबेरी पाई के साथ संचार कर सकता है और माउस निर्देशांक डेटा को वायरलेस तरीके से प्रसारित कर सकता है। ब्लूटूथ संचार की अनुमति देने के लिए विंडोज 10 64-बिट लैपटॉप स्थापित करने के लिए, हमें नीचे दिए गए चरणों का पालन करना होगा:
विंडोज 10:
- एक आने वाला ब्लूटूथ COM पोर्ट बनाएं।
- पाई को खोजने योग्य बनाकर लैपटॉप के ब्लूटूथ के साथ पाई के ब्लूटूथ को पेयर करें।
- विंडोज़ पर पायथन स्थापित करें।
- विंडोज़ पर पाइप स्थापित करें। पिप का उपयोग लिनक्स या विंडोज मशीन पर पुस्तकालयों को स्थापित करने के लिए किया जाता है।
- विंडोज पर pyautogui का उपयोग करके स्थापित करें: pip install pyautogui
- एक बार डिवाइस पर pyautogui स्थापित हो जाने पर, Windows टर्मिनल पर निम्न कमांड का उपयोग करके Windows पर Pybluez स्थापित करें: pip install PyBluez-win10. PyBluez विंडोज और लिनक्स पीसी दोनों पर ब्लूटूथ संचार को सक्षम करता है।
-
विंडोज 10 लैपटॉप पर एप्लिकेशन विकसित करने के लिए, हमें माइक्रोसॉफ्ट विजुअल स्टूडियो (15-20 जीबी स्पेस की आवश्यकता है) और इसके बिल्ड टूल्स को स्थापित करने की आवश्यकता है। इसलिए, PyBluez के साथ, हमें नीचे दिए गए निर्देशों का पालन करने की आवश्यकता है,
- डाउनलोड करें और "विजुअल स्टूडियो इंस्टालर" चलाएं:
-
"विजुअल स्टूडियो बिल्ड टूल्स 2017" इंस्टॉल करें, "विजुअल सी ++ बिल्ड टूल्स" और "यूनिवर्सल विंडोज प्लेटफॉर्म बिल्ड टूल्स" की जांच करें।
- गिट क्लोन
- सीडी पाइब्लूज़
अजगर setup.py स्थापित करें
- यदि उपरोक्त निर्देशों का सही ढंग से पालन किया जाता है, तो विंडोज़ टर्मिनल पर पायथन चलाना, और pyautogui और ब्लूटूथ मॉड्यूल आयात करना, ऊपर की छवि के अनुसार त्रुटियों के बिना काम करना चाहिए।
- Windows मशीन पर स्थापित pybluez लाइब्रेरी में, नेविगेट करें: pybluez-master\examples\simple\rfcomm-server.py और python rfcomm-server.py का उपयोग करके निष्पादित करें। यदि टर्मिनल बिना किसी त्रुटि के प्रतीक्षा की स्थिति में चला जाता है, तो पाई पर ब्लूटूथ सेट करने के लिए नीचे दिए गए अनुभाग में जाएं। यदि pybluez को स्थापित करने में त्रुटियाँ हैं, तो डिबगिंग के लिए GitHub समस्याएँ देखें।
रास्पबेरी पाई पर रास्पियन:
- Pi. पर PyBluez स्थापित करें
- विंडोज़ पर सर्वर उदाहरण चलाएँ। फिर, पाई पर, pybluez-master\examples\simple\rfcomm-client.py पर नेविगेट करें और निष्पादित करें। यदि दोनों उपकरणों ने संचार करना शुरू कर दिया है, तो ब्लूटूथ अब दोनों उपकरणों पर स्थापित हो गया है। पाइथन के साथ सॉकेट संचार कैसे काम करता है, इस बारे में अधिक समझने के लिए, एमआईटी से यह लिंक देखें।
पीआई से पीसी पर अक्ष डेटा भेजने के लिए कुछ अतिरिक्त डेटा पार्सिंग की आवश्यकता होगी, क्योंकि डेटा बाइट्स में भेजा जाता है। क्लाइंट और सर्वर डेटा संचार के बारे में अधिक जानकारी के लिए संलग्न कोड देखें।
चरण 5: दस्ताने पर एक्सेलेरोमीटर और बटन एम्बेड करना।
एक बार एक्सेलेरोमीटर अच्छी तरह से इंटरफेस हो जाने के बाद, कंकाल प्रणाली कुछ इस कदम पर पहली छवि दिखती है।
चूंकि दस्तानों की सतह समतल नहीं है, इसलिए मैंने एक डमी क्रेडिट कार्ड का उपयोग किया जो मेरे मेलबॉक्स में समय-समय पर आता रहता है। इस चरण की दूसरी छवि के अनुसार, मैंने डमी क्रेडिट कार्ड को अपने दस्ताने की ऊपरी सतह पर डक्ट टेप से जोड़ा। कार्ड के ऊपर, मैंने अपना एक्सेलेरोमीटर संलग्न किया। यह सेटअप मेरे एक्सेलेरोमीटर को स्थिर रखने के लिए काफी मजबूत था और मेरे इशारों को सटीक रूप से ट्रैक करने में सक्षम था।
सिफारिश की:
विंडोज़ और लिनक्स पर 1000 हर्ट्ज़ पर मतदान के लिए एल-टेक डांस पैड को संशोधित करना: 9 कदम
विंडोज़ और लिनक्स पर 1000 हर्ट्ज़ पर मतदान के लिए एल-टेक डांस पैड को संशोधित करना: यह मॉड क्यों है? यदि आपने कभी 125 बीपीएम गीत पर ग्राफ पर स्क्रॉल किया है, तो आप सोच सकते हैं, इस स्पाइकी बोई के साथ क्या हो रहा है? समय अलग "स्लॉट" में क्यों गिर रहा है?आईटीजी और डीडीआर में अविश्वसनीय रूप से तंग समय खिड़कियां हैं, और इसके साथ
विंडोज़ के लिए लिनक्स सेट करें!: 12 कदम
विंडोज के लिए लिनक्स सेट करें!: विंडोज के लिए लिनक्स सेट करने के निर्देश सेट में आपका स्वागत है! यह निर्देश सेट शुरुआती लोगों को अपनी विंडोज मशीन पर उबंटू लिनक्स सिस्टम को कमांड-लाइन सेट करने में मदद करने के लिए है और उनकी विंडोज़ फाइलों को उनके लिनक्स सिस्टम से कनेक्ट करता है। लिनक्स सब्सिडी
पहनने योग्य डिवाइस के लिए RYB080l ब्लूटूथ ट्यूटोरियल: 8 कदम
पहनने योग्य डिवाइस के लिए RYB080l ब्लूटूथ ट्यूटोरियल: अरे, क्या चल रहा है, दोस्तों! यहां सीईटेक से आकर्ष। रेयाक्स के छोटे ब्लूटूथ मॉड्यूल के काम को समझने के लिए मेरा यह प्रोजेक्ट एक सीखने की अवस्था है। पहले, हम अकेले मॉड्यूल को समझेंगे और इसे सीधे उपयोग करने का प्रयास करेंगे, फिर हम सह
लघु पहनने योग्य लॉक-इन एम्पलीफायर (और पहनने योग्य, आदि के लिए सोनार सिस्टम ..): 7 कदम
लघु पहनने योग्य लॉक-इन एम्पलीफायर (और पहनने योग्य, आदि के लिए सोनार सिस्टम ..): एक लघु कम लागत वाला लॉक-इन एम्पलीफायर बनाएं जिसे चश्मे के फ्रेम में एम्बेड किया जा सके और अंधे के लिए सोनार दृष्टि प्रणाली, या एक साधारण अल्ट्रासाउंड बनाया जा सके। मशीन जो लगातार आपके दिल की निगरानी करती है और मानव-मशीन लर्निंग का उपयोग पी
रेस्क्यू ऑफ-स्क्रीन विंडोज इंस्टेंट (विंडोज और लिनक्स): 4 कदम
रेस्क्यू ऑफ-स्क्रीन विंडोज इंस्टेंट (विंडोज और लिनक्स): जब कोई प्रोग्राम ऑफ-स्क्रीन ले जाया जाता है - शायद दूसरे मॉनिटर पर जो अब कनेक्ट नहीं है - आपको इसे वर्तमान मॉनिटर पर ले जाने के लिए एक त्वरित और आसान तरीका चाहिए। मैं यही करता हूं -नोट --- मैंने गोपनीयता के लिए छवियों को धुंधला कर दिया है