Como compartilhar uma pasta como um dispositivo de armazenamento em massa USB (de um raspberry pi)

13

Eu gostaria de fazer algo bem simples ... em minha mente.

Eu tenho uma moldura "antiga" com uma porta USB e um slot para cartão SD (mas sem rede) que gostaria de manter em sincronia com a minha "Pasta de fotos" do NAS

Como estou ansioso para comprar um PI, gostaria de saber como conseguir isso ... de uma maneira barata (US $ e poder de computação).

Meu palpite principal seria conectar os dois no USB.

Olhando para outras respostas, encontrei Servir o disco rígido do PC como dispositivo de armazenamento em massa USB e dongle USB WiFi que pode emular um dispositivo de armazenamento virtual em massa para um reprodutor de vídeo doméstico e na própria placa PI Emular dispositivo de armazenamento em massa USB

Então, pelo que descobri até agora, tenho duas opções: um cabo USB host a host ou um adaptador Wifi a USB (ambos tão caros quanto o próprio PI)

O problema é que ambos os dispositivos são apenas Windows e nenhum parece permitir selecionar uma pasta específica para compartilhar.

Voltando ao meu objetivo, algum de vocês tem uma idéia de como conectar os dois no USB?

Pergunta bônus: existe uma maneira de fazer isso várias vezes no mesmo "servidor" para conectar pastas diferentes a clientes diferentes (outros quadros / rádios / ...)?

Obrigado pelo tempo gasto lendo minha (longa) pergunta!

Cerber
fonte
@MizukiOshiro, mas, pelo que encontrei, isso não será possível devido ao design da especificação USB. Eu postei esta questão apenas no caso de eu perdi alguma coisa
Cerber
Algumas molduras para fotos possuem um recurso de "segundo monitor", que permite enviar quadros codificados em JPEG do PC para a moldura através da porta escrava. Eu uso esse recurso para exibir gráficos gerados pelo RRDTool para o monitoramento do meu servidor. Exemplo: youtube.com/watch?v=OINZfcV7EQ0
A nova placa IO fornecida com o Compute Module Development Kit parece ter um conector escravo USB ... como alguém pode fazê-lo funcionar?
Kozuch
1
Eu sei que isso é antigo, mas hoje em dia é fácil: raspberrypi.org/magpi/pi-zero-w-smart-usb-flash-drive
multithr3at3d

Respostas:

6

Basicamente, o protocolo USB requer que um dispositivo atue como mestre e outros como escravos. As conexões mestre-mestre não são suportadas. Os dispositivos mestres geralmente possuem conectores do tipo A: computadores, molduras que suportam mídia USB externa, etc. Os escravos são seus pendrives, mouses, etc.

Para nuvem de água, USB OTG especificação permite que os dispositivos que o suportam a se comportar tanto como um mestre e como um escravo (alguns celulares Android, etc.).

Sua moldura é um dispositivo mestre; você precisa do seu Raspberry Pi como escravo. Até onde eu sei, é bastante complicado, se possível: como um computador, o Raspberry Pi suporta o modo mestre USB, mas aparentemente o modo escravo USB também deve ser possível em alguns dispositivos. Citando o fórum que você mencionou na sua pergunta:

O modelo B possui um hub USB de 2 portas embutido, que não sabe como agir como um dispositivo USB. O modelo A conecta diretamente a interface USB do processador, que pode ser configurada como um dispositivo USB ou host USB.

Obviamente, isso não funcionará até que as pessoas tenham o Modelo A para desenvolver e alguém tenha o talento, o tempo, a inclinação e a documentação para escrever o driver de dispositivo.

Bater um dispositivo USB de baixa velocidade sobre GPIO deve ser possível no modelo B.

Tudo isso exigirá hackers muito significativos, muitas horas de tempo de programação / depuração. Na minha opinião, perda de tempo.

Minha sugestão: jogue fora sua moldura fotográfica, obtenha um pequeno monitor LCD de segunda mão / barato, conecte-o ao seu Raspberry Pi e use-o como moldura. Muito mais fácil, mais rápido etc.

haimg
fonte
2
Ou apenas faça a interface da tela do quadro existente através dos conectores LCD ou GPIO.
Ignacio Vazquez-Abrams
Pela minha experiência, a interface de LCDs via LVDS está muito longe de ser trivial.
haimg
Bem de qualquer maneira, ambos parecem manter a boa solução para a minha pergunta: não perca tempo com o conector USB :)
Cerber
A nova placa IO fornecida com o Compute Module Development Kit parece ter um conector escravo USB ... como alguém pode fazê-lo funcionar?
Kozuch