Fråga:
Kan jag använda Raspberry Pi som en USB-kringutrustning?
user13
2012-06-14 13:06:55 UTC
view on stackexchange narkive permalink

Raspberry Pi har en Micro USB-port för strömförsörjning. Min fråga är om den här porten endast är för strömändamål eller kan den också användas för data? Jag skulle vilja kunna ansluta min Raspberry Pi som en USB-kringutrustning till en annan dator. Är detta möjligt via en strömport? Om inte, kan detta göras på ett annat sätt?

Jag vet att den här frågan länge är stängd, men en sak du skulle kunna göra om du verkligen ville är att programmera en Arduino med två seriella portar för att helt enkelt skicka meddelanden igenom. Lite hackig, men du borde kunna få något att fungera på det sättet.
The new IO board shipped with Compute Module Development Kit seems to have USB slave connector... how can one get it working?
Porten på Pi är endast för strömändamål, men via en adapter är det möjligt att ansluta till Pi via en [seriell anslutning] (http://elinux.org/RPi_Serial_Connection) för att ha grundläggande åtkomst till Pi
Tio svar:
Alex Chamberlain
2012-06-14 13:20:42 UTC
view on stackexchange narkive permalink

Jag har tittat på schematisk; datapinnarna för mikro-USB-anslutningen är inte anslutna till någonting. Därför finns det inget sätt att montera RPi som en extern enhet.

Det kan vara möjligt att montera RPis hårddisk eller logga in via nätverket med hjälp av SSH.

GPIO pins innehåller en uppsättning UART-datalinjer, som kan användas för att bilda en seriell anslutning till RPi från din dator.

Bit-banging USB

Bit-banging USB har gjorts ( AVR V-USB), men du måste designa ditt eget expansionskort som har lagt till en annan USB-port. Det är tänkbart att denna port kan driva RPi. När du har gjort detta måste du skriva någon form av drivrutin. Lycka till.

Om du är beredd att gå till alla dessa problem kan det vara värt att titta på ett FTDI-chip istället. Du skulle ansluta detta till UART-stiften på RPi. Ur ett programvaruperspektiv skulle du kommunicera med datorn som om det var en seriell enhet.

Förutom att kanske återinföra USB med GPIO?
Det finns inget hopp där. Du kan inte smälla USB.
Det diagrammet var det jag letade efter. Bra svar.
@Alex, Bit-banging USB har gjorts. En 40 MHz PIC kan göra USB med låg hastighet. Kanske kan en 700MHz ARM klara normal hastighet?
@finnw-referens?
http://dicks.home.xs4all.nl/avr/usbtiny/ - ytterligare en slagen USB för 12MHz AVR. Observera att det bara är möjligt eftersom du i mikrokontroller har full kontroll över klockan och avbryter. Du måste köra RTLinux åtminstone för att få den typen av kontroll. Du bör också använda SPI inte GPIO för att göra detta.
@AlistairBuxton: varför SPI inte GPIO? Är inte GPIO mer allmänt än SPI?
Enkelt svar är att SPI är minst 8 gånger snabbare än GPIO på en viss hårdvara, och fungerar vanligtvis som en rå UART - det vill säga du köer upp 8 bitar för att skriva i en enda instruktion, och har sedan några cykler med andningsrum att ladda upp nästa data från minnet. Med GPIO tar det flera instruktioner att läsa från minnet, skift och sedan skriva till GPIO-porten varje gång du vill skriva en bit.
Och notera att jag pratar om instruktioner. Med bit-banging behöver du räkna instruktioner och skriva mycket effektiv monteringskod. Det är inte riktigt möjligt på mycket komplexa multitasking-operativsystem, såvida du inte använder ett med realtidsförlängningar - och även då är det mycket svårare än att göra det på en mikrokontroller.
Enligt schemat har SoC (som innehåller ARM-processorn) en USB. Denna USB är ansluten till BCM-chipet som gör kommunikationen för 2 USB och det enda Ethernet. Det finns inga ytterligare USB-anslutningar. Så du måste antingen skapa ett separat USB-gränssnitt med GPIO / SPI eller lägga till en USB-hubb ansluten till någon av USB-portarna.
The new IO board shipped with Compute Module Development Kit seems to have USB slave connector... how can one get it working?
Rob_Bishop
2013-03-04 02:42:19 UTC
view on stackexchange narkive permalink

Eftersom datapinnarna på mikro-USB-porten inte är anslutna till SoC: s USB PHY kan du inte använda den här porten för data (i varken värd- eller slavläge).

Det bör dock vara möjligt att använda USB Type A-porten på modell A i slavläge.

Några ytterligare detaljer;

Model B använder en SMSC LAN9512 USB 2.0 Hub och 10/100 Ethernet Controller IC för att tillhandahålla flera fysiska USB-värdportar från den enda USB OTG-porten som finns tillgänglig på Broadcom SoC. (Se schemat här: http://www.raspberrypi.org/wp-content/uploads/2012/04/Raspberry-Pi-Schematics-R1.0.pdf)

Närvaron av denna hub-IC förhindrar att USB-portarna används i slavläge. Eftersom Model A inte har denna IC närvarande och istället bara har en enda USB-port ansluten direkt till SoC: s OTG-port bör det vara möjligt att konfigurera den så att den fungerar i slavläge via programvara.

Som modell A har en kvinnlig värd-USB-port, en HOST till HOST-omvandlingskabel kommer att behövas.

Se den här Raspberry Pi-forumtråden för mer information: http://www.raspberrypi.org /phpBB3/viewtopic.php?f=63&t=15696

myroslav
2016-01-06 04:59:38 UTC
view on stackexchange narkive permalink

Rasberry PI A / A + / B / B + -modeller har OTG-läge inaktiverat av olika orsaker:

  • USB-port upptagen med USB-hubb (ethernet),
  • saknas OTG 5: e stift (jordad) eller
  • datapinnar är inte anslutna (strömport).

Du behöver Raspberry PI Zero för OTG eller så kallat Gadget Mode. Data USB-port kan användas för OTG och “power”. I skrivande stund testades Serial och Ethernet, men andra borde arbeta med rätt ansträngning (tangentbord, disk, kamera, etc.) Sammansatta enheter bör också fungera. Se mer information på

Arbetet förväntas slås samman till rpy-4.4 version av kärnan för att OTG-funktionaliteten ska vara tillgänglig OOTB för enklare hacking.

Majoriteten av tyngdlyftning genomfördes i Github raspberrypi / linux nummer # 1212.

Hej och välkommen. Tack för ditt bidrag. Du kanske vill bidra här också: http://raspberrypi.stackexchange.com/questions/38576/can-the-pi-zero-act-as-an-usb-peripheral-device
@Ghanima: klar;) http://raspberrypi.stackexchange.com/a/40626/39346
Kan jag använda strömporten som klientenhet och den andra porten som värdport? Skulle vara coolt att använda strömporten som virtuellt Ethernet för att ansluta till datorn och den andra porten för att ansluta USB-enheter till pi.
Detta svar är förvirrat, särskilt eftersom länkarna inte ger några stödjande bevis för påståendet att strömuttaget kan användas för data. De flesta av dem handlar helt enkelt om att implementera OTG-gadget-läge i kärnan, vilket nu är standard och kan göras men inte via strömuttaget. Det finns bara ett uttag som kan användas för * både * ström och data, inte två.
Jag hade rättat till svaret. Faktum är att dataporten kan användas för att driva Raspberry PI Zero och som OTG-port
Detta är inte helt sant: RPi A har inget Ethernet och [kan] (https://www.raspberrypi.org/forums/viewtopic.php?f=98&t=74098#p532162) användas som USB-slav.
Gordon
2012-11-22 15:24:14 UTC
view on stackexchange narkive permalink

Modell A kommer att kunna använda standardgränssnittsgränssnittet eftersom USB på PI är OTG kan du bara tvinga det till enhetsläge.

Men det betyder att du tappar Ethernet och andra USB-enheter

Jivings
2012-06-14 13:21:56 UTC
view on stackexchange narkive permalink

Tyvärr fungerar inte strömförsörjningsportarna på det här sättet så att du inte kan använda mikro-USB-porten för något annat än ström.

Jag kan för närvarande inte tänka på ett sätt du kan använda Pi som en perifer enhet, men det finns flera andra sätt att komma åt Pi inklusive SSH, FTP eller samba-delning.

Om du utarbetar vad du försöker uppnå kan vi ge råd om den bästa metoden att göra det.

Bara ett hypotetiskt exempel, jag skulle vilja använda Raspberry Pi som ljudkort. Jag skulle naturligtvis skriva drivrutiner för båda ändarna, men jag måste ansluta den till datorn på något sätt.
En elegant lösning för det skulle vara att pipa ljud genom SSH. Naturligtvis kan du också prova att använda GPIO!
Mike Redrobe
2014-09-19 14:18:03 UTC
view on stackexchange narkive permalink

Ja, du kan använda en modell A som en USB-slavenhet:

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

Även om det är ganska begränsat till bara användning som masslagringsenhet (SD-kort) - ingen GPIO-åtkomst, skärm eller ens ARM-CPU-användning.

avra
2012-11-22 14:10:25 UTC
view on stackexchange narkive permalink

Ja det kan du om du använder någon USB-kringutrustning med SPI-gränssnitt som MAX3420E och skriver drivrutin för den om den ännu inte stöds i Linux och hanterar specifik USB-klass du vill implementera.

Diomidis Spinellis
2016-05-05 18:24:03 UTC
view on stackexchange narkive permalink

Mycket arbete har gjorts sedan frågan ställdes. Att använda vissa Rasberry Pi-modeller som en USB-kringutrustning (t.ex. masslagring, seriell, Ethernet, tangentbord, mus) är nu möjlig. Se den här kärnan och den här guiden.

SDsolar
2018-04-05 07:07:10 UTC
view on stackexchange narkive permalink

Kan Pi emulera en HID-enhet med via USB?

Detta kan göras med NÅGON typ av Pi

Den billigaste lösningen är att använda Pi Zero.

Texten i den här länken är alldeles för lång för att publiceras här, men nollan kan vara vilken typ av HID som helst. Tangentbord, mus, flash-enhet, kamera, vad du än kan tänka dig.

Gör din Raspberry PI Zero till en USB-gadget

enter image description here

Gör det till en tangentbord eller mus är enkelt.

MrBlues
2013-02-14 22:03:29 UTC
view on stackexchange narkive permalink

Du kan göra en enkel nätverksanslutning från din dator till Raspberry Pi och använda Pulse Audio för att överföra ljud över nätverket. Pulse Audio är en ljudserver som erbjuder nätverksgenomskinlighet. Så du kan spela ljudfiler på din dator och höra dem med högtalare anslutna till din Raspberry Pi.



Denna fråga och svar översattes automatiskt från det engelska språket.Det ursprungliga innehållet finns tillgängligt på stackexchange, vilket vi tackar för cc by-sa 3.0-licensen som det distribueras under.
Loading...