Pi come client USB


16

Sto cercando un modo per fare in modo che il Pi funga da client USB e si maschera da flash drive.

Ho visto molti suggerimenti, tuttavia la maggior parte di essi sono ormai vecchi (1+ anni) e vaghi / incompleti - vorrei chiedere un aggiornamento su ciò che ha funzionato, cosa non ha funzionato, ecc.

Esistono anche numerosi suggerimenti per utilizzare Pi come dispositivo di tipo NAS. Questo non funzionerà per i miei scopi, dal momento che ho un host "stupido" che può accettare solo unità flash (e voglio usare il Pi per renderlo "più intelligente")

riassunto dei suggerimenti che ho già visto:

  1. emulare un client USB tramite i pin GPIO
  2. emulare una connessione seriale tramite GPIO, quindi utilizzare i cavi esistenti per passare dalla seriale all'USB
  3. usando un modello A, usa il software per convincere il pi ad agire come un client
  4. usando un cavo USB host-to-host (non sono sicuro di aver visto nessuno che supporti Linux ..)

qualcuno potrebbe spiegare in modo più approfondito alcune di quelle soluzioni proposte?

PS: non ho bisogno né mi aspetto alte prestazioni da questa configurazione, le velocità USB 1.1 sarebbero sufficienti.

modifica: Sarei anche interessato a eventuali alternative che potrebbero fornire questa funzionalità, tuttavia non ho ancora visto nessuna chiavetta USB "intelligente" o varianti Android-on-a-stick che possano.


1
Ci sono sicuramente cavi supportati da Linux; questo fa parte dell'obiettivo con il usbnetguidatore. Hanno una pagina che ne menziona alcuni; sembra obsoleto, quindi ora potrebbe essercene di più. Prima di acquistare qualcosa, controlla in giro.
riccioli d'oro

Alcune osservazioni specifiche al modello A su questo qui
goldilocks

Si potrebbe anche trovare tali progetti come usbip: stackoverflow.com/a/19689740/544721 o linux-usb.org/gadget utile nel montaggio soluzione.
Grzegorz Wierzowiecki,

Risposte:


6

Saresti fortunato se le porte USB sul PI fossero OTG e non USB Host.

Forse dovresti prendere in considerazione qualche altro dispositivo in quanto nessuna delle soluzioni che ti sono state suggerite può essere pratica:

emulare un client USB tramite i pin GPIO: in teoria è possibile emulare l'USB usando il bit banging dei pin. Ciò può causare un sovraccarico del software piuttosto grande in termini di sviluppo del software. La soluzione sarà relativamente difficile da implementare. In teoria è possibile ma è necessario eseguire l'analisi costi / benefici.

emulare una connessione seriale tramite GPIO, quindi utilizzare i cavi esistenti per passare da seriale a USB: questa soluzione non funzionerà per il tuo scopo in quanto tu (piuttosto il tuo DUMB Host) vorresti un'emulazione "Dispositivo di archiviazione di massa" (tipo di dispositivo 0x08) e non un Emulazione del dispositivo "Communications and CDC Control" (tipo di dispositivo 0x02).

usando un modello A, usa un software per convincere il pi ad agire come un client: non chiarisci ciò che ti è stato suggerito

utilizzando un cavo USB da host a host (non sono sicuro di aver visto nessuno che supporti Linux ..): In questo caso entrambi i dispositivi vedranno un dispositivo di archiviazione di massa collegato al loro controller host. Utilizzando questo metodo, Raspberry pi verrà visualizzato come dispositivo di archiviazione di massa che esporta l'archiviazione basata su scheda SD. Con questa soluzione potresti voler considerare quale tipo di archiviazione desideri esportare nell'host DUMB. L'host DUMB potrebbe non esportarsi come dispositivo di archiviazione di massa. A questo punto avrai altre opzioni USB diverse da Raspberry Pi.


Che tipo di altri dispositivi consiglieresti? (Spero in qualcosa con wifi e la possibilità di eseguire dropbox o sincronizzazione
bittorent

Le vostre esigenze in merito alla manutenzione dell'host DUMB non sono chiare. È richiesta maggiore chiarezza.
Chetan Bhargava,

2
OK, oggi ho un flash drive nella mia macchina che riproduce mp3 - ogni volta che voglio cambiare la musica su di esso, devo spostare fisicamente il flash drive - vorrei solo avere un dispositivo sincronizzato con qualcosa sul mio desktop, e presenta un'interfaccia USB per l'auto - inoltre, la porta USB sul modello A Pi è un chip OTG (e sul modello B, ma la porta ethernet disabilita tale funzionalità) - fonte
user2813274

Passiamo a chattare (Panetteria) in modo da non ingombrare il post con commenti :-)
Chetan Bhargava,

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.