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 Sep 7, 2023

Como Compartilhar USB via IP com o Raspberry Pi

Muitas pessoas preferem configurar seus próprios dispositivos, e o Raspberry Pi é um sistema popular para esse fim. Existem numerosos projetos DIY para Raspberry Pi disponíveis. Este artigo se concentra em criar conexões USB sobre IP com o Raspberry Pi usando as principais soluções de software. Testamos e comparamos todas elas para que você possa escolher a melhor para suas necessidades. Se você não quiser ler mais, pode simplesmente clicar no botão abaixo e experimentar o FlexiHub para conexões USB sobre IP com o Raspberry Pi.

FlexiHub


Windows, macOS, Linux, Android 4.8 Classificação baseado em 386+ Comentários
Dispositivos USB via Ethernet com o Raspberry Pi

Como você já deve saber, há uma maneira de configurar o Raspberry Pi como um servidor USB sobre Ethernet. Bem, na verdade, não existe apenas uma, mas três abordagens que você pode seguir aqui: um caminho fácil com o aplicativo pago totalmente eficiente ou uma trajetória mais complicada com uma solução de código aberto e seu processo de configuração delicado. E estamos prestes a examinar todas elas.

Compartilhamento rápido e seguro de USB a partir do Raspberry Pi com o FlexiHub

Com o software adequado de extensão USB-Ethernet, compartilhar USB via IP a partir de um Raspberry Pi é mais simples do que parece, e você não precisará comprar cabos de extensão USB, dispositivos extras ou percorrer longos trechos de cabo LAN CAT5e ou CAT6, ou mesmo usar um adaptador USB para RS32.

Como compartilhar USB via IP a partir de um Raspberry Pi
1
Registre uma conta no FlexiHub aqui e inicie um período de demonstração gratuito.
 Registre uma conta no FlexiHub
2
Baixe e instale o aplicativo no computador do servidor;
 Baixe e instale o aplicativo
3
No terminal do seu Raspberry, execute o seguinte comando: yum install [package];
4
Inicie o aplicativo e clique em “Compartilhar” ao lado do seu dispositivo USB.

Isso é tudo!

A partir desse ponto, o dispositivo USB compartilhado será acessível remotamente de todos os computadores com o FlexiHub instalado e conexão à Internet, independentemente dos sistemas operacionais ou das distâncias físicas. Graças ao exclusivo Servidor USB de Redirecionamento, o aplicativo é verdadeiramente uma solução universal que funciona através de todos os firewalls e não requer endereços IP públicos. Você até pode usar esse método para compartilhar um hub USB, para que qualquer periférico conectado às suas portas USB esteja instantaneamente disponível para conexões remotas sem configuração adicional necessária.

Além disso, o FlexiHub possui um recurso opcional de compressão de tráfego que é muito útil ao compartilhar dispositivos USB sensíveis à largura de banda, como impressoras USB ou webcams, portanto, você não precisa de uma conexão à Internet de 1 Gbps de alta velocidade para fazê-los funcionar. E uma criptografia SSL de 2048 bits à prova de balas para evitar completamente o acesso não autorizado às suas câmeras de segurança, dongles USB ou qualquer dado transmitido pelo aplicativo.

Compartilhamento USB com o FlexiHub
Período de avaliação de 30 dias

E a cereja no bolo é que para compartilhar uma USB através do Ethernet, você realmente não precisa transformar permanentemente o seu Raspberry Pi em um servidor USB. Você pode compartilhar chaves de dongle, webcams, unidades de impressão e outros periféricos conectados às portas USB de todos os computadores com o FlexiHub instalado, incluindo seu tablet Android, e nunca ter problemas com conectividade entre plataformas. De um computador Windows, você até pode compartilhar um periférico baseado em COM. Incrível, não é? E, para maior comodidade, você terá a oportunidade de desfrutar de conectividade sem fio para acessar dispositivos USB compartilhados via Wi-Fi. Diga adeus a todos aqueles cabos CAT5e espalhados pelo escritório.

Compartilhamento USB sobre rede Raspberry Pi - tutorial em vídeo

Uma Forma Gratuita de Configurar um Raspberry Pi como Servidor USB sobre IP

Em princípio, esse método é semelhante ao que acabamos de descrever, mas através de um aplicativo de extensão USB para Ethernet diferente. E dado que desta vez estaremos usando uma solução de código aberto ainda em desenvolvimento, os requisitos do processo de configuração exigem um nível razoável de competência técnica para executar, então se você não tiver nenhum, não fique surpreso se não funcionar logo de primeira.

Servidor USB sobre IP

Aqui estão mais alguns pontos importantes que você precisa considerar antes de optar por este método:

  • Funciona apenas para compartilhamento de dispositivos USB na sua LAN.
  • Não é possível compartilhar dispositivos USB a partir de uma máquina não-Linux.
  • Este método de compartilhamento não funciona para hubs USB.
  • É altamente recomendável ter pelo menos uma conexão de 100 Mbps.
  • Quanto maior a distância até o dispositivo compartilhado, pior será a conexão.
  • Não há proteção contra acesso não autorizado.
  • Não há compressão de tráfego, portanto, uma imagem de câmeras remotas pode ter muito atraso.

Vamos iniciar o processo de configuração configurando o Raspberry Pi como servidor:

1
Instale o aplicativo usando este comando: sudo apt install usbip
2
Após a instalação ser concluída, adicione o módulo do kernel que precisaremos digitando:
sudo modprobe usbip_host
echo 'usbip_host' >> /etc/modules
3
Agora, use o comando lsusb para ver uma lista de todos os dispositivos USB fisicamente conectados ao seu Raspberry Pi e lembre-se (ou anote) o número de ID USB de oito dígitos de um dispositivo que você pretende compartilhar.
4
Use o comando usbip list -p -l para descobrir o ID de barramento do seu dispositivo (use o número de ID USB de uma etapa anterior para identificar o dispositivo certo na lista). Anote esse número.
5
Execute o comando:
sudo usbip bind --busid=N
(N é o número do ID de barramento da etapa anterior)
6
Execute o daemon para anexar o dispositivo ao USB/IP executando o comando: usbipd

Alternativamente, você pode criar um serviço systemd:

vi /lib/systemd/system/usbipd.service

com a seguinte definição (não se esqueça de trocar o N pelo número de ID USB real do seu dispositivo):


[Unit]
Description=daemon 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 então você precisará executar esses comandos para iniciar esse serviço:

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

Ok, agora vamos configurar um cliente:

Nota: O aplicativo possui um cliente para Windows, mas é uma versão beta frágil sem drivers assinados ou qualquer suporte para o Windows 10, portanto, não vale a pena mencionar.

1. Para instalar o mesmo aplicativo para compartilhar USB via IP no Ubuntu, execute estes comandos:
sudo -s
apt-get install linux-tools-generic -y

2. Habilite o módulo necessário:
modprobe vhci-hcd
echo 'vhci-hcd' >> /etc/modules

Agora, para conectar o dispositivo compartilhado a esta máquina, execute o comando: sudo usbip attach -r 0.0.0.0
(digite o endereço IP real do seu Raspberry Pi em vez de 0.0.0.0)

Ou você pode criar um serviço systemd:
vi /lib/systemd/system/usbip.service

Com a definição (substitua N pelo número de ID USB real do seu dispositivo e 0.0.0.0 pelo endereço IP do seu Raspberry):

[Unit]
Description=cliente 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

Salve e, em seguida, execute esses comandos para iniciar o serviço:

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

Após isso, você deverá conseguir acessar o dispositivo compartilhado remotamente. Se não funcionar, tente todos os passos novamente desde o início.

Importante! Se você desconectar um dispositivo USB do Raspberry Pi enquanto ele estiver compartilhado por esse método, pode resultar em perda permanente de dados. Desligue o seu Raspberry primeiro (após desligar, você também pode desconectar o adaptador AC para precauções extras).

Compartilhamento USB com o FlexiHub
Período de avaliação de 30 dias

Tutorial em Vídeo para Raspberry Pi USB sobre IP

Hub USB sobre IP com o Raspberry Pi e o VirtualHere

Montar um hub USB sobre IP sem fio com um Raspberry Pi é um exercício relativamente simples se você tiver os dois seguintes componentes.

  1. Um servidor USB VirtualHere

  2. Um módulo Raspberry Pi operacional. O módulo deve ser Pi 3 ou superior, executando o Raspberry Pi OS e estar equipado com portas USB e capacidade WiFi.

VirtualHere permite o compartilhamento de dispositivos USB conectados à rede. É uma solução que permite conectar dispositivos USB remotos e usá-los como se estivessem conectados diretamente à sua máquina local. Um servidor VirtualHere permite acessar remotamente dispositivos USB, como scanners, impressoras e webcams, de qualquer local na sua rede.

Como usar as capacidades USB sobre IP do Raspberry Pi para montar um hub USB sem fio


Você pode criar um hub para suportar USB sobre IP usando o Raspberry Pi com as seguintes etapas.

  1. Faça login no Raspberry Pi usando XRDP, SSH ou qualquer outra técnica.

  2. Baixe o plug-in do servidor USB VirtualHere para Raspberry Pi com o seguinte comando:

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

  3. Defina permissão de execução no arquivo baixado com o comando chmod:

    $ chmod +x vhusbdarm

  4. Execute o servidor USB VirtualHere em segundo plano usando este comando:

    $ sudo ./vhusbdarm -b
    Veja as opções disponíveis executando este comando:
    $ ./vhusbdarm -h

  5. Baixe e instale o aplicativo cliente VirtualHere nos computadores clientes que se conectarão a um dispositivo USB conectado à rede.

  6. Agora você pode acessar o dispositivo USB na máquina virtual desativada para USB. Quando a unidade USB estiver conectada, ela será exibida no Hub Raspberry Pi.

Qualquer tipo de dispositivo USB pode ser conectado à rede com esse método. O número de portas abertas é a única limitação para a quantidade de dispositivos que você pode conectar. Você também pode adicionar um hub USB físico para fornecer mais portas USB e permitir que você conecte mais dispositivos.



Comparação das soluções de USB sobre IP para Raspberry Pi

Proxi-server Servidor de Redirecionamento
não há necessidade de IP externo
comunicação multi-rede
funciona através do Firewall
N/A N/A
Plataformas suportadas
Lado do servidor:
✓ Windows
✓ Linux
✓ macOS
✓ Android
✓ Linux
✓ Windows
✓ Linux
✓ Embutido
✓ Android
Lado do cliente:
✓ Windows
✓ Linux
✓ macOS
✓ Windows
✓ Linux
✓ Windows (beta) Mac
✓ Linux
Firmware para microcontroladores Raspberry (mediante solicitação) N/A Raspberry
Segurança
Tokens de login para compartilhamento seguro de contas
Bloqueio para controle de acesso ao dispositivo
N/A N/A
Criptografia SSL de 2048 bits SSL, não pela GUI SSL, pelo programa
Estabilidade aprimorada Opção de manter a conexão ativa N/A N/A

Conclusões


A decisão de qual método adotar dentre os descritos neste artigo é inteiramente sua. No entanto, pode ser mais sábio optar por uma ferramenta amigável ao usuário com histórico de eficácia, em vez de arriscar possíveis períodos de inatividade, o que poderia levar a um estresse considerável, perda de tempo e despesas financeiras. Escolha o que funciona melhor para você.


Melhor escolha
FlexiHub
  • 4.8 overall rank baseado em 386+ Comentários
  • Windows, macOS, Linux, Android e Raspberry Pi.
  • 10.45MB Tamanho.
  • Versão 6.1.15025. (19/02/2024).