विषयसूची:

[पहनने योग्य माउस] विंडोज १० और लिनक्स के लिए ब्लूटूथ-आधारित पहनने योग्य माउस नियंत्रक: ५ कदम
[पहनने योग्य माउस] विंडोज १० और लिनक्स के लिए ब्लूटूथ-आधारित पहनने योग्य माउस नियंत्रक: ५ कदम

वीडियो: [पहनने योग्य माउस] विंडोज १० और लिनक्स के लिए ब्लूटूथ-आधारित पहनने योग्य माउस नियंत्रक: ५ कदम

वीडियो: [पहनने योग्य माउस] विंडोज १० और लिनक्स के लिए ब्लूटूथ-आधारित पहनने योग्य माउस नियंत्रक: ५ कदम
वीडियो: Rajasthan Police 6 November Shift 1 Full Paper | 150 Questions | Paper Level | 2024, नवंबर
Anonim
Image
Image
रास्पबेरी पाई के साथ एक्सेलेरोमीटर इंटरफेसिंग
रास्पबेरी पाई के साथ एक्सेलेरोमीटर इंटरफेसिंग

मैंने एक ब्लूटूथ-आधारित माउस नियंत्रक बनाया है जिसका उपयोग माउस पॉइंटर को नियंत्रित करने और किसी भी सतह को छुए बिना, मक्खी पर पीसी-माउस से संबंधित संचालन करने के लिए किया जा सकता है। इलेक्ट्रॉनिक सर्किटरी, जो एक दस्ताने पर एम्बेडेड होती है, का उपयोग एक्सेलेरोमीटर के माध्यम से हाथ के इशारों को ट्रैक करने के लिए किया जा सकता है और इसे माउस पॉइंटर की गति में अनुवादित किया जा सकता है। यह उपकरण एक बटन के साथ भी जुड़ा हुआ है जो बाएं बटन के क्लिक की नकल करता है। डिवाइस को क्रमिक रूप से पीसी से (यूएसबी के माध्यम से) या ब्लूटूथ कनेक्शन के माध्यम से वायरलेस तरीके से जोड़ा जा सकता है। ब्लूटूथ होस्ट डिवाइस और इस पहनने योग्य माउस के बीच एक मजबूत और सार्वभौमिक वायरलेस संचार प्रदान करता है। चूंकि ब्लूटूथ व्यापक रूप से उपलब्ध है और लगभग सभी व्यक्तिगत लैपटॉप के साथ एम्बेडेड है, ऐसे पहनने योग्य डिवाइस का उपयोग-मामला व्यापक है। रास्पबेरी पाई का उपयोग करना, जो विभिन्न परियोजनाओं के लिए आमतौर पर उपयोग किया जाने वाला विकास मंच है, विभिन्न सेंसरों का इंटरफेसिंग, और ऐसे उपकरण का विकास आसान और स्केलेबल है। इसके आवेदन को और अधिक विस्तृत बनाने के लिए दस्ताने को किसी अन्य पहनने योग्य के साथ बदला जा सकता है।

COVID-19 के खिलाफ एहतियात के तौर पर, ऐसी सतहों को छूने से बचने की सलाह दी जाती है जिन्हें अलग-अलग लोगों के बीच साझा किया जा सकता है, और एक टच-स्क्रीन लैपटॉप या माउस उन सामान्य सतहों में से एक हो सकता है। इस तरह के पहनने योग्य उपकरण का उपयोग स्वच्छता बनाए रखने में मदद करता है और आमतौर पर इस्तेमाल की जाने वाली सतहों को साफ रखता है:)

आपूर्ति

  • रास्पबेरी पाई 3 मॉडल बी V1.2
  • स्पार्कफन ट्रिपल एक्सिस एक्सेलेरोमीटर ब्रेकआउट - MMA8452Q
  • पुरुष से महिला जम्पर वायर
  • एक दस्ताना
  • डक्ट टेप
  • कैंची
  • माइक्रो-यूएसबी केबल
  • एचडीएमआई केबल (रास्पबेरी पाई के माध्यम से डिबगिंग के लिए)

चरण 1: रास्पबेरी पाई के साथ एक्सेलेरोमीटर को इंटरफेस करना

रास्पबेरी पाई के साथ एक्सेलेरोमीटर इंटरफेसिंग
रास्पबेरी पाई के साथ एक्सेलेरोमीटर इंटरफेसिंग

मैंने Sparkfun से MMA8542Q ट्रिपल-एक्सिस एक्सेलेरोमीटर का उपयोग किया है जो रास्पबेरी पाई GPIO पिन से बात करने और अक्ष डेटा भेजने के लिए I2C संचार प्रोटोकॉल का उपयोग करता है। यह सेंसर विन्यास योग्य डेटा दर, स्लीप मोड, एक्सेलेरेशन रेंज, फिल्टर मोड, आदि के साथ संचालन के विभिन्न तरीके प्रदान करता है। मैंने पाया कि पिबिट्स का कोड सेंसर के मेरे शुरुआती कॉन्फ़िगरेशन और अपने हाथ के इशारों से इसका परीक्षण करने में बहुत मददगार है। बेहतर है कि पहले सेंसर को समतल सतह पर रखा जाए और अपरिष्कृत सेंसर मानों को देखते हुए नियतात्मक झुकाव बनाया जाए। यह समझने में विशेष रूप से उपयोगी है कि यह सेंसर विभिन्न हाथों के इशारों के साथ कैसे प्रतिक्रिया करता है और हम अपने आवेदन के लिए थ्रेसहोल्ड कैसे सेट कर सकते हैं। एक बार एक्सेलेरोमीटर के सफलतापूर्वक इंटरफेस हो जाने के बाद, आप पाई के टर्मिनल स्क्रीन पर आने वाले कच्चे अक्ष डेटा को देख सकते हैं।

चरण 2: रास्पबेरी पाई के साथ पुश-बटन को इंटरफेस करना

रास्पबेरी पाई के साथ पुश-बटन को इंटरफेस करना
रास्पबेरी पाई के साथ पुश-बटन को इंटरफेस करना

इस पहनने योग्य उपकरण में, मैंने एक बटन को इंटरफेर किया जो बाएं माउस बटन के रूप में काम कर सकता है ताकि मैं स्क्रीन पर आइकन पर क्लिक कर सकूं। बटन के 2 सिरों को फिर पाई के 2 GPIO पिन से जोड़ा जाता है। पिन में से एक तार्किक उच्च आउटपुट करता है और दूसरा पिन उस मान को पढ़ता है। जब बटन दबाया जाता है, तो सर्किट बंद हो जाता है और इनपुट पिन एक तर्क-उच्च मान को पढ़ने में सक्षम होता है, जिसे तब स्क्रिप्ट द्वारा संसाधित किया जाता है जिसे मैंने लेफ्ट-माउस क्लिकिंग का अनुकरण करने के लिए लिखा था। सोल्डरिंग आयरन की कमी के कारण, मैंने जंपर्स को बटन से जोड़ने के लिए डक्ट टेप का इस्तेमाल किया।

चरण 3: माउस पॉइंटर को क्रमिक रूप से नियंत्रित करने के लिए पायथन स्क्रिप्ट विकसित करना

मैंने माउस पॉइंटर को नियंत्रित करने के लिए Pyautogui Python लाइब्रेरी का उपयोग किया। इस लाइब्रेरी का उपयोग करने का कारण यह था कि यह लिनक्स के साथ-साथ विंडोज प्लेटफॉर्म दोनों पर काम करता है। अपने रास्पबेरी पाई पर माउस पॉइंटर को नियंत्रित करने के लिए, पहले मैंने अपने पाई को एक डिस्प्ले से जोड़ा। फिर, मैंने अपने माउस पॉइंटर को नियंत्रित करने के लिए पुस्तकालय द्वारा प्रदान किए गए निम्नलिखित एपीआई का उपयोग किया:

  1. pyautogui.move(0, 200, 2) # माउस को 2 सेकंड में 200 पिक्सेल नीचे ले जाता है
  2. pyautogui.click() # माउस पर क्लिक करें

एक्सेलेरोमीटर से आने वाले त्रुटि डेटा को फ़िल्टर करने के लिए, मैंने औसत और अन्य फ़िल्टरिंग विधियों का उपयोग किया जिन्हें संलग्न कोड के माध्यम से आसानी से समझा जा सकता है। एपीआई pyautogui.move(0, y) का उपयोग इस तरह से किया गया था कि माउस पॉइंटर एक बार में ऊपर-नीचे या बाएं-दाएं जा सकता है। ऐसा इसलिए है क्योंकि एक्सेलेरोमीटर एक्स, वाई और जेड दिशा में अक्षों की रिपोर्ट करता है, लेकिन एपीआई केवल 2 तर्क, एक्स और वाई अक्ष लेता है। इसलिए, यह दृष्टिकोण मेरे एक्सेलेरोमीटर और स्क्रीन पर इशारों को मैप करने के लिए बहुत उपयुक्त था।

चरण 4: ब्लूटूथ के माध्यम से माउस पॉइंटर को नियंत्रित करने के लिए पायथन स्क्रिप्ट विकसित करना

ब्लूटूथ के माध्यम से माउस पॉइंटर को नियंत्रित करने के लिए पायथन स्क्रिप्ट विकसित करना
ब्लूटूथ के माध्यम से माउस पॉइंटर को नियंत्रित करने के लिए पायथन स्क्रिप्ट विकसित करना

यह भाग एक उन्नत अनुप्रयोग है जिसमें ब्लूटूथ क्षमता वाला कोई भी लैपटॉप सर्वर-क्लाइंट संचार मॉडल में रास्पबेरी पाई के साथ संचार कर सकता है और माउस निर्देशांक डेटा को वायरलेस तरीके से प्रसारित कर सकता है। ब्लूटूथ संचार की अनुमति देने के लिए विंडोज 10 64-बिट लैपटॉप स्थापित करने के लिए, हमें नीचे दिए गए चरणों का पालन करना होगा:

विंडोज 10:

  1. एक आने वाला ब्लूटूथ COM पोर्ट बनाएं।
  2. पाई को खोजने योग्य बनाकर लैपटॉप के ब्लूटूथ के साथ पाई के ब्लूटूथ को पेयर करें।
  3. विंडोज़ पर पायथन स्थापित करें।
  4. विंडोज़ पर पाइप स्थापित करें। पिप का उपयोग लिनक्स या विंडोज मशीन पर पुस्तकालयों को स्थापित करने के लिए किया जाता है।
  5. विंडोज पर pyautogui का उपयोग करके स्थापित करें: pip install pyautogui
  6. एक बार डिवाइस पर pyautogui स्थापित हो जाने पर, Windows टर्मिनल पर निम्न कमांड का उपयोग करके Windows पर Pybluez स्थापित करें: pip install PyBluez-win10. PyBluez विंडोज और लिनक्स पीसी दोनों पर ब्लूटूथ संचार को सक्षम करता है।
  7. विंडोज 10 लैपटॉप पर एप्लिकेशन विकसित करने के लिए, हमें माइक्रोसॉफ्ट विजुअल स्टूडियो (15-20 जीबी स्पेस की आवश्यकता है) और इसके बिल्ड टूल्स को स्थापित करने की आवश्यकता है। इसलिए, PyBluez के साथ, हमें नीचे दिए गए निर्देशों का पालन करने की आवश्यकता है,

    1. डाउनलोड करें और "विजुअल स्टूडियो इंस्टालर" चलाएं:
    2. "विजुअल स्टूडियो बिल्ड टूल्स 2017" इंस्टॉल करें, "विजुअल सी ++ बिल्ड टूल्स" और "यूनिवर्सल विंडोज प्लेटफॉर्म बिल्ड टूल्स" की जांच करें।

    3. गिट क्लोन
    4. सीडी पाइब्लूज़
    5. अजगर setup.py स्थापित करें

  8. यदि उपरोक्त निर्देशों का सही ढंग से पालन किया जाता है, तो विंडोज़ टर्मिनल पर पायथन चलाना, और pyautogui और ब्लूटूथ मॉड्यूल आयात करना, ऊपर की छवि के अनुसार त्रुटियों के बिना काम करना चाहिए।
  9. Windows मशीन पर स्थापित pybluez लाइब्रेरी में, नेविगेट करें: pybluez-master\examples\simple\rfcomm-server.py और python rfcomm-server.py का उपयोग करके निष्पादित करें। यदि टर्मिनल बिना किसी त्रुटि के प्रतीक्षा की स्थिति में चला जाता है, तो पाई पर ब्लूटूथ सेट करने के लिए नीचे दिए गए अनुभाग में जाएं। यदि pybluez को स्थापित करने में त्रुटियाँ हैं, तो डिबगिंग के लिए GitHub समस्याएँ देखें।

रास्पबेरी पाई पर रास्पियन:

  1. Pi. पर PyBluez स्थापित करें
  2. विंडोज़ पर सर्वर उदाहरण चलाएँ। फिर, पाई पर, pybluez-master\examples\simple\rfcomm-client.py पर नेविगेट करें और निष्पादित करें। यदि दोनों उपकरणों ने संचार करना शुरू कर दिया है, तो ब्लूटूथ अब दोनों उपकरणों पर स्थापित हो गया है। पाइथन के साथ सॉकेट संचार कैसे काम करता है, इस बारे में अधिक समझने के लिए, एमआईटी से यह लिंक देखें।

पीआई से पीसी पर अक्ष डेटा भेजने के लिए कुछ अतिरिक्त डेटा पार्सिंग की आवश्यकता होगी, क्योंकि डेटा बाइट्स में भेजा जाता है। क्लाइंट और सर्वर डेटा संचार के बारे में अधिक जानकारी के लिए संलग्न कोड देखें।

चरण 5: दस्ताने पर एक्सेलेरोमीटर और बटन एम्बेड करना।

एक्सेलेरोमीटर और दस्ताने पर बटन एम्बेड करना।
एक्सेलेरोमीटर और दस्ताने पर बटन एम्बेड करना।
एक्सेलेरोमीटर और दस्ताने पर बटन एम्बेड करना।
एक्सेलेरोमीटर और दस्ताने पर बटन एम्बेड करना।

एक बार एक्सेलेरोमीटर अच्छी तरह से इंटरफेस हो जाने के बाद, कंकाल प्रणाली कुछ इस कदम पर पहली छवि दिखती है।

चूंकि दस्तानों की सतह समतल नहीं है, इसलिए मैंने एक डमी क्रेडिट कार्ड का उपयोग किया जो मेरे मेलबॉक्स में समय-समय पर आता रहता है। इस चरण की दूसरी छवि के अनुसार, मैंने डमी क्रेडिट कार्ड को अपने दस्ताने की ऊपरी सतह पर डक्ट टेप से जोड़ा। कार्ड के ऊपर, मैंने अपना एक्सेलेरोमीटर संलग्न किया। यह सेटअप मेरे एक्सेलेरोमीटर को स्थिर रखने के लिए काफी मजबूत था और मेरे इशारों को सटीक रूप से ट्रैक करने में सक्षम था।

सिफारिश की: