FlexiHub
Wie Sie vielleicht bereits wissen, gibt es eine Möglichkeit, Ihren Raspberry Pi als USB-über-Ethernet-Server einzurichten. Nun ja, eigentlich gibt es nicht nur einen, sondern drei Wege, die Sie hier einschlagen können: einen einfachen Weg mit der hundertprozentig effizienten kostenpflichtigen App oder eine holprige Fahrt mit einer Open-Source-Lösung und ihrem kniffligen Konfigurationsprozess. Und wir werden uns alle ansehen.
Das war's!
Ab diesem Zeitpunkt ist das freigegebene USB-Gerät von allen Computern aus fernzugänglich, auf denen FlexiHub installiert ist und eine Internetverbindung besteht, unabhängig von den Betriebssystemen oder physischen Entfernungen.
Universelle Lösung:
USB-Umleitungsserver: Der einzigartige USB-Umleitungsserver von FlexiHub ermöglicht es der App, durch alle Firewalls zu arbeiten, ohne öffentliche IP-Adressen zu benötigen.
Peripherie-Freigabe: Sie können einen USB-Hub freigeben, sodass jedes an seine USB-Ports angeschlossene Peripheriegerät sofort für Fernverbindungen verfügbar wird, ohne dass eine zusätzliche Konfiguration erforderlich ist.
Verbesserte Leistung:
Datenkompression: FlexiHub bietet eine optionale Datenkompressionsfunktion, die besonders nützlich für bandbreitenempfindliche USB-Geräte wie USB-Drucker oder Webkameras ist. Das bedeutet, dass Sie keine Hochgeschwindigkeits-Internetverbindung von 1 Gbit/s benötigen, um diese effizient zu betreiben.
Sicherheit:
SSL-Verschlüsselung: FlexiHub bietet eine unknackbare 2048-Bit-SSL-Verschlüsselung, um unerwünschten Zugriff auf Ihre Sicherheitskameras, USB-Dongles oder alle über FlexiHub übertragenen Daten vollständig zu verhindern.
Grundsätzlich ist diese Methode ähnlich wie die, die wir gerade beschrieben haben, jedoch mithilfe einer anderen USB-zu-Ethernet-Erweiterungs-App. Und da wir dieses Mal eine Open-Source-Lösung verwenden werden, die sich noch in der Entwicklung befindet, sind die Anforderungen an den Einrichtungsprozess für ein anständiges Maß an technischer Kompetenz erforderlich. Wenn Sie keine haben, wundern Sie sich nicht, wenn es beim ersten Versuch nicht funktioniert.
Hier sind einige weitere wichtige Punkte, die Sie beachten sollten, bevor Sie sich für diese Methode entscheiden:
sudo apt install usbip
sudo modprobe usbip_host
echo 'usbip_host' >> /etc/modules
lsusb-Befehl
, um eine Liste aller physisch mit Ihrem Raspberry Pi verbundenen USB-Geräte anzuzeigen, und merken Sie sich (oder notieren Sie) die 8-stellige USB-ID-Nummer eines Geräts, das Sie teilen möchten.
usbip list -p -l
-Befehl, um die Bus-ID Ihres Geräts herauszufinden (verwenden Sie die USB-ID-Nummer aus dem vorherigen Schritt, um das richtige Gerät in der Liste zu identifizieren). Notieren Sie sich diese Nummer.
sudo usbip bind --busid=N
usbipd
Alternativ können Sie einen systemd-Dienst erstellen:
vi /lib/systemd/system/usbipd.service
mit folgender Definition (vergessen Sie nicht, das N durch eine tatsächliche USB-ID-Nummer Ihres Geräts zu ersetzen):
[Unit]
Description=usbip-Host-Daemon
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
Und dann müssen Sie diese Befehle ausführen, um den Dienst zu starten:
sudo systemctl --system daemon-reload
sudo systemctl enable usbipd.service
sudo systemctl start usbipd.service
OK, nun richten wir einen Client ein:
Hinweis: Die App hat zwar einen Client für Windows, es handelt sich jedoch um eine instabile Betaversion ohne signierte Treiber oder Unterstützung für Windows 10, daher ist sie nicht wirklich erwähnenswert.
1. Um dieselbe App zur gemeinsamen Nutzung von USB über IP in Ubuntu zu installieren, führen Sie diese Befehle aus:
sudo -s
apt-get install linux-tools-generic -y
2. Aktivieren Sie das erforderliche Modul:
modprobe vhci-hcd
echo 'vhci-hcd' >> /etc/modules
Jetzt, um das freigegebene Gerät mit diesem Computer zu verbinden, führen Sie den Befehl aus:
sudo usbip attach -r 0.0.0.0
(Geben Sie anstelle von 0.0.0.0 die tatsächliche IP-Adresse Ihres Raspberry Pi ein)
Oder Sie können einen systemd-Dienst erstellen:
vi /lib/systemd/system/usbip.service
Mit der Definition (ersetzen Sie N durch eine tatsächliche USB-ID-Nummer Ihres Geräts und 0.0.0.0 durch die IP-Adresse Ihres Raspberry Pi):
[Unit]
Description=USB/IP-Client
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
Speichern Sie dies und führen Sie dann diese Befehle aus, um den Dienst zu starten:
sudo systemctl --system daemon-reload
sudo systemctl enable usbip.service
sudo systemctl start usbip.service
Danach sollten Sie in der Lage sein, auf das freigegebene Gerät remote zuzugreifen. Wenn nicht, versuchen Sie alle Schritte erneut von Anfang an.
Wichtig! Wenn Sie ein USB-Gerät vom Raspberry Pi abziehen, während es auf diese Weise freigegeben ist, kann dies zu dauerhaftem Datenverlust führen. Schalten Sie Ihren Raspberry Pi zuerst aus (nachdem er ausgeschaltet ist, können Sie auch den Netzadapter trennen, um zusätzliche Vorsichtsmaßnahmen zu treffen).
Den Aufbau eines drahtlosen USB-über-IP-Hubs mit einem Raspberry Pi zu realisieren, ist eine relativ einfache Übung, wenn Sie über die folgenden zwei Komponenten verfügen.
VirtualHere ermöglicht das Teilen von netzwerkgebundenen USB-Geräten. Es handelt sich um eine Lösung, mit der Sie Remote-USB-Geräte verbinden und verwenden können, als wären sie direkt mit Ihrem lokalen Rechner verbunden. Ein VirtualHere-Server ermöglicht es Ihnen, USB-Geräte wie Scanner, Drucker und Webcams von jedem Ort in Ihrem Netzwerk aus fernzugreifen.
Sie können einen Hub zur Unterstützung von USB über IP mit dem Raspberry Pi mithilfe der folgenden Schritte erstellen.
$ wget https://www.virtualhere.com/sites/default/files/usbserver/vhusbdarm
$ chmod +x vhusbdarm
$ sudo ./vhusbdarm -b
Weitere Optionen finden Sie in der Ausgabe dieses Befehls:
$ ./vhusbdarm -h
Mit dieser Methode kann jede Art von USB-Gerät über das Netzwerk verbunden werden. Die Anzahl der verfügbaren Ports stellt die einzige Begrenzung für die Anzahl der anschließbaren Geräte dar. Sie können auch einen physischen USB-Hub hinzufügen, um mehr USB-Anschlüsse zur Verfügung zu haben und zusätzliche Geräte anzuschließen.
|
|
| ||||||
---|---|---|---|---|---|---|---|---|
Proxi-Server |
Umleitungs-Server • keine Notwendigkeit für externe IP • Kommunikation in mehreren Netzwerken • funktioniert durch die Firewall hindurch |
N/A | N/A | |||||
| ||||||||
Firmware für Mikrocontroller | Raspberry Pi (auf Anfrage) | N/A | Raspberry | |||||
Sicherheit |
Login-Tokens für sicheres Konto-Sharing
Sperre zur Steuerung des Gerätezugriffs
|
N/A | N/A | |||||
Verschlüsselung | 2048-Bit SSL | SSL, nicht über GUI | SSL, für das Programm | |||||
Verbesserte Stabilität | Option zur Aufrechterhaltung der Verbindung | N/A | N/A |
Die Entscheidung, welche Methode aus den in diesem Artikel beschriebenen Methoden anzuwenden ist, liegt ganz bei Ihnen. Es könnte jedoch klüger sein, sich für ein benutzerfreundliches Werkzeug mit einer nachgewiesenen Effektivität zu entscheiden, anstatt potenzielle Ausfallzeiten zu riskieren, die zu erheblichem Stress, Zeitaufwand und finanziellen Aufwendungen führen könnten. Wählen Sie das Beste für Ihre Bedürfnisse.