ฉันสามารถใช้ Raspberry Pi เป็นอุปกรณ์ต่อพ่วง USB ได้หรือไม่


44

Raspberry Pi มีพอร์ต Micro USB สำหรับแหล่งจ่ายไฟ คำถามของฉันคือถ้าพอร์ตนี้มีไว้เพื่อจุดประสงค์ในการใช้พลังงานหรือสามารถใช้เป็นข้อมูลได้หรือไม่ ฉันต้องการแนบ Raspberry Pi ของฉันเป็นอุปกรณ์ต่อพ่วง USB กับคอมพิวเตอร์เครื่องอื่น เป็นไปได้มากกว่าพอร์ตไฟหรือไม่ ถ้าไม่สามารถทำได้ในอีกทางหนึ่ง?


ฉันรู้ว่าคำถามนี้ปิดยาว แต่สิ่งหนึ่งที่คุณสามารถทำได้ถ้าคุณต้องการที่จะเขียนโปรแกรม Arduino ด้วยพอร์ตอนุกรมสองพอร์ตเพื่อส่งข้อความผ่าน แฮ็คเล็กน้อย แต่คุณควรจะสามารถทำงานได้
Ryan Kennedy

บอร์ด IO ใหม่ที่มาพร้อมกับชุดพัฒนาโมดูล Compute ดูเหมือนว่าจะมีขั้วต่อ USB slave ... เราจะใช้งานได้อย่างไร?
Kozuch

พอร์ตบน Pi มีไว้สำหรับจุดประสงค์ด้านพลังงานเท่านั้น แต่ผ่านอะแดปเตอร์คุณสามารถเชื่อมต่อกับ Pi ผ่านการเชื่อมต่อแบบอนุกรมเพื่อให้สามารถเข้าถึง Pi
Wilf

คำตอบ:


29

ฉันได้ดูแผนผังแล้ว หมุดข้อมูลสำหรับการเชื่อมต่อ micro USB ไม่ได้เชื่อมต่อกับอะไร ดังนั้นจึงไม่มีวิธีใดที่จะยึด RPi เป็นอุปกรณ์ภายนอก

อาจเป็นไปได้ที่จะเมานท์ฮาร์ดไดรฟ์ของ RPi หรือล็อกอินผ่านเครือข่ายโดยใช้ SSH

หมุด GPIO ประกอบด้วยชุดของสายข้อมูล UART ซึ่งสามารถใช้ในการเชื่อมต่อแบบอนุกรมกับ RPi จากพีซีของคุณ

Bit-banging USB

การทำ Bit-banging USB เสร็จแล้ว ( AVR V-USB ) อย่างไรก็ตามคุณจะต้องออกแบบบอร์ดเอ็กซ์แพนชันของคุณเองเพื่อเพิ่มพอร์ต USB อีกพอร์ต เป็นไปได้ที่พอร์ตนี้จะให้พลังงานแก่ RPi เมื่อทำสิ่งนี้แล้วคุณจะต้องเขียนไดรเวอร์บางประเภท โชคดี.

หากคุณพร้อมที่จะรับมือกับปัญหาทั้งหมดนี้มันอาจคุ้มค่าที่จะดูFTDI Chipแทน คุณจะเชื่อมต่อสิ่งนี้กับพิน UART ของ RPi จากมุมมองของซอฟต์แวร์คุณจะสื่อสารกับคอมพิวเตอร์ราวกับว่าเป็นอุปกรณ์อนุกรม


ยกเว้นว่าจะปรับใช้ USB กับ GPIO ซ้ำหรือไม่

2
ไม่มีความหวัง คุณไม่สามารถบิต USB ได้
อเล็กซ์แชมเบอร์เลน

แผนภาพนั้นเป็นสิ่งที่ฉันกำลังมองหา คำตอบที่ดี
Jivings

1
@Alex, USB-Bit กระแทกแล้วเสร็จ PIC 40MHz สามารถทำ USB ความเร็วต่ำได้ บางทีแขน 700MHz อาจทำความเร็วปกติได้ไหม?
finnw

3
dicks.home.xs4all.nl/avr/usbtiny - USB ตัวอื่นกระแทกสำหรับ 12Mhz AVR โปรดทราบว่าเป็นไปได้เพียงเพราะในไมโครคอนโทรลเลอร์คุณมีการควบคุมเต็มเวลาและขัดจังหวะ คุณจะต้องเรียกใช้ RTLinux อย่างน้อยที่สุดเพื่อรับการควบคุมชนิดนั้น นอกจากนี้คุณควรใช้ SPI ไม่ใช่ GPIO ในการทำเช่นนี้
Alistair Buxton

8

เนื่องจากหมุดข้อมูลของพอร์ต micro USB ไม่ได้เชื่อมต่อกับ USB PHY ของ SoC คุณจึงไม่สามารถใช้พอร์ตนี้สำหรับข้อมูลได้ (ในโหมดโฮสต์หรือโหมดทาส)

เป็นไปได้ที่จะใช้พอร์ต USB Type A บน Model A ในโหมด Slave

รายละเอียดเพิ่มเติมบางอย่าง;

Model B ใช้ SMSC LAN9512 USB 2.0 Hub และ 10/100 Ethernet Controller IC เพื่อจัดหาพอร์ตโฮสต์ USB จริงหลายพอร์ตจากพอร์ต USB OTG เดี่ยวที่มีอยู่ใน Broadcom SoC (ดูแผนผังที่นี่: http://www.raspberrypi.org/wp-content/uploads/2012/04/Raspberry-Pi-Schematics-R1.0.pdf )

สถานะของ IC ฮับนี้จะป้องกันไม่ให้พอร์ต USB ถูกใช้ในโหมดสลาฟ อย่างไรก็ตามเนื่องจากรุ่น A ไม่มี IC นี้อยู่และมีเพียงพอร์ต USB เดียวที่เชื่อมต่อโดยตรงกับพอร์ต OTG ของ SoC ดังนั้นจึงควรกำหนดค่าให้ทำงานในโหมดทาสผ่านซอฟต์แวร์

เนื่องจาก Model A มีพอร์ต USB โฮสต์ของเพศหญิงจึงจำเป็นต้องใช้สายการแปลง HOST ถึง HOST

โปรดดูหัวข้อฟอรัม Raspberry Pi นี้สำหรับรายละเอียดเพิ่มเติม: http://www.raspberrypi.org/phpBB3/viewtopic.php?f=63&t=15696


5

Model A จะสามารถใช้ส่วนต่อประสานมาตรฐานได้เนื่องจาก USB ใน PI คือ OTG จากนั้นคุณสามารถบังคับให้มันเข้าสู่โหมดอุปกรณ์ได้

แต่นั่นหมายความว่าคุณสูญเสียอีเธอร์เน็ตและ USB อื่น ๆ


5

Rasberry PI A / A + / B / B + รุ่นปิดใช้งานโหมด OTG ด้วยเหตุผลหลายประการ:

  • พอร์ต USB ที่ใช้งานกับฮับ USB (อีเธอร์เน็ต)
  • ขาด OTG ขาที่ 5 (ต่อสายดิน) หรือ
  • หมุดข้อมูลไม่ได้เชื่อมต่อ (พอร์ตพลังงาน)

คุณต้องการRaspberry PI Zeroสำหรับ OTG หรือที่เรียกว่าโหมดอุปกรณ์ Data USB port สามารถใช้กับ OTG และ“ กำลังไฟ” ณ เวลาที่เขียนนี้ Serial และ Ethernet ได้รับการทดสอบแล้ว แต่ผู้อื่นควรทำงานด้วยความพยายามอย่างเหมาะสม (แป้นพิมพ์ดิสก์กล้อง ฯลฯ ) อุปกรณ์คอมโพสิตควรทำงานได้ดี ดูข้อมูลเพิ่มเติมได้ที่

คาดว่างานนี้จะถูกรวมเข้ากับเคอร์เนลเวอร์ชัน rpy-4.4สำหรับการทำงานของ OTG เพื่อให้สามารถใช้งาน OOTB เพื่อการแฮ็คที่ง่ายขึ้น

ส่วนใหญ่ของ heavylifting ได้ดำเนินการในGithub raspberrypi / ลินุกซ์ฉบับที่


สวัสดีและยินดีต้อนรับ. ขอบคุณสำหรับข้อมูลของคุณ คุณอาจต้องการมีส่วนร่วมที่นี่ด้วย: raspberrypi.stackexchange.com/questions/38576/…
Ghanima

@Ghanima: เสร็จแล้ว;) raspberrypi.stackexchange.com/a/40626/39346
myroslav

ฉันสามารถใช้พอร์ตพลังงานเป็นอุปกรณ์ไคลเอ็นต์และพอร์ตอื่นเป็นพอร์ตโฮสต์ได้หรือไม่ คงจะเจ๋งที่จะใช้พอร์ตไฟเป็นอีเธอร์เน็ตเสมือนจริงสำหรับการเชื่อมต่อกับพีซีและพอร์ตอื่น ๆ เพื่อเชื่อมต่ออุปกรณ์ usb เข้ากับ pi
อัลโล

คำตอบนี้สับสนโดยเฉพาะอย่างยิ่งเนื่องจากลิงก์ไม่มีหลักฐานสนับสนุนใด ๆ สำหรับการอ้างสิทธิ์ว่าแจ็คไฟสามารถใช้เป็นข้อมูลได้ ส่วนใหญ่เป็นเพียงการใช้โหมดอุปกรณ์เสริม OTG ในเคอร์เนลซึ่งตอนนี้เป็นมาตรฐานและสามารถทำได้ แต่ไม่สามารถทำได้ผ่านแจ็คไฟ มีแจ็คเดียวเท่านั้นที่สามารถใช้ได้ทั้งพลังงานและข้อมูลไม่ใช่สองแจ็ค
goldilocks

ฉันแก้ไขคำตอบแล้ว ความจริงก็คือพอร์ตข้อมูลสามารถใช้ในการจ่ายไฟ Raspberry PI Zero และเป็นพอร์ต OTG
myroslav

4

โชคไม่ดีที่พอร์ตพาวเวอร์ซัพพลายไม่ทำงานด้วยวิธีนี้ดังนั้นคุณจะไม่สามารถใช้พอร์ต micro USB สำหรับสิ่งอื่นที่ไม่ใช่พลังงาน

ฉันไม่สามารถคิดวิธีที่คุณสามารถใช้ Pi เป็นอุปกรณ์ต่อพ่วงได้ แต่มีหลายวิธีที่คุณสามารถเข้าถึง Pi ได้รวมถึง SSH, FTP หรือ samba share

หากคุณให้รายละเอียดเกี่ยวกับสิ่งที่คุณพยายามจะทำสำเร็จเราสามารถแนะนำวิธีที่ดีที่สุดในการทำสิ่งนั้น


เป็นเพียงตัวอย่างที่ยกตัวอย่างเช่นฉันต้องการใช้ Raspberry Pi เป็นการ์ดเสียง แน่นอนว่าฉันจะต้องเขียนไดร์เวอร์สำหรับปลายทั้งสอง แต่ฉันต้องเชื่อมต่อกับพีซีอย่างใด

1
โซลูชันที่ยอดเยี่ยมสำหรับการใช้งานท่อเสียงผ่าน SSH แน่นอนคุณสามารถลองใช้ GPIO ได้!
Jivings

2

ได้คุณสามารถใช้ Model A เป็นอุปกรณ์ USB slave ได้:

http://www.raspberrypi.org/forums/viewtopic.php?f=98&t=74098

แม้ว่าจะค่อนข้าง จำกัด เพียงแค่การใช้งานเป็นอุปกรณ์จัดเก็บข้อมูลขนาดใหญ่ (การ์ด SD) - ไม่มีการเข้าถึง GPIO แสดงผลหรือแม้แต่การใช้งาน CPU ของ ARM


1

ใช่คุณสามารถทำได้ถ้าคุณใช้ตัวควบคุมอุปกรณ์ต่อพ่วง USB บางตัวที่มีอินเตอร์เฟส SPI เช่นMAX3420Eและเขียนไดรเวอร์หากยังไม่รองรับใน Linux และจัดการกับคลาส USB เฉพาะที่คุณต้องการใช้งาน


1

มีการทำงานมากมายตั้งแต่เวลาถามคำถาม การใช้ Rasberry Pi บางรุ่นเป็นอุปกรณ์ต่อพ่วง USB (เช่นที่เก็บข้อมูลขนาดใหญ่, อนุกรม, อีเธอร์เน็ต, คีย์บอร์ด, เมาส์) เป็นไปได้แล้วในตอนนี้ ดูส่วนสำคัญและคำแนะนำนี้


0

Pi สามารถจำลองอุปกรณ์ HID ด้วยผ่าน USB ได้หรือไม่?

สามารถทำได้ด้วย Pi ชนิดใดก็ได้

ทางออกที่แพงที่สุดคือการใช้ Pi Zero

ข้อความของลิงค์นี้ยาวเกินกว่าจะโพสต์ได้ที่นี่ แต่ Zero สามารถเป็น HID ได้ทุกประเภท คีย์บอร์ด, เม้าส์, แฟลชไดรฟ์, กล้อง, ทุกสิ่งที่คุณนึกออก

เปลี่ยน Raspberry PI Zero ของคุณให้เป็นอุปกรณ์ USB

ป้อนคำอธิบายรูปภาพที่นี่

ทำให้แป้นพิมพ์หรือเมาส์เป็นเรื่องง่าย


-2

คุณสามารถทำการเชื่อมต่อเครือข่ายอย่างง่ายจากพีซีของคุณไปยัง Raspberry Pi และใช้ Pulse Audio เพื่อถ่ายโอนเสียงผ่านเครือข่าย Pulse Audio เป็นเซิร์ฟเวอร์เสียงที่ให้บริการเครือข่ายที่โปร่งใส ดังนั้นคุณสามารถเล่นไฟล์เสียงบนพีซีของคุณและฟังด้วยลำโพงที่เชื่อมต่อกับ Raspberry Pi ของคุณ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.