विषयसूची:

Android उपकरणों के साथ पाम इन्फ्रारेड कीबोर्ड का उपयोग करें: 5 कदम
Android उपकरणों के साथ पाम इन्फ्रारेड कीबोर्ड का उपयोग करें: 5 कदम

वीडियो: Android उपकरणों के साथ पाम इन्फ्रारेड कीबोर्ड का उपयोग करें: 5 कदम

वीडियो: Android उपकरणों के साथ पाम इन्फ्रारेड कीबोर्ड का उपयोग करें: 5 कदम
वीडियो: what is NFC ? How it Works & | NFC Tags | NFC Modes | Use of NFC | Explain in hindi 2024, जुलाई
Anonim
Android उपकरणों के साथ पाम इन्फ्रारेड कीबोर्ड का उपयोग करें
Android उपकरणों के साथ पाम इन्फ्रारेड कीबोर्ड का उपयोग करें
Android उपकरणों के साथ पाम इन्फ्रारेड कीबोर्ड का प्रयोग करें
Android उपकरणों के साथ पाम इन्फ्रारेड कीबोर्ड का प्रयोग करें
Android उपकरणों के साथ पाम इन्फ्रारेड कीबोर्ड का उपयोग करें
Android उपकरणों के साथ पाम इन्फ्रारेड कीबोर्ड का उपयोग करें

मेरे पास एक PalmOne वायरलेस कीबोर्ड बैठा था और मैं अपने फोन के लिए एक ब्लूटूथ कीबोर्ड रखना चाहता था। एकमात्र समस्या यह थी कि पामऑन कीबोर्ड इन्फ्रारेड-आधारित था।

मेरे पास ब्रेनलिंक डिवाइस भी था। विभिन्न उपकरणों के बीच मध्यस्थता के लिए यह एक प्यारा सा उपकरण है। इसमें एक atxmega16 प्रोसेसर, एक रिचार्जेबल बैटरी, कुछ सेंसर, एक ब्लूटूथ रेडियो, बंदरगाहों का एक गुच्छा, एक केस और कुछ अपग्रेड करने योग्य फर्मवेयर है जो इसे नियंत्रित करने के लिए है। ब्रेनलिंक को बंद कर दिया गया है, लेकिन सरप्लसशेड के पास यह $ 39 के लिए है, और उनके पास हर चीज पर बिक्री से समय-समय पर 30-50% की छूट है। मुझे यह $ 20 के लिए मिला। आप अपने स्वयं के atxmega प्लस ब्लूटूथ बोर्ड (यहाँ योजनाबद्ध) का उपयोग कर सकते हैं, लेकिन आपकी लागत कम नहीं हो सकती है।

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

  • पामऑन वायरलेस कीबोर्ड
  • ब्रेनलिंक
  • ब्रेनलिंक के लिए 3- या 8-पिन टीथर (1.25 मिमी पिच जेएसटी-शैली कनेक्टर); आप ब्रेनलिंक के साथ शामिल 8-पिन टेदर का उपयोग कर सकते हैं लेकिन आप अन्य परियोजनाओं के लिए अधिक ऑर्डर करना चाहेंगे
  • सोल्डर और आयरन
  • विद्युत टेप
  • वैकल्पिक: हुक और लूप फास्टनर

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

चरण 1: पृष्ठभूमि

पृष्ठभूमि
पृष्ठभूमि
पृष्ठभूमि
पृष्ठभूमि
पृष्ठभूमि
पृष्ठभूमि

इस पृष्ठभूमि विवरण को छोड़ने के लिए स्वतंत्र महसूस करें।

पामऑन वायरलेस कीबोर्ड आईआरडीए का उपयोग करते हुए डंठल पर आईआर एलईडी के माध्यम से अपना डेटा भेजता है। जबकि कोई डेटा को डीकोड करने के लिए IR डिटेक्टर का उपयोग कर सकता है, एक आसान तरीका है। यदि आप कीबोर्ड को आधा मोड़ते हैं, तो तांबे की तीन पट्टियां सामने आ जाती हैं। बीच वाला ग्राउंड है और नीचे वाला ट्रांसमिट लाइन है। उन्हें एक आस्टसीलस्कप में रखने से पुष्टि होती है कि ट्रांसमिट लाइन पर सिग्नल लगभग 9600 (अधिक सटीक: 9760) 8 एन 2 में एन्कोड किया गया है, उच्च स्तर 1.56V के साथ, और आईआरडीए पल्स शेपिंग के साथ: 1 उच्च है, और सकारात्मक दालें हैं थोड़ा समय का 3/16 लें।

दुर्भाग्य से, इसका मतलब है कि हम इसे एक साधारण ब्लूटूथ मॉड्यूल में प्लग नहीं कर सकते हैं (कम से कम इसके लिए कस्टम फर्मवेयर बनाए बिना नहीं), जैसा कि मैंने अपने माइंडफ्लेक्स प्रोजेक्ट में किया था। सौभाग्य से, Brainlink में atxmega के UART के लिए एक IRDA मोड है। ब्रेनलिंक फर्मवेयर में थोड़ा सा कोड जोड़ना आसान है जिससे "J1" कोड इसे आईआरडीए मोड में स्विच कर सके। मुझे उम्मीद थी कि १.५६ वी का उच्च स्तर atxmega के लिए अपर्याप्त होगा, लेकिन मुझे सुखद आश्चर्य हुआ जब मैंने ब्रेनलिंक पर तांबे की पट्टियों को GND और UART रिसीव से जोड़ा और परिणामों को Realterm में देखा: मुझे कीबोर्ड से अच्छे छह बाइट अनुक्रम मिल रहे थे.

यह पता चला कि छह बाइट अनुक्रम केवल एक बाइट स्कैन कोड के लिए पैकेजिंग है (उच्च बिट मार्किंग रिलीज के साथ)। विशेष रूप से, अनुक्रम FF C0 xx yy zz C1 है, जहां xx स्कैन कोड है, yy को FF के साथ xx xor'ed किया गया है, और zz को 67 के साथ xor'ed किया गया है। (वास्तव में, स्कैन कोड तीन बार प्रेषित होता है: एक बार स्पष्ट और दो बार एन्कोडेड। मेरा अनुमान है कि ऐसा इसलिए है क्योंकि आईआरडीए भ्रष्टाचार से ग्रस्त है, और इसलिए आप बाइट प्राप्त करने के लिए बहुमत-डिकोडिंग का उपयोग कर सकते हैं।) उसके बाद, केवल हार्डवेयर कठिनाई कीबोर्ड पर कनेक्टर को मिलाप करने के लिए जगह ढूंढ रही थी।. और वह कठिन नहीं था।

सॉफ्टवेयर की तरफ, जबकि शायद मैं ब्रेनलिंक में आरएन-42 ब्लूटूथ मॉड्यूल को एचआईडी मोड में स्विच कर सकता था, जिसमें ब्रिकिंग क्षमता थी, क्योंकि अगर मॉड्यूल एसपीपी पर वापस नहीं जाता है, तो मैं बात नहीं कर पाऊंगा अपने ब्लूटूथ प्रोटोकॉल पर ब्रेनलिंक।

करने के लिए आसान काम सिर्फ ओपन सोर्स ब्लूज़ाइम कीबोर्ड ऐप लेना था जो विभिन्न ब्लूटूथ गेमपैड को एंड्रॉइड कंट्रोलर के रूप में कार्य करने की अनुमति देता है और पाम वन वायरलेस कीबोर्ड के छह-बाइट अनुक्रमों के लिए एक मोड जोड़ता है। परिणामी ऐप अब Google Play में मुफ्त P1 कीबोर्ड है (जीथब पर स्रोत कोड)।

चरण 2: Brainklink फर्मवेयर को अपग्रेड करना

Brainklink फर्मवेयर का उन्नयन
Brainklink फर्मवेयर का उन्नयन
Brainklink फर्मवेयर का उन्नयन
Brainklink फर्मवेयर का उन्नयन

ब्रेनलिंक पर आईआरडीए-प्रारूप सीरियल डेटा समर्थन को सक्षम करने के लिए, आपको मेरा कस्टम फर्मवेयर लोड करना होगा। मेरे द्वारा लिखे गए एंड्रॉइड डिवाइस और फर्मवेयर अपलोडर के साथ यह आसान है (वैसे, आप अपलोडर को एक सामान्य उद्देश्य atmega/atxmega AVR109 फ्लैश अपलोडर के रूप में संशोधित कर सकते हैं)।

  1. किसी Android डिवाइस के साथ ब्रेनलिंक (पिन 1234) को पेयर करें - कीबोर्ड को कनेक्ट करने के लिए आपको वैसे भी ऐसा करना होगा
  2. Google Play से मेरा ब्रेनलिंक फ़र्मवेयर अपलोडर डाउनलोड करें (जीथब पर अपलोडर और फ़र्मवेयर के लिए स्रोत)।
  3. ब्रेनलिंक को बंद करें और 8-पिन पोर्ट पर पिन 8 और 2 को कनेक्ट करें (अजीब तरह से, पिन 8 सबसे बाईं ओर पिन है, और पिन 1 दाईं ओर है)।
  4. जुड़े हुए पिनों को पकड़े हुए, ब्रेनलिंक चालू करें। इसकी एलईडी नीली हो जानी चाहिए।
  5. अपने इच्छित कस्टम फ़र्मवेयर का चयन करें (यदि आपके पास रूमबा है, तो फ़र्मवेयर में से एक नए रूमबास के साथ बेहतर काम करता है और दूसरा पुराने के साथ), और "अपलोड" दबाएं।
  6. ऐसा ही होना चाहिए, हालांकि यदि आपको कनेक्शन की कठिनाइयाँ हैं, तो आपको एक से अधिक बार प्रयास करने की आवश्यकता हो सकती है।

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

चरण 3: ब्रेनलिंक को कीबोर्ड से जोड़ना

ब्रेनलिंक को कीबोर्ड से जोड़ना
ब्रेनलिंक को कीबोर्ड से जोड़ना
ब्रेनलिंक को कीबोर्ड से जोड़ना
ब्रेनलिंक को कीबोर्ड से जोड़ना
ब्रेनलिंक को कीबोर्ड से जोड़ना
ब्रेनलिंक को कीबोर्ड से जोड़ना

आपको एक टीथर कनेक्टर की आवश्यकता होगी जो ब्रेनलिंक के 8-पिन पोर्ट पर तीन सबसे बाईं ओर फिट बैठता है। ये 1.25mm पिन स्पेसिंग के साथ JST-स्टाइल कनेक्टर हैं। आप तीन-पिन कनेक्टर (मेरी पसंद) या 8-पिन कनेक्टर का उपयोग कर सकते हैं। आप ब्रेनलिंक के साथ आने वाले 8-पिन कनेक्टर का उपयोग कर सकते हैं, लेकिन फिर आप उनमें से अधिक ऑर्डर करना चाहेंगे (मुझे eBay पर 3- और 8-पिन कनेक्टर सस्ते मिले)।

कीबोर्ड का बैटरी बे खोलें और बैटरी निकालें। बैटरियों के माइनस साइड के पास, आपको JST-स्टाइल कनेक्टर के माध्यम से दो जोड़ी तार एक साथ जुड़े हुए मिलेंगे। यदि आपके रंग मेरे जैसे हैं, तो काले तार जमीन पर हैं (आप बस उसके और बैटरी पर माइनस टर्मिनल के बीच प्रतिरोध की जांच कर सकते हैं) और अन्य रंग (भूरा और ग्रे) संकेत हैं।

आपके ब्रेनलिंक 8-पिन पोर्ट पर, सबसे बाईं ओर का कनेक्शन ग्राउंड (8-पिन पोर्ट का सबसे बाईं ओर का पिन) है और बाईं ओर से तीसरा पिन सीरियल रिसीव है। अपने ब्रेनलिंक कनेक्टर पर ग्राउंड वायर को कीबोर्ड पर ग्राउंड लाइन से मिलाएं, और ब्रेनलिंक पर रिसीव वायर को सिग्नल लाइन से मिलाएं। आप पा सकते हैं कि सोल्डर कनेक्शन और जेएसटी-स्टाइल कनेक्टर के लिए कीबोर्ड क्षेत्र में कोई जगह नहीं है। जो कि कीबोर्ड के अंदर था। यदि ऐसा है, तो बस जेएसटी-शैली कनेक्टर को हटा दें, और दोनों तीनों प्रासंगिक तारों (दो कीबोर्ड ग्राउंड वायर और एक ब्रेनलिंक ग्राउंड वायर; दो कीबोर्ड सिग्नल वायर और एक ब्रेनलिंक वायर प्राप्त करें) को मिलाप करें।

बैटरी लाइफ बचाने के लिए JST-स्टाइल कनेक्टर के IR LED साइड को डिस्कनेक्ट करना आकर्षक है। मत करो। ऐसा करने पर सिग्नल टूट जाता है। मैंने अपने आस्टसीलस्कप से जाँच की।

ब्रेनलिंक टीथर के तारों के माध्यम से जाने के लिए बैटरी कवर के होंठ पर एक छेद बनाएं, दो कनेक्शनों को अलग रखने के लिए बिजली के टेप का उपयोग करें, और एक छोटा तनाव-राहत गाँठ बाँधें।

अंत में, जब सब कुछ हो जाए, तो या तो ब्रेनलिंक टेदर पर अप्रासंगिक संपर्कों को कवर कर दें या अप्रासंगिक तारों को काट दें।

आप ब्रेनलिंक को जगह पर रखने के लिए ब्रेनलिंक और कीबोर्ड पर कुछ वेल्क्रो पर गोंद लगाना चाह सकते हैं।

चरण 4: Android डिवाइस के साथ उपयोग करना

Android डिवाइस के साथ उपयोग करना
Android डिवाइस के साथ उपयोग करना
  1. ब्रेनलिंक को अपने एंड्रॉइड डिवाइस (पिन 1234) के साथ पेयर करें।
  2. मेरा P1 कीबोर्ड ऐप इंस्टॉल करें।
  3. P1 कीबोर्ड सेटिंग्स लॉन्च करें (इसके लिए एक आइकन आपके लॉन्चर में होना चाहिए)।
  4. Android इनपुट विधि सेटिंग में P1 कीबोर्ड सक्षम करें। नए Android संस्करणों पर, आप P1 कीबोर्ड सेटिंग्स में "IME चुनें" चुनकर और "इनपुट विधियों को सेट करें" पर टैप करके P1 कीबोर्ड को सक्षम कर सकते हैं। (आपको एक चेतावनी मिलेगी कि कीबोर्ड आपके सभी पासवर्ड देखता है, आदि। यह एक मानक एंड्रॉइड चेतावनी है: बेशक, एक कीबोर्ड ड्राइवर आपके द्वारा टाइप की जाने वाली हर चीज को देखता है। यदि आप डरते हैं, तो कीबोर्ड के स्रोत कोड को देखें और निर्माण करें अपनी खुद की।)
  5. "डिवाइस चुनें" पर टैप करें और अपना ब्रेनलिंक चुनें (मेरा शो RN42-A308 के रूप में दिखाई देता है)।
  6. P1 कीबोर्ड सेटिंग में "Select IME" पर टैप करें और P1 कीबोर्ड चुनें।
  7. कनेक्ट होने में थोड़ा समय लग सकता है, लेकिन अगर सब कुछ ठीक रहा तो आपको कनेक्ट होने के बारे में एक संदेश मिलना चाहिए

और आपने कल लिया! BluezIME के लेखक को दान करने के लिए स्वतंत्र महसूस करें जिस पर P1 कीबोर्ड आधारित है।

एंड्रॉइड 4.0+ पर, जब टेक्स्ट फ़ील्ड में एक अधिसूचना होगी जो इनपुट विधियों को स्विच करने की अनुमति देती है, ताकि आप आसानी से किसी अन्य इनपुट विधि पर वापस जा सकें।

कीबोर्ड के लिए मैंने जो ड्राइवर लिखा है वह बहुत ही सरल है। यह साधारण कुंजियों का समर्थन करता है, लेकिन कई विशेष उच्चारण कुंजियों या अन्य विशेष चीजों का समर्थन नहीं करता है। मैंने होम के साथ दो बटन (FN-1 और अंतरिक्ष के बाईं ओर की कुंजी) को होम के रूप में उपयोग करने के लिए समर्थन जोड़ा। Windows कुंजी और FN-2 मेनू के रूप में और FN-3 खोज के रूप में। साथ ही, ctrl-a, c, v, x अपेक्षा के अनुरूप काम करता है।

यह काफी अच्छी तरह से काम करता है कि मैंने अपने गैलेक्सी एस 2 फोन पर कीबोर्ड के साथ इस इंस्ट्रक्शनल का पूरा पहला ड्राफ्ट लिखा।

चरण 5: अन्य कीबोर्ड

अन्य कीबोर्ड
अन्य कीबोर्ड
अन्य कीबोर्ड
अन्य कीबोर्ड

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

*जे1जेड

तारक ध्यान देने के लिए कहता है, J1 9600 बॉड IrDA पर स्विच करता है (बस J के तुरंत बाद 1 टाइप करना चाहिए या आपको कोई त्रुटि मिलती है)। Z सीरियल-टू-ब्लूटूथ ब्रिज मोड के लिए है।

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

सीरियल ब्रिज मोड से बाहर निकलने के लिए, ब्रेनलिंक को पावर साइकिल करें।

मेरा अनुमान है कि 9600 बॉड सही बॉड दर है। ऐसा न करने पर, आप Brainlink की बॉड दर को बदल सकते हैं। मैं 57600 बॉड की कोशिश करके शुरू करूंगा:

*J1u57Z

और फिर 1200 बॉड:

*J1u12Z

एक बार जब आपको पता चल जाए कि कीबोर्ड अपना डेटा कैसे भेजता है, तो बस मेरे ड्राइवर के कोड को संशोधित करें। शायद सिर्फ PalmOneWirelessKeyboard.java में नंबर बदलना ही काफी है।

सिफारिश की: