FlexiHub
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.
Isso é tudo!
A partir desse momento, o dispositivo USB compartilhado estará acessível remotamente a partir de todos os computadores com FlexiHub instalado e uma conexão à Internet, independentemente dos sistemas operacionais ou das distâncias físicas envolvidas.
Solução Universal:
Servidor de Redirecionamento USB: O exclusivo servidor de redirecionamento USB do FlexiHub permite que o aplicativo funcione através de todos os firewalls sem necessitar de endereços IP públicos.
Compartilhamento de Periféricos: Você pode compartilhar um hub USB para que qualquer periférico conectado às suas portas USB fique instantaneamente disponível para conexões remotas sem necessidade de configuração adicional.
Desempenho Aprimorado:
Compressão de Tráfego: O FlexiHub oferece uma função opcional de compressão de tráfego, que é particularmente útil para dispositivos USB sensíveis à largura de banda, como impressoras USB ou câmeras web. Isso significa que você não precisa de uma conexão de Internet de alta velocidade de 1 Gbps para fazê-los funcionar eficientemente.
Segurança:
Criptografia SSL: O FlexiHub fornece uma criptografia SSL de 2048 bits à prova de bala para prevenir completamente o acesso indesejado às suas câmeras de segurança, dongles USB ou quaisquer dados transmitidos pelo FlexiHub.
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.
Aqui estão mais alguns pontos importantes que você precisa considerar antes de optar por este método:
sudo apt install usbip
sudo modprobe usbip_host
echo 'usbip_host' >> /etc/modules
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.
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.
sudo usbip bind --busid=N
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).
Montar um hub USB sobre IP sem fio com um Raspberry Pi é um exercício relativamente simples se você tiver os dois seguintes componentes.
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.
Você pode criar um hub para suportar USB sobre IP usando o Raspberry Pi com as seguintes etapas.
$ wget https://www.virtualhere.com/sites/default/files/usbserver/vhusbdarm
$ chmod +x vhusbdarm
$ sudo ./vhusbdarm -b
Veja as opções disponíveis executando este comando:
$ ./vhusbdarm -h
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.
|
|
| ||||||
---|---|---|---|---|---|---|---|---|
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 | |||||
| ||||||||
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 |
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ê.