FlexiHub
Come potresti già sapere, è possibile configurare il tuo Raspberry Pi come server USB su Ethernet. Beh, in realtà, ci sono non uno, ma tre modi che puoi seguire qui: un percorso facile con un'app a pagamento al cento per cento efficiente o un viaggio accidentato con una soluzione open-source e il suo complicato processo di configurazione. E stiamo per esaminarli tutti.
Ecco fatto!
Da quel momento in poi, il dispositivo USB condiviso sarà accessibile da remoto da tutti i computer con FlexiHub installato e una connessione Internet, indipendentemente dai sistemi operativi o dalle distanze fisiche coinvolte.
Soluzione Universale:
Server di Reindirizzamento USB: L'unico server di reindirizzamento USB di FlexiHub consente all'app di funzionare attraverso tutti i firewall senza richiedere indirizzi IP pubblici.
Condivisione delle Periferiche: Puoi condividere un hub USB in modo che qualsiasi periferica collegata alle sue porte USB diventi immediatamente disponibile per le connessioni remote senza necessità di configurazione aggiuntiva.
Prestazioni Migliorate:
Compressione del Traffico: FlexiHub offre una funzione opzionale di compressione del traffico, particolarmente utile per dispositivi USB sensibili alla larghezza di banda come stampanti USB o webcam. Questo significa che non è necessaria una connessione Internet ad alta velocità di 1 Gbps per farli funzionare in modo efficiente.
Sicurezza:
Crittografia SSL: FlexiHub fornisce una crittografia SSL a prova di proiettile a 2048 bit per prevenire completamente l'accesso non autorizzato alle tue telecamere di sicurezza, dongle USB o qualsiasi dato trasmesso tramite FlexiHub.
In linea di principio, questo metodo è simile a quello appena descritto, ma tramite un'applicazione diversa per l'estensione USB a Ethernet. E dato che questa volta useremo una soluzione open-source ancora in sviluppo, i requisiti del processo di configurazione richiedono un livello decente di competenza tecnica per eseguirlo, quindi se non ne hai, non stupirti se non funzionerà al primo tentativo.
Ecco alcuni punti importanti da considerare prima di optare per questo metodo:
sudo apt install usbip
sudo modprobe usbip_host
echo 'usbip_host' >> /etc/modules
lsusb
per visualizzare un elenco di tutti i dispositivi USB collegati fisicamente al tuo Raspberry Pi e ricorda (o annota) il numero di identificazione USB a 8 cifre di un dispositivo che intendi condividere.
usbip list -p -l
per scoprire l'ID del bus del tuo dispositivo (utilizza il numero di identificazione USB dalla fase precedente per identificare il dispositivo corretto nell'elenco). Annota quel numero.
sudo usbip bind --busid=N
usbipd
In alternativa, puoi creare un servizio systemd:
vi /lib/systemd/system/usbipd.service
con la seguente definizione (non dimenticare di cambiare la N con un numero di ID USB effettivo del tuo dispositivo):
[Unit]
Description=demonio host usbip
After=network.target
[Service]
Type=forking
ExecStart=/usr/sbin/usbipd -D
ExecStartPost=/bin/sh -c "/usr/sbin/usbip bind --$(/usr/sbin/usbip list -p -l | grep '#usbid=N#' | cut '-d#' -f1)"
ExecStop=/bin/sh -c "/usr/sbin/usbip unbind --$(/usr/sbin/usbip list -p -l | grep '#usbid=N#' | cut '-d#' -f1); killall usbipd"
[Install]
WantedBy=multi-user.target
E quindi dovrai eseguire questi comandi per avviare quel servizio:
sudo systemctl --system daemon-reload
sudo systemctl enable usbipd.service
sudo systemctl start usbipd.service
Ok, adesso configuriamo un client:
Nota: L'app ha un client per Windows, ma è una versione beta poco affidabile senza driver firmati o alcun supporto per Windows 10, quindi non vale davvero la pena menzionarla.
1. Per installare la stessa app per la condivisione USB su IP in Ubuntu, esegui questi comandi:
sudo -s
apt-get install linux-tools-generic -y
2. Abilita il modulo richiesto:
modprobe vhci-hcd
echo 'vhci-hcd' >> /etc/modules
Adesso, per collegare il dispositivo condiviso a questa macchina, esegui il comando:
sudo usbip attach -r 0.0.0.0
(inserisci l'indirizzo IP effettivo del tuo Raspberry Pi al posto di 0.0.0.0)
O puoi creare un servizio systemd:
vi /lib/systemd/system/usbip.service
Con la definizione (sostituisci N con un numero di ID USB effettivo del tuo dispositivo e 0.0.0.0 con l'indirizzo IP del tuo Raspberry):
[Unit]
Description=client usbip
After=network.target
[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/bin/sh -c "/usr/lib/linux-tools/$(uname -r)/usbip attach -r 0.0.0.0 -b $(/usr/lib/linux-tools/$(uname -r)/usbip list -r 0.0.0.0 | grep 'N' | cut -d: -f1)"
ExecStop=/bin/sh -c "/usr/lib/linux-tools/$(uname -r)/usbip detach --port=$(/usr/lib/linux-tools/$(uname -r)/usbip port | grep '' | sed -E 's/^Port ([0-9][0-9]).*/\1/')"
[Install]
WantedBy=multi-user.target
Salva, quindi esegui questi comandi per avviare il servizio:
sudo systemctl --system daemon-reload
sudo systemctl enable usbip.service
sudo systemctl start usbip.service
Dopo ciò, dovresti essere in grado di accedere al dispositivo condiviso in remoto. Se non riesci, riprova tutti i passaggi dall'inizio.
Importante! Se scolleghi un dispositivo USB dal Raspberry Pi mentre è condiviso con questo metodo, potresti subire una perdita permanente dei dati. Spegni prima il tuo Raspberry (una volta spento, puoi anche scollegare il suo adattatore AC per ulteriori precauzioni).
Creare un hub USB su IP wireless con un Raspberry Pi è un esercizio relativamente semplice se disponi dei seguenti due componenti.
VirtualHere consente la condivisione di dispositivi USB collegati in rete. È una soluzione che consente di collegare dispositivi USB remoti e usarli come se fossero direttamente collegati alla tua macchina locale. Un server VirtualHere consente di accedere in remoto a dispositivi USB come scanner, stampanti e webcam da qualsiasi posizione sulla tua rete.
Puoi creare un hub per supportare USB su IP usando Raspberry Pi con i seguenti passaggi.
$ wget https://www.virtualhere.com/sites/default/files/usbserver/vhusbdarm
$ chmod +x vhusbdarm
$ sudo ./vhusbdarm -b
Visualizza le opzioni disponibili eseguendo questo comando:
$ ./vhusbdarm -h
Qualsiasi tipo di dispositivo USB può essere collegato tramite la rete con questo metodo. Il numero di porte aperte rappresenta l'unica limitazione sul numero di dispositivi che puoi collegare. Puoi anche aggiungere un hub USB fisico per fornire più porte USB e consentirti di collegare dispositivi aggiuntivi.
|
|
| ||||||
---|---|---|---|---|---|---|---|---|
Proxi-server |
Redirection Server • nessuna necessità di un IP esterno • comunicazione multi-rete • funziona attraverso il firewall |
N/A | N/A | |||||
| ||||||||
Firmware per microcontrollori | Raspberry (su richiesta) | N/A | Raspberry | |||||
Sicurezza |
Token di accesso per la condivisione sicura dell'account
Blocco per il controllo dell'accesso al dispositivo
|
N/A | N/A | |||||
Crittografia | SSL a 2048 bit | SSL, non dall'interfaccia utente | SSL, per il programma | |||||
Stabilità migliorata | Opzione di mantenimento della connessione attiva | N/A | N/A |
La decisione su quale metodo adottare tra quelli descritti in questo articolo è completamente tua. Tuttavia, potrebbe essere più saggio optare per uno strumento user-friendly con un track record di efficacia anziché rischiare potenziali tempi di inattività, che potrebbero causare notevoli stress, perdita di tempo e spese finanziarie. Scegli ciò che funziona meglio per te.