Cookie
FlexiHub Team uses cookies to personalize your experience on our website. By continuing to use this site, you agree to our cookie policy. Click here to learn more.
Olga Weis Olga Weis Mar 20, 2024

Raspberry Piを使ってUSBをIP経由で共有する方法

自分自身でデバイスのセットアップを好む人々が多く、Raspberry Piはその目的に人気のあるシステムです。利用可能なRaspberry Pi DIYプロジェクトは数多くあります。この記事では、トップのソフトウェアソリューションを使用してRaspberry Pi経由でUSB over IP接続を作成することに焦点を当てています。私たちはそれらをすべてテストし比較したので、あなたのニーズに最適なものを選択できます。さらに読みたくない場合は、下のボタンをクリックしてRaspberry Pi USB over IP接続用のFlexiHubを試してみてください。

FlexiHub


Windows, macOS, Linux, Android 4.8 Rank に基づく 386+ レビュー
Raspberry Pi を使用した Ethernet 経由の USB デバイス

ご存知かもしれませんが、Raspberry PiをUSB-over-Ethernetサーバーとして設定する方法があります。実際、ここでは1つではなく3つの方法があります:100%効率的な有料アプリを使用する簡単な方法、またはオープンソースソリューションとその複雑な設定プロセスを使った険しい道のりです。これからそれら全てを見ていきましょう。

FlexiHubを使ったRaspberry PiからのUSB共有

適切なUSB-Ethernetエクステンダーソフトウェアツールを使用すると、Raspberry PiからUSBをIP経由で共有するのは非常に簡単で、USB延長ケーブル、余分なガジェットを購入したり、CAT5eやCAT6 LANワイヤーを敷設したり、USBをRS32アダプターに使用したりする必要はありません。

Raspberry PiからUSBをIP経由で共有する方法
1
ここでFlexiHubアカウントを登録し、無料のデモ期間を開始します。
 FlexiHub アカウントを登録する
2
サーバーコンピューターにアプリをダウンロードしてインストールします。
 アプリをダウンロードしてインストールする
3
Raspberryのターミナルで次のコマンドを実行します: yum install [package];
4
アプリを起動し、「Share」をクリックしてUSBデバイスを共有します。

それだけです!

その時点から、共有されたUSBデバイスは、インストールされたFlexiHubとインターネット接続を持つすべてのコンピューターから、オペレーティングシステムや物理的距離に関係なくリモートでアクセス可能になります。独自のRedirection USBサーバーのおかげで、このアプリはすべてのファイアウォールを通過し、パブリックIPアドレスを必要としない普遍的な解決策です。この方法を使用してUSBハブを共有すると、USBポートに接続されている任意の周辺機器が、追加の設定なしでリモート接続のために即座に利用可能になります。

その上、FlexiHubにはオプションのトラフィック圧縮機能があり、USBプリンターやウェブカメラのような帯域幅に敏感なUSBデバイスを共有する際に非常に役立ちます。そのため、高速1 Gbpsインターネット接続を持っていなくてもそれらを動作させることができます。そして、セキュリティカメラ、USBドングル、またはアプリで渡された任意のデータへの不要なアクセスを完全に防ぐための防弾の2048ビットSSL暗号化があります。

FlexiHubを使ったUSB共有
30日間のデモ期間

そして、このケーキの上にあるアイシングは、Ethernetを介してUSBを共有するために、Raspberry Piを永久にUSBサーバーに変える必要が本当にないということです。ドングルキー、ウェブカメラ、プリンターユニット、およびFlexiHubがインストールされたすべてのコンピューターのUSBポートに接続された他の周辺機器を共有することができ、クロスプラットフォームの接続性に問題はありません。Windowsマシンからは、COMベースの周辺機器さえも共有することができます。それは素晴らしいことではありませんか?さらに便利なことに、Wi-Fiを介して共有されたUSBデバイスにワイヤレスでアクセスする機会を得ることができます。それでオフィスに散らばるすべてのCAT5eケーブルにさようならを言うことができます。

USB over Network Raspberry Pi共有 - ビデオチュートリアル

Raspberry PiをUSB-over-IPサーバーとして設定する無料の方法

原則として、この方法は先ほど説明したものと似ていますが、異なるUSBからEthernetへの拡張アプリを介して行われます。そして、今回はまだ開発中のオープンソースソリューションを使用するため、セットアッププロセスにはある程度の技術的な能力が必要です。もしあなたがそれを持っていないなら、最初の試みでうまくいかないことに驚かないでください。

USB-over-IPサーバー

この方法を選択する前に考慮する必要があるいくつかの重要な点:

  • LAN内のUSBデバイスのみを共有できます。
  • 非LinuxマシンからUSBデバイスを共有することはできません。
  • この共有方法はUSBハブで機能しません。
  • 少なくとも100 Mbpsの接続をお勧めします。
  • 共有デバイスまでの距離が長いほど、接続が悪くなります。
  • 不正アクセスからの保護がありません。
  • トラフィック圧縮がないため、リモートカメラの画像が大幅に遅延する可能性があります。

Raspberry Piをサーバーとして設定することから始めましょう:

1
このコマンドを使用してアプリをインストールします: sudo apt install usbip
2
インストールが完了したら、必要なカーネルモジュールを追加します:
sudo modprobe usbip_host
echo 'usbip_host' >> /etc/modules
3
lsusbコマンドを使用して、Raspberry Piに物理的に接続されているすべてのUSBデバイスのリストを表示し、共有するデバイスの8桁のUSB ID番号を覚えておくか、メモしておきます。
4
usbip list -p -lコマンドを使用して、デバイスのバスIDを見つけます(前のステップでのUSB ID番号を使用してリスト上の正しいデバイスを特定します)。その番号をメモします。
5
コマンドを実行します:
sudo usbip bind --busid=N
(Nは前のステップからのバスID番号です)
6
デーモンを実行して、デバイスをUSB/IPにアタッチします: usbipd

または、systemdサービスを作成することもできます:

vi /lib/systemd/system/usbipd.service

以下の定義を持つ(デバイスの実際のUSB ID番号をNに変更してください):


[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



そして、そのサービスを開始するためにこれらのコマンドを実行します:

sudo systemctl --system daemon-reload
sudo systemctl enable usbipd.service
sudo systemctl start usbipd.service

クライアントのセットアップに移りましょう:

注意: Windows用のクライアントアプリがありますが、署名されていないドライバーやWindows 10のサポートがない不安定なベータ版であるため、本当に言及する価値はありません。

1. Ubuntuで同じアプリを使ってUSB over IPを共有するには、これらのコマンドを実行します:
sudo -s
apt-get install linux-tools-generic -y

2. 必要なモジュールを有効にします:
modprobe vhci-hcd
echo 'vhci-hcd' >> /etc/modules

共有デバイスをこのマシンに接続するには、コマンドを実行します: sudo usbip attach -r 0.0.0.0
(0.0.0.0の代わりにRaspberry Piの実際のIPアドレスを入力します)

または、systemdサービスを作成できます:
vi /lib/systemd/system/usbip.service

定義を保存し、その後、サービスを開始するためにこれらのコマンドを実行します:

[Unit]
Description=usbip 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 '<Port in Use>' | sed -E 's/^Port ([0-9][0-9]).*/\1/')"

[Install]
WantedBy=multi-user.target

保存してから、次のコマンドを実行してサービスを開始します。

sudo systemctl --system daemon-reload
sudo systemctl enable usbip.service
sudo systemctl start usbip.service

その後、共有デバイスにリモートでアクセスできるはずです。うまくいかない場合は、最初からすべてのステップを再試してください。

重要! この方法で共有されている間にUSBデバイスをRaspberry Piから抜くと、永久的なデータ損失が発生する可能性があります。最初にRaspberryをオフにし(オフにした後、余分な予防措置としてACアダプターも切断できます)。

FlexiHubを使ったUSB共有
30日間のデモ期間

USB over IP Raspberry Pi のビデオチュートリアル

Raspberry Pi と VirtualHere を備えた USB over IP ハブ

Raspberry PiとVirtualHereを使用してワイヤレスUSB over IPハブを構築するのは、以下の2つのコンポーネントがあれば比較的簡単な作業です。

  1. VirtualHere USBサーバー

  2. 動作するRaspberry Piモジュール。モジュールはPi 3以上で、Raspberry Pi OSを実行し、USBポートとWiFi機能を備えている必要があります。

VirtualHereは、ネットワーク接続されたUSBデバイスの共有を可能にします。これは、スキャナー、プリンター、ウェブカメラなどのリモートUSBデバイスを接続して、ローカルマシンに直接接続されているかのように使用できるソリューションです。VirtualHereサーバーを使用すると、ネットワーク上の任意の場所からUSBデバイスにリモートアクセスできます。

Raspberry PiのUSB over IP機能を使用してワイヤレスUSBハブを構築する方法


以下のステップでRaspberry Piを使用してUSB over IPをサポートするハブを作成できます。

  1. XRDP、SSH、またはその他の手法を使用してRaspberry Piにログインします。

  2. 次のコマンドを使用してRaspberry Pi用のVirtualHere USBサーバープラグインをダウンロードします:

    $ wget https://www.virtualhere.com/sites/default/files/usbserver/vhusbdarm

  3. chmodコマンドを使用してダウンロードしたファイルに実行許可を設定します:

    $ chmod +x vhusbdarm

  4. このコマンドを使用してVirtualHere USBサーバーをバックグラウンドで実行します:

    $ sudo ./vhusbdarm -b
    使用可能なオプションを確認するには、このコマンドを実行します:
    $ ./vhusbdarm -h

  5. ネットワークに接続されたUSBデバイスに接続するクライアントコンピューターにVirtualHereクライアントアプリケーションをダウンロードしてインストールします。

  6. これで、USBデバイスをUSBが無効化された仮想マシンに接続すると、Raspberry Piハブに表示されます。この方法では、任意のタイプのUSBデバイスをネットワーク経由で接続できます。接続できるデバイスの数にはオープンポートの数のみが制限となります。物理的なUSBハブを追加して、より多くのUSBポートを提供し、追加のデバイスを接続することもできます。



Raspberry Pi USB over IPソリューションの比較

プロキシサーバー リダイレクションサーバー
外部IPが不要
複数ネットワーク間通信
ファイアウォールを通過
なし なし
サポートされているプラットフォーム
サーバー側:
✓ Windows
✓ Linux
✓ macOS
✓ Android
✓ Linux
✓ Windows
✓ Linux
✓ Embedded
✓ Android
クライアント側:
✓ Windows
✓ Linux
✓ macOS
✓ Windows
✓ Linux
✓ Windows (beta) Mac
✓ Linux
マイクロコントローラー用ファームウェア Raspberry (要請に応じて) なし Raspberry
セキュリティ
安全なアカウント共有のためのログイントークン
デバイスアクセス制御のためのロック
なし なし
暗号化 2048ビットSSL GUIからのSSLではない プログラム用のSSL
安定性の向上 接続をアクティブに保つオプション なし なし

締めくくりの言葉


この記事で説明されている方法の中からどれを選択するかは完全にあなた次第です。しかし、潜在的なダウンタイムをリスクにして大きなストレス、時間のロス、財政的な出費につながる可能性があるよりも、実績のある効果的なユーザーフレンドリーなツールを選択する方が賢明かもしれません。あなたに最適なものを選んでください。


Top choice
FlexiHub
  • 4.8 overall rank に基づく 386+ レビュー
  • Windows, macOS, Linux, Android and Raspberry Pi.
  • 10.45MB Size.
  • Version 6.1.15025. (19/02/2024).