Puis-je utiliser Raspberry Pi en tant que périphérique USB?


44

Raspberry Pi a un port micro USB pour l’alimentation. Ma question est de savoir si ce port est uniquement destiné à l'alimentation ou s'il peut également être utilisé pour les données. J'aimerais pouvoir connecter mon Raspberry Pi en tant que périphérique USB à un autre ordinateur. Est-ce possible sur un port d'alimentation? Si non, cela peut-il être fait d'une autre manière?


Je sais que cette question est fermée depuis longtemps, mais si vous le vouliez vraiment, vous pourriez programmer un Arduino avec deux ports série pour transmettre simplement des messages. Un peu de hackish, mais vous devriez pouvoir obtenir quelque chose qui fonctionne de cette façon.
Ryan Kennedy

La nouvelle carte IO livrée avec le kit de développement de module Compute semble avoir un connecteur esclave USB ... comment peut-on la faire fonctionner?
Kozuch

Le port sur le Pi sert uniquement à l’alimentation, mais il est possible de se connecter au Pi via une connexion série via un adaptateur pour avoir un accès de base au Pi
Wilf

Réponses:


29

J'ai jeté un coup d'œil au schéma . les broches de données pour la connexion micro USB ne sont connectées à rien. Par conséquent, il n’ya aucun moyen de monter le RPi en tant que périphérique externe.

Il pourrait être possible de monter le disque dur du RPi ou de se connecter sur le réseau en utilisant SSH.

Les broches GPIO incluent un ensemble de lignes de données UART pouvant être utilisées pour établir une connexion série avec le RPi à partir de votre PC.

Bit-banging USB

Une connexion USB binaire a déjà été effectuée ( AVR V-USB ). Toutefois, vous devrez concevoir votre propre carte d’extension dotée d’ un autre port USB. Il est concevable que ce port puisse alimenter le RPi. Cela fait, vous devrez écrire une sorte de pilote. Bonne chance.

Si vous êtes prêt à faire face à tous ces problèmes, il pourrait être intéressant de regarder plutôt une puce FTDI . Vous connecteriez ceci aux broches UART du RPi. Du point de vue logiciel, vous communiquez avec l'ordinateur comme s'il s'agissait d'un périphérique série.


Sauf peut-être réimplémenter l'USB avec GPIO?

2
Il n'y a pas d'espoir là-bas. Vous ne pouvez pas bit-bang USB.
Alex Chamberlain

Ce diagramme était ce que je cherchais. Bonne réponse.
Jivings

1
@Alex, l'USB bit-banging a été fait. Un PIC à 40 MHz peut faire l’USB à faible vitesse. Peut-être qu'un ARM à 700 MHz pourrait atteindre la vitesse normale?
finnw

3
dicks.home.xs4all.nl/avr/usbtiny - une autre clé USB pour un AVR 12Mhz. Notez que cela n’est possible que parce que dans les microcontrôleurs, vous avez un contrôle total sur l’horloge et les interruptions. Vous devez au moins utiliser RTLinux pour obtenir ce type de contrôle. Aussi, vous devez utiliser SPI et non GPIO pour le faire.
Alistair Buxton le

8

Comme les broches de données du port micro USB ne sont pas connectées au PHY USB du SoC, vous ne pouvez pas utiliser ce port pour les données (en mode hôte ou esclave).

Il devrait toutefois être possible d'utiliser le port USB de type A sur le modèle A en mode esclave.

Quelques détails supplémentaires

Le modèle B utilise un hub SMSC LAN9512 USB 2.0 et un contrôleur Ethernet 10/100 pour fournir plusieurs ports hôtes USB physiques à partir du port USB unique OTG disponible sur le SoC Broadcom. (Voir le schéma ici: http://www.raspberrypi.org/wp-content/uploads/2012/04/Raspberry-Pi-Schematics-R1.0.pdf )

La présence de ce concentrateur empêche les ports USB d'être utilisés en mode esclave. Toutefois, comme le modèle A n’a pas ce circuit intégré, mais qu’un seul port USB est connecté directement au port OTG du SoC, il devrait être possible de le configurer pour qu’il agisse en mode esclave via un logiciel.

Le modèle A ayant un port USB hôte femelle, un câble de conversion HOST-HOST sera nécessaire.

Veuillez consulter ce fil de discussion sur Raspberry Pi Forum pour plus de détails: http://www.raspberrypi.org/phpBB3/viewtopic.php?f=63&t=15696


5

Le modèle A pourra utiliser l'interface de gadget standard puisque la clé USB du PI est OTG. Vous pouvez simplement le forcer en mode appareil.

Mais cela signifie que vous perdez Ethernet et toute autre clé USB


5

Les modèles Rasberry PI A / A + / B / B + ont le mode OTG désactivé pour diverses raisons:

  • Port USB occupé par un hub USB (ethernet),
  • 5ème broche OTG manquante (mise à la terre), ou
  • les broches de données ne sont pas connectées (port d'alimentation).

Vous aurez besoin de Raspberry PI Zero pour OTG ou du mode Gadget. Le port USB de données peut être utilisé pour OTG et «alimentation». Au moment de la rédaction de cet article, les interfaces série et Ethernet ont été testées, mais d'autres doivent fonctionner avec le niveau d'effort approprié (clavier, disque, appareil photo, etc.). Les périphériques composites doivent également fonctionner. Voir plus d'infos sur

Le travail devrait être fusionné dans la version rpy-4.4 du noyau pour que la fonctionnalité OTG soit disponible en OOTB pour un piratage plus simple.

La majorité des activités de levage intensif ont été menées dans le numéro 1212 de Github raspberrypi / linux .


Bonjour et bienvenue. Merci pour votre participation. Vous voudrez peut-être aussi contribuer ici: raspberrypi.stackexchange.com/questions/38576/…
Ghanima


Puis-je utiliser le port d'alimentation en tant que client-périphérique et l'autre port en tant que port hôte? Ce serait cool d'utiliser le port d'alimentation comme ethernet virtuel pour se connecter au PC et à l'autre port pour connecter des périphériques USB au pi.
Allo

Cette réponse est confuse, d'autant que les liens ne fournissent aucune preuve à l'appui de l'affirmation selon laquelle la prise d'alimentation peut être utilisée pour les données. La plupart d'entre eux concernent simplement l'implémentation du mode gadget OTG dans le noyau, qui est désormais standard et peut être effectué mais pas via la prise d'alimentation. Il n'y a qu'une seule prise pouvant être utilisée à la fois pour l' alimentation et les données, et non deux.
Boucle d'or

J'avais corrigé la réponse. Le fait est que le port de données peut être utilisé pour alimenter Raspberry PI Zero et comme port OTG
myroslav

4

Malheureusement, les ports d'alimentation ne fonctionnent généralement pas de cette manière, vous ne pourrez donc utiliser le port micro-USB que pour l'alimentation.

Je ne vois pas comment utiliser le Pi en tant que périphérique, mais il existe plusieurs autres moyens d'accéder au Pi, notamment le partage SSH, FTP ou Samba.

Si vous précisez ce que vous essayez d’atteindre, nous pourrons vous conseiller la meilleure méthode.


Juste un exemple hypotétique, je voudrais utiliser Raspberry Pi comme une carte son. Bien sûr, j'écrirais des pilotes aux deux extrémités, mais je dois le connecter au PC en quelque sorte.

1
Une solution élégante pour cela consisterait à canaliser l'audio via SSH. Bien sûr, vous pouvez aussi essayer d’utiliser le GPIO!
Jivings


1

Oui, vous le pouvez si vous utilisez un contrôleur de périphérique USB avec une interface SPI telle que MAX3420E et écrivez son pilote s'il n'est pas encore pris en charge sous Linux et si vous gérez la classe USB que vous souhaitez implémenter.


1

Beaucoup de travail a été accompli depuis le moment où la question a été posée. L'utilisation de certains modèles Rasberry Pi en tant que périphérique USB (stockage de masse, série, Ethernet, clavier, souris, etc.) est désormais possible. Voir ce résumé et ce guide .



-2

Vous pouvez établir une simple connexion réseau entre votre PC et le Raspberry Pi et utiliser Pulse Audio pour transférer le son sur le réseau. Pulse Audio est un serveur de sons offrant une transparence de réseau. Vous pouvez ainsi lire des fichiers son sur votre PC et les écouter avec des haut-parleurs connectés à votre Raspberry Pi.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.