FlexiHub
Comme vous le savez peut-être déjà, il existe un moyen de configurer votre Raspberry Pi en tant que serveur USB-sur-Ethernet. Eh bien, en fait, il n'y en a pas un, mais trois chemins que vous pouvez emprunter ici : un chemin facile avec l'application payante à cent pour cent efficace, ou un parcours cahoteux avec une solution open-source et son processus de configuration fastidieux. Et nous allons examiner tout cela.
C'est tout !
À partir de ce moment, le périphérique USB partagé sera accessible à distance depuis tous les ordinateurs avec FlexiHub installé et une connexion Internet, indépendamment des systèmes d'exploitation ou des distances physiques impliquées.
Solution Universelle:
Serveur de Redirection USB: Le serveur de redirection USB unique de FlexiHub permet à l'application de fonctionner à travers tous les pare-feu sans nécessiter d'adresses IP publiques.
Partage de Périphériques: Vous pouvez partager un concentrateur USB de sorte que tout périphérique connecté à ses ports USB soit instantanément disponible pour les connexions à distance sans configuration supplémentaire nécessaire.
Performance Améliorée:
Compression du Trafic: FlexiHub offre une fonctionnalité optionnelle de compression du trafic, particulièrement utile pour les périphériques USB sensibles à la bande passante comme les imprimantes USB ou les caméras web. Cela signifie que vous n'avez pas besoin d'une connexion Internet à haute vitesse de 1 Gbps pour les faire fonctionner efficacement.
Sécurité:
Cryptage SSL: FlexiHub fournit un cryptage SSL de 2048 bits à toute épreuve pour prévenir complètement l'accès non désiré à vos caméras de sécurité, dongles USB ou toute donnée transmise via FlexiHub.
En principe, cette méthode est similaire à celle que nous venons de décrire, mais par le biais d'une application d'extension USB vers Ethernet différente. Et étant donné que cette fois nous utiliserons une solution open-source toujours en développement, les exigences du processus de configuration sont là pour un bon niveau de compétence technique pour l'effectuer. Si vous n'en avez pas, ne soyez pas surpris si cela ne fonctionne pas du premier coup.
Voici quelques points importants à considérer avant d'opter pour cette méthode :
sudo apt install usbip
sudo modprobe usbip_host
echo 'usbip_host' >> /etc/modules
lsusb
pour afficher la liste de tous les périphériques USB physiquement connectés à votre Raspberry Pi et mémorisez (ou notez) le numéro d'identification USB à 8 chiffres d'un périphérique que vous allez partager.
usbip list -p -l
pour connaître l'ID de bus de votre périphérique (utilisez le numéro d'identification USB d'une étape précédente pour identifier le bon périphérique dans la liste). Notez ce numéro.
sudo usbip bind --busid=N
usbipd
En alternative, vous pouvez créer un service systemd :
vi /lib/systemd/system/usbipd.service
avec la définition suivante (n'oubliez pas de changer N par le numéro d'identification USB réel de votre appareil) :
[Unit]
Description=daemon hôte 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
Ensuite, vous devrez exécuter ces commandes pour démarrer ce service :
sudo systemctl --system daemon-reload
sudo systemctl enable usbipd.service
sudo systemctl start usbipd.service
D'accord, maintenant configurons un client :
Note : L'application possède un client pour Windows, mais c'est une version bêta peu fiable sans pilotes signés ni support pour Windows 10, donc cela ne vaut pas vraiment la peine d'en parler.
1. Pour installer la même application pour le partage USB sur IP dans Ubuntu, exécutez ces commandes :
sudo -s
apt-get install linux-tools-generic -y
2. Activez le module requis :
modprobe vhci-hcd
echo 'vhci-hcd' >> /etc/modules
Maintenant, pour connecter le périphérique partagé à cette machine, exécutez la commande :
sudo usbip attach -r 0.0.0.0
(tapez l'adresse IP réelle de votre Raspberry Pi à la place de 0.0.0.0)
Ou vous pouvez créer un service systemd :
vi /lib/systemd/system/usbip.service
Avec la définition (remplacez N par le numéro d'identification USB réel de votre appareil et 0.0.0.0 par l'adresse IP de votre 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
Enregistrez, puis exécutez ces commandes pour démarrer le service :
sudo systemctl --system daemon-reload
sudo systemctl enable usbip.service
sudo systemctl start usbip.service
Après cela, vous devriez pouvoir accéder au périphérique partagé à distance. Si ce n'est pas le cas, réessayez toutes les étapes depuis le tout début.
Important ! Si vous débranchez un périphérique USB du Raspberry Pi alors qu'il est partagé par cette méthode, cela peut entraîner une perte permanente de données. Éteignez d'abord votre Raspberry (après l'extinction, vous pouvez également débrancher son adaptateur secteur pour plus de précautions).
Construire un hub USB sur IP sans fil avec un Raspberry Pi est un exercice relativement simple si vous disposez des deux composants suivants.
VirtualHere permet le partage de périphériques USB connectés au réseau. C'est une solution qui vous permet de connecter des périphériques USB distants et de les utiliser comme s'ils étaient directement connectés à votre machine locale. Un serveur VirtualHere vous permet d'accéder à distance à des périphériques USB tels que des scanners, des imprimantes et des webcams depuis n'importe quel endroit de votre réseau.
Vous pouvez créer un hub pour prendre en charge l'USB sur IP en utilisant Raspberry Pi avec les étapes suivantes.
$ wget https://www.virtualhere.com/sites/default/files/usbserver/vhusbdarm
$ chmod +x vhusbdarm
$ sudo ./vhusbdarm -b
Consultez les options disponibles en exécutant cette commande :
$ ./vhusbdarm -h
Tout type de périphérique USB peut être connecté via le réseau avec cette méthode. Le nombre de ports ouverts constitue la seule limitation du nombre de périphériques que vous pouvez connecter. Vous pouvez également ajouter un hub USB physique pour fournir plus de ports USB et vous permettre de connecter des périphériques supplémentaires.
|
|
| ||||||
---|---|---|---|---|---|---|---|---|
Proxi-serveur |
Serveur de redirection • pas besoin d'IP externe • communication multi-réseau • fonctionne à travers le pare-feu |
N/A | N/A | |||||
| ||||||||
Firmware pour microcontrôleurs | Raspberry (sur demande) | N/A | Raspberry | |||||
Sécurité |
Jetons d'authentification pour le partage sécurisé des comptes
Verrouillage pour le contrôle de l'accès aux périphériques
|
N/A | N/A | |||||
Chiffrement | SSL 2048 bits | SSL, pas depuis l'interface graphique | SSL, pour le programme | |||||
Stabilité améliorée | Option de maintien de la connexion active | N/A | N/A |
La décision de la méthode à adopter parmi celles décrites dans cet article vous appartient entièrement. Cependant, il pourrait être plus sage d'opter pour un outil convivial ayant fait ses preuves en termes d'efficacité plutôt que de risquer des temps d'arrêt potentiels, ce qui pourrait entraîner un stress considérable, une perte de temps et des dépenses financières. Choisissez ce qui fonctionne le mieux pour vous.