USB क्लाइंट के रूप में पाई


16

मैं एक USB क्लाइंट के रूप में Pi एक्ट और फ्लैश ड्राइव के रूप में बहाना करने का तरीका ढूंढ रहा हूं।

मैंने बहुत से सुझाव देखे हैं, हालाँकि उनमें से ज्यादातर अब (1+ वर्ष) पुराने हैं और अस्पष्ट / अपूर्ण हैं - मैं ताज़ा करने के लिए पूछना चाहूंगा कि क्या काम किया, क्या नहीं किया, आदि।

इसके बजाय एक NAS प्रकार डिवाइस के रूप में Pi का उपयोग करने के लिए कई सुझाव भी हैं। यह मेरे उद्देश्यों के लिए काम नहीं करेगा, क्योंकि मेरे पास एक "गूंगा" मेजबान है जो केवल फ्लैश ड्राइव को स्वीकार कर सकता है (और मैं इसे "स्मार्ट" बनाने के लिए पाई का उपयोग करना चाहता हूं)

मेरे द्वारा पहले ही देखे गए सुझावों का सारांश:

  1. GPIO पिन के माध्यम से USB क्लाइंट का अनुकरण करें
  2. GPIO के माध्यम से एक सीरियल कनेक्शन का अनुकरण करें, फिर धारावाहिक से USB पर जाने के लिए मौजूदा केबल का उपयोग करें
  3. एक मॉडल ए का उपयोग करके, ग्राहक की तरह कार्य करने के लिए पीआई को समझाने के लिए सॉफ्टवेयर का उपयोग करें
  4. एक होस्ट-टू-होस्ट यूएसबी केबल का उपयोग करना (मुझे यकीन है कि मैंने कोई भी ऐसा नहीं देखा है जो लिनक्स का समर्थन करता है ..)

किसी को और अधिक गहराई से उन प्रस्तावित समाधानों में से कुछ की व्याख्या कर सकते हैं?

PS - मुझे इस कॉन्फ़िगरेशन से उच्च प्रदर्शन की आवश्यकता नहीं है और न ही उम्मीद है, USB 1.1 की गति पर्याप्त होगी।

संपादित करें: मैं किसी भी ऐसे विकल्प में दिलचस्पी लेता हूं जो इस कार्यक्षमता को प्रदान कर सके, हालांकि मैंने अभी तक कोई "स्मार्ट" यूएसबी स्टिक या एंड्रॉइड-ऑन-ए-स्टिक वेरिएंट नहीं देखा है।


1
ऐसे निश्चित रूप से केबल हैं जो लिनक्स का समर्थन करते हैं; यह usbnetड्राइवर के साथ लक्ष्य का हिस्सा है । उनके पास कुछ उल्लेख करने वाला एक पृष्ठ है ; यह पुराना है इसलिए अब और भी कुछ हो सकता है। इससे पहले कि आप कुछ भी चेक करें।
गोल्डीलॉक्स

कुछ इस बारे में मॉडल एक के लिए विशिष्ट टिप्पणी यहाँ
गोल्डीलॉक्स

आपको इस तरह की परियोजनाएं भी मिल सकती हैं जैसे कि usbip: stackoverflow.com/a/19689740/544721 या linux-usb.org/gadget समाधान को इकट्ठा करने में उपयोगी।
ग्रेज़गोरज़ वियर्ज़ोवेकी

जवाबों:


7

आप भाग्य में होंगे यदि पीआई पर यूएसबी पोर्ट ओटीजी थे न कि यूएसबी होस्ट।

हो सकता है कि आप किसी अन्य डिवाइस पर विचार करें क्योंकि आपके द्वारा सुझाए गए समाधानों में से कोई भी व्यावहारिक नहीं हो सकता है:

GPIO पिन के माध्यम से USB क्लाइंट का अनुकरण करें: सिद्धांत रूप में पिन को बिट-बैंग का उपयोग करके USB का अनुकरण करना संभव है। यह सॉफ्टवेयर विकास के मामले में एक बहुत बड़ा सॉफ्टवेयर ओवरहेड का कारण बन सकता है। समाधान को लागू करना अपेक्षाकृत कठिन होगा। सिद्धांत रूप में संभव है, लेकिन आपको लागत / लाभ विश्लेषण करने की आवश्यकता है।

GPIO के माध्यम से एक सीरियल कनेक्शन का अनुकरण करें, फिर धारावाहिक से USB पर जाने के लिए मौजूदा केबलों का उपयोग करें: यह समाधान आपके उद्देश्य की पूर्ति नहीं करेगा, जैसा कि आप (आपका DUMB होस्ट) "मास स्टोरेज डिवाइस" एमुलेशन (डिवाइस प्रकार 0x08) चाहते हैं, न कि तस्वीर "संचार और सीडीसी नियंत्रण" (डिवाइस प्रकार 0x02) उपकरण अनुकरण।

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

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


आप किस प्रकार के अन्य उपकरणों की सिफारिश करेंगे? (मैं वाईफ़ाई के साथ कुछ के लिए उम्मीद कर रहा हूँ और ड्रॉपबॉक्स या
बिटकॉइन

DUMB होस्ट की सर्विसिंग के बारे में आपकी ज़रूरतें बहुत अस्पष्ट हैं। अधिक स्पष्टता की आवश्यकता है।
चेतन भार्गव

2
ठीक है, आज मेरे पास मेरी कार में एक फ्लैश ड्राइव है जो एमपी 3 बजाता है - जब भी मैं इस पर संगीत बदलना चाहता हूं, मुझे शारीरिक रूप से फ्लैश ड्राइव को स्थानांतरित करना होगा - मैं बस अपने डेस्कटॉप पर कुछ के साथ एक डिवाइस सिंक करना चाहूंगा, और कार के लिए एक यूएसबी इंटरफ़ेस पेश करें - इसके अलावा, मॉडल ए पाई पर यूएसबी पोर्ट एक ओटीजी चिप है (और मॉडल बी पर, लेकिन ईथरनेट पोर्ट उस कार्यक्षमता को निष्क्रिय करता है) - स्रोत
user2813274

आइए चैट (बेकरी) पर जाएं ताकि हम टिप्पणियों के साथ पोस्ट को अव्यवस्थित न करें :-)
चेतन भार्गव

2

अब एक पीआई शून्य संस्करण है, जो मैं चाहता था वह कर सकता है, और Adafruit ने इसके लिए एक ट्यूटोरियल बनाया:

https://learn.adafruit.com/turning-your-raspberry-pi-zero-into-a-usb-gadget/overview

इसके लिए आधिकारिक नाम "USB गैजेट सिस्टम" प्रतीत होता है, और इसके लिए केवल OTG केबल की आवश्यकता होती है।

मैं इसका परीक्षण नहीं कर पाया हूं, क्योंकि पाई शून्य हर जगह बहुत स्टॉक से बाहर है, लेकिन मुझे लगता है कि यह वर्तमान में सबसे अच्छा मार्ग है

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.