2011-08-02 17 views
13

के साथ 3.1 के यूएसबी होस्ट मोड का उपयोग करना क्या एंड्रॉइड के साथ एक Arduino का उपयोग करने के लिए एक अच्छा ट्यूटोरियल है जहां एंड्रॉइड डिवाइस यूएसबी होस्ट है? (एंड्रॉइड डिवाइस में ओएस संस्करण 3.1 (हनीकॉम्ब) या बाद में है)। डेवलपर साइट पर एकमात्र मेजबान कार्यक्रम मिसाइल लॉन्चर है, जो एक Arduino के साथ इंटरफेसिंग से कहीं अधिक सरल लगता है।Arduino

सुनिश्चित वर्णन: मैं एक Asus Transformer मेजबान एक Arduino Uno बनाने के लिए कोशिश कर रहा हूँ, लेकिन वहाँ है, क्योंकि कैसे एंड्रॉयड मेजबान मोड में काम करता है पर बहुत कम जानकारी है, मैं जहां शुरू करने के लिए पर खो रहा हूँ। मुझे केवल एंड्रॉइड की आवश्यकता है ताकि वह Arduino की स्मृति से डेटा मानों को पढ़ने में सक्षम हो सके। Arduino का उपयोग सिग्नल की आवृत्ति को गिनने के लिए किया जा रहा है, फिर उस मान को एंड्रॉइड को पास करने की आवश्यकता है। अगर मुझे ऐसा करने का कुछ आसान तरीका याद आया है, तो मुझे बताने में संकोच न करें।

(वहाँ ADK का उपयोग कर Arduino मेजबान बनाने के लिए के बारे में चारों ओर चल जानकारी का एक बहुत कुछ है, लेकिन ट्रांसफार्मर के साथ, कि एक विकल्प नहीं है -। ढेर   ओवरफ्लो सवाल Is it possible to get the Android ADK working on an ASUS Eee Pad Transformer running 3.1? देख

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

+0

लंबे शॉट पर ... शायद Arduino पक्ष पर एंड्रॉइड डीबग ब्रिज प्रोटोकॉल को लागू करना संभव है। Arduino तब एक अग्रेषित यूडीपी या टीसीपी पोर्ट का उपयोग कर डेटा भेज सकता है जिसे एप्लिकेशन के अंदर सॉकेट द्वारा प्राप्त किया जाता है। इस तरह डिवाइस यूएसबी गुलाम मोड में रहता है जो पुराने उपकरणों के लिए भी उपलब्ध है। – dronus

+1

@ ड्रोनस - एडीके/एडीबी विधि के लिए भी एक टैबलेट के लिए डाउनसाइड शायद बस बिजली की उम्मीद नहीं है कि एक्सेसरी को एक अधिक महंगा यूएसबी होस्ट इंटरफ़ेस की आवश्यकता होती है। –

उत्तर

0

चूंकि Arduino आरएस 232 कनवर्टर चिप के लिए यूएसबी का उपयोग कर रहा है, होस्ट मोड यूएसबी पोर्ट को आमतौर पर सीरियल ड्राइवर कार्यान्वयन के लिए कर्नेल मॉड्यूल ड्राइवर की आवश्यकता होती है। आमतौर पर एक एफटीडी चिप का उपयोग किया जाता है, मॉड्यूल ftdi_sio नाम दिया जा सकता है। तो निम्न स्तर पर, यदि यूएसबी होस्ट मोड सक्षम है, तो सिस्टम इस मॉड्यूल का उपयोग कर एक/dev/ttyUSB0 डिवाइस प्रदान करेगा। लेकिन यह बेकार है क्योंकि मुझे लगता है कि यह एप्लिकेशन से छिपा हुआ है जब तक यह रूट डिवाइस पर नहीं चल रहा हो। तो उच्च स्तर एडीके अमूर्तता मुझे लगता है कि जाने के लिए रास्ता है।

2

arduino uno LUFA स्टैक के आधार पर एक पुन: प्रोग्राम करने योग्य यूएसबी इंटरफेस के पक्ष में पिछले डिजाइनों पर उपयोग किए गए एफटीडीआई या इसी तरह की यूएसबी-आरएस 232 चिप को छोड़ देता है।

एक सामान्य लिनक्स के साथ आप यूएसबी सीडीसी ड्राइवरों का उपयोग करेंगे - इसलिए एक प्रश्न होगा यदि शहद के साथ शहद टैबलेट जहाज।

Honeycomb USB host support तीसरे पक्ष के उपयोगकर्ता स्पेस एंड्रॉइड अनुप्रयोगों में निम्न स्तर के यूएसबी ड्राइवरों को लिखने का माध्यम प्रदान करता है, इसलिए संभवतः यदि कार्यक्षमता पहले से ही कर्नेल में नहीं है तो इसे उपयोगकर्ता स्थान में जोड़ा जा सकता है।

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

1

तुम सिर्फ अनुप्रयोग जो यूएसबी होस्ट कार्यक्षमता का उपयोग के कुछ उदाहरण खोजने के लिए चाहते हैं, तो आपका सर्वश्रेष्ठ दांव usb में से कुछ के लिए खोज गूगल के codesearch उपकरण की तरह कुछ का उपयोग करने के लिए, और की मेजबानी विशिष्ट वर्गों/अनुमतियाँ/उद्देश्य है

:

उदाहरण के लिए, android.hardware.usb.action.USB_DEVICE_ATTACHED के लिए एक खोज में निम्न एप्लिकेशन को लाता है

2

हम FTDI communcations, काम कर रहे एक कर्नेल ड्राइवर के बिना, इस कोड का उपयोग मिल गया: (अलग माउस, कीबोर्ड से http://android.serverbox.ch/?p=370

ध्यान दें कि सैमसंग गैलेक्सी टैब 10.1 भी यूएसबी उपकरणों का पता लगाने के लिए उचित यूएसबी कोड की कमी करने के लिए लगता है, हब, और भंडारण, जो ओएस द्वारा पता लगाया गया है और अनुप्रयोगों को पारित नहीं किया गया है)।

हालांकि, हमें यह एसर ए 500 पर काम कर रहा है।