[LINUX] USB über Ethernet mit Raspberry pi

Einführung

Ein zusammenhängender Artikel darüber, wie Sie ** mehrere ** USB-Geräte über ein Netzwerk mit ** kostenlos ** (ohne Lizenzgebühren) über USB / IP (universelle serielle Buserweiterung über IP-Netzwerk) gemeinsam nutzen können. Ich hatte es nicht, also habe ich es geschrieben.

Es ist jedoch ein persönliches Memo, daher würde ich es begrüßen, wenn Sie es als Referenz sehen könnten.

Bild von dem, was Sie tun möchten

Schließen Sie ein Gerät wie einen USB-Speicher an Raspai an und tauschen Sie die Informationen über ein kabelgebundenes LAN mit anderen PCs aus.

Ähnliche Technik

Ähnliche Techniken umfassen ** VirtualHere ** und IO-DATA ** net.USB **. ** Virtual Here ** kann in der kostenlosen Version gleichzeitig bis zu 1 Gerät verwendet werden. Um eine zusätzliche Verbindung zum Netzwerk herzustellen, können Sie nicht mehrere Geräte binden, ohne eine Lizenzgebühr von fast 50 USD pro Gerät zu zahlen. Es ist sehr einfach einzurichten. Wenn Sie also nur ein Gerät zum Teilen haben, ist dies in Ordnung. ** net.USB ** ist ein Produkt für die Netzwerkfreigabe, daher kostet die Installation natürlich Geld und ist nicht mit Linux kompatibel.

Also habe ich es dieses Mal mit ** freier und offener Technologie versucht, die kein Geld kostet **.

Umgebung

server | Raspberry Pi 3 Model B, Raspbian GUN/Linux 10 client | Ubuntu 18.04.05 LTS Die Kommunikation erfolgt über einen Router und ein kabelgebundenes LAN.

Was ist USB / IP

Das Produkt eines Projekts zur Freigabe von USB-Geräten über ein IP-Netzwerk. Es wurde von NAIST entwickelt um 2007 und wurde unter Linux 2.6.38 in den Kernel integriert.

Das USB / IP-Projekt zielt darauf ab, ein universelles USB-Gerätefreigabesystem über ein IP-Netzwerk zu entwickeln. Um USB-Geräte für Computer freizugeben, kapselt USB / IP "USB-E / A-Nachrichten" in TCP / IP-Nutzdaten und kommuniziert zwischen ihnen. ArchWiki

Bitte lesen Sie die Referenz-URL für Details.

Wie benutzt man

Um das Gerät zu verbinden, binden Sie es mit dem Server (raspi) und verbinden Sie es dann mit dem Client (ubuntu). Um es zu entfernen, trennen Sie es vom Client und trennen Sie es dann vom Server.

Erläuterung der Begriffe

Es kann nicht genau sein, weil es mein Bild ist. ** bind ** | Um auf der Serverseite teilen zu können. Auf dem Server scheint das Gerät beim Binden nicht verbunden zu sein. ** Anhängen ** | Mounten Sie ein Gerät, das auf der Clientseite gemeinsam genutzt (gebunden) werden kann. ** abnehmen ** | Zum Aufhängen des angeschlossenen Geräts. Überprüfen Sie den Port und geben Sie den Port an, damit das Gerät getrennt werden kann (die Methode wird später beschrieben).


installieren

Sie müssen es nur beim ersten Mal ausführen.

Server auf Raspberry pi einrichten

Einstellungen, die mit Raspeye vorgenommen werden sollten. Die Einstellung auf der Himbeer-Pi-Seite ist feste IP,

$ sudo apt install usbip

Es ist ziemlich einfach, durch Schlagen oder Googeln zu tun, also lass es weg. Ich habe vor, es bald hinzuzufügen.

Client-Setup unter Ubuntu 18.04

Einstellungen, die in Ubuntu vorgenommen werden sollten. Für USB / IP muss Port 3240 im Voraus geöffnet werden. Öffnen Sie den Port mit ufw.

$ sudo ufw allow 3240/tcp 
$ sudo ufw enable
$ sudo ufw reload

USP / IP befindet sich in einem Paket namens linux-tools-generic. Installieren Sie es daher mit apt.

$ sudo apt install hwdata linux-tools-generic

Befehle, die Sie normalerweise auf dem Server verwenden

Die Befehle, die auf der Himbeer-Pi-Seite ausgeführt werden müssen, sind unten aufgeführt. Dieses Mal ist die im Experiment verwendete IP von Himbeer-Pi auf 192.168.0.161 festgelegt. bind Freigabe auf der Serverseite zulassen. Auf dem Server scheint das Gerät beim Binden nicht verbunden zu sein.

$ ​sudo modprobe usbip_host
$ usbip list -l

// Überprüfen Sie die Auslastung des Kernelmoduls und die Auslastung (= ?????) des Geräts, das Sie binden möchten

$ sudo usbip bind -b ?????(ex.1-1.2)
$ sudo usbipd -D

// Geben Sie die Bus-ID und die Bindung an und starten Sie den Daemon. unbind Trennen Sie (später beschrieben) den Client und geben Sie die Bindung frei.

$ sudo usbip unbind -b ?????(ex.1-1.2)

Befehle, die normalerweise vom Client verwendet werden

Die Befehle, die auf der Ubuntu-Seite (Haupt-PC) ausgeführt werden müssen, sind unten aufgeführt. attach Hängen Sie das Gerät, das sich in einem gemeinsam nutzbaren Zustand befindet (Binden), auf der Clientseite ein.

$ sudo modprobe vhci-hcd
$ /usr/lib/linux-tools/$(uname -r)/usbip list -r 192.168.0.161(Diese IP ist von Razpai)

// Überprüfen Sie die Auslastung des Kernelmoduls und die Belegung (= ?????) des Geräts, das Sie binden möchten. // Sie können $ (uname -r) in den Pfad mit Tab-Vervollständigung eingeben.

$ sudo /usr/lib/linux-tools/$(uname -r)/usbip attach -r 192.168.0.161 -b ?????(ex.1-1.2)

detach Hängen Sie das angeschlossene Gerät aus. Überprüfen Sie den Port und geben Sie den Port an, damit das Gerät getrennt werden kann.

$ /usr/lib/linux-tools/$(uname -r)/usbip port

// Finde den Port (= ??) des Geräts heraus, das du trennen möchtest

$ sudo /usr/lib/linux-tools/$(uname -r)/usbip detach -p ??(ex.00)

// Port angeben und Trennen durchführen.


Die ungefähre Verwendung ist wie folgt. Übrigens ist der Teil bis / usr / lib .... / usbip möglicherweise einfacher zu verwenden, wenn Sie beispielsweise symbolische Links verwenden.

Referenz

Recommended Posts

USB über Ethernet mit Raspberry pi
Innenüberwachung mit Raspberry Pi
Versuchen Sie es mit ArUco mit Raspberry Pi
Verwenden einer Webkamera mit Raspberry Pi
Schließen Sie zwei USB-Kameras an Raspberry Pi 4 an
Erkennen Sie "Helligkeit" mit Python auf Raspberry Pi 3!
USB-Boot auf Raspberry Pi 4 Model B.
Verwenden Sie OpenJtalk, damit Raspberry Pi Japanisch spricht
Lassen Sie einen Servomotor mit Python auf Raspberry Pi 3 laufen
Ermitteln Sie die Temperatur mit Python auf Raspberry Pi 3!
Erkennen Sie Schiebeschalter mit Python auf Raspberry Pi 3!
Versuchen Sie, QR-Code mit Raspberry Pi zu verwenden
Erkennen Sie Magnetschalter mit Python auf Raspberry Pi 3!
Automatischer Start von Raspberry Pi-Programmen mit Systemd
Senden Sie Daten von Raspberry Pi mit AWS IOT
Lassen Sie den Summer mit Python auf Raspberry Pi 3 erklingen!
Erstellen Sie ein Besuchermeldungssystem mit Raspberry Pi
Verbinden Sie Ihren Raspberry Pi mit Blynk mit Ihrem Smartphone
Maschinelles Lernen mit Raspberry Pi 4 und Coral USB Accelerator
Erstellen Sie mithilfe von Poetry eine OpenCV4-Umgebung auf Raspberry Pi
Erstellen Sie einen Farbsensor mit einem Raspeltorte und einer Kamera
Verwendung des digitalen Beleuchtungsstärkesensors TSL2561 mit Raspberry Pi
Was ist Raspberry Pi?
GPGPU mit Raspberry Pi
Mit Akizuki Denshis 4WD Auto FT-MC-004 mit Raspberry Pi
Überwachen Sie die Temperatur mithilfe der Cloud-IoT-Plattform Raspberry Pi + Alibaba
Pigpio auf Himbeer-Pi
Versuchen Sie es mit dem Temperatursensor (LM75B) mit Raspeye.
Raspberry Pi Videokamera
Raspberry Pi Schlechtes Wissen
Lass uns Raspberry Pi machen?
USB-Boot mit Raspberry Pi 4 Modell B (3) LVM Edition
Steuern Sie das Ein- und Ausschalten des USB-Anschlusses des Raspberry Pi
DigitalSignage mit Raspberry Pi
Raspberry Pi 4 Setup-Hinweise
Ausgabe auf "7 Segment LED" mit Python mit Raspberry Pi 3!
Cython auf Raspberry Pi
Zeigen Sie das Bild der USB-Kamera mit OpenCV von Python mit Raspeye an
Cross-Compilierung für Raspberry Pi Zero unter Debian-Try unter Verwendung einer gemeinsam genutzten Bibliothek
Verwenden Sie Python auf Raspberry Pi 3, um "Temperatur (mit A / D-Wandler)" zu erkennen!
Zugriff auf Google Spreadsheets Verwenden von Python mit Himbeer-Pi (für sich selbst)
Ich habe versucht, [eine bestimmte Aufgabe] mit einem Raspeltorte zu automatisieren
Überprüfen Sie! Lassen Sie uns Raspberry Pi Zero aus der Ferne entwickeln - versuchen Sie es mit Arafruit WebIDE
So erhalten Sie die Temperatur vom SwitchBot-Thermo-Hygrometer mit Himbeer-Pi
Aufbau einer Cortex-M-Entwicklungsumgebung für TOPPERS mit Raspeye
Holen Sie sich das Wetter mit API und lassen Sie Raspberry Pi sprechen!
Mutter pflanzt mit Raspberry Pi
Installation von Raspberry Pi OS (Raspbian)
Ich habe mit Raspberry Pi gesprochen
Einführung von PyMySQL in Himbeer-Pi3
Raspeye + Python + OpenGL-Memo
Raspbian Grundeinstellungen (Raspberry Pi 4)
Himbeere pi 1 Modell b, Python
Pyenv auf Raspberry Pi eingeführt
Verwenden Sie NeoPixel mit Himbeerkuchen
Installieren Sie OpenCV4 auf Raspberry Pi 3
Installieren Sie TensorFlow 1.15.0 auf Raspberry Pi