Как открыть общий доступ к папке в качестве запоминающего устройства USB (от Raspberry Pi)

13

Я хотел бы сделать что-то довольно простое ... в моей голове.

У меня есть «старая» фоторамка с USB-портом и слотом для SD-карты (но без подключения к сети), которую я хотел бы синхронизировать с сетевым хранилищем «Папка фотографий».

Так как я с нетерпением жду покупки PI, я хотел бы знать, как я мог бы достичь этого ... дешевым способом ($ и вычислительная мощность).

Моим главным предположением будет подключение обоих по USB.

Глядя на другие ответы, я обнаружил, что жесткий диск ПК служит запоминающим устройством USB и USB-адаптером WiFi, который может эмулировать виртуальное запоминающее устройство для домашнего видеопроигрывателя и на самой плате PI. Эмулировать запоминающее устройство USB.

Итак, из того, что я нашел до сих пор, у меня есть два варианта: USB-кабель «хост-хост» или адаптер Wi-Fi-USB (оба такие же дорогие, как и сам PI).

Проблема в том, что оба устройства предназначены только для Windows, и ни одно из них не позволяет выбрать конкретную папку для общего доступа.

Возвращаясь к моей цели, есть ли у кого-нибудь из вас идеи о том, как подключить оба устройства по USB?

Дополнительный вопрос: есть ли способ сделать это несколько раз на одном и том же "сервере", чтобы подключать разные папки к разным клиентам (другие фреймы / радиоприемники / ...)?

Спасибо за потраченное время на чтение моего (длинного) вопроса!

Cerber
источник
@MizukiOshiro Я буду, но из того, что я нашел, это не будет возможно из-за дизайна спецификации USB. Я разместил этот вопрос на всякий случай, если что-то пропустил
Cerber
Некоторые фоторамки имеют функцию «второго монитора», которая позволяет передавать кадры в формате JPEG с ПК на фоторамку через подчиненный порт. Я использую эту функцию для отображения сгенерированных RRDTool графиков для мониторинга моего сервера. Пример: youtube.com/watch?v=OINZfcV7EQ0
Кажется, что новая плата ввода-вывода, поставляемая с комплектом разработчика Compute Module, имеет разъем USB-слэйв ... как его заставить работать?
Козуч
1
Я знаю, что это старо, но в наше время это легко: raspberrypi.org/magpi/pi-zero-w-smart-usb-flash-drive
multithr3at3d

Ответы:

6

По сути, для протокола USB требуется, чтобы одно устройство выступало в качестве ведущего, а другие - в качестве ведомых. Соединения мастер-мастер не поддерживаются. Ведущие устройства обычно имеют разъемы A-типа: компьютеры, фоторамки, поддерживающие внешние USB-носители и т. Д. Подчиненные устройства - это типичные USB-накопители, мыши и т. Д. Master обеспечивает питание подчиненного устройства по шине USB.

Чтобы скрыть воду, спецификация USB OTG позволяет устройствам, которые ее поддерживают, вести себя как как ведущий, так и как ведомый (некоторые телефоны Android и т. Д.).

Ваша фоторамка - главное устройство, вам нужен Raspberry Pi, работающий в качестве раба. Насколько я знаю, это довольно сложно, если вообще возможно: как компьютер, Raspberry Pi поддерживает режим USB master, но, видимо, режим USB slave также должен быть возможен на некоторых устройствах. Цитирую форум, который вы упомянули в своем вопросе:

Модель B имеет встроенный 2-портовый USB-концентратор, который не знает, как действовать в качестве USB-устройства. Модель A напрямую подключает интерфейс USB процессора, который можно настроить как устройство USB или хост USB.

Очевидно, что это не сработает, пока у людей не появится модель А для разработки, а у кого-то есть талант, время, склонность и документация для написания драйвера устройства.

На модели B. должна быть возможна битовая синхронизация медленного USB-устройства через GPIO.

Все это потребует очень значительного взлома, много часов программирования / отладки. На мой взгляд, пустая трата времени.

Мое предложение: выбросьте свою фоторамку, возьмите небольшой подержанный / дешевый маленький ЖК-дисплей, подключите его к Raspberry Pi и используйте в качестве фоторамки. Намного проще, быстрее и т. Д.

haimg
источник
2
Или просто подключите существующий кадр с помощью разъемов LCD или GPIO.
Игнасио Васкес-Абрамс
По моему опыту, сопряжение LCD с помощью LVDS очень далеко от тривиального.
Haimg
Ну, в любом случае, вы оба, похоже, нашли хорошее решение моего вопроса: не тратьте время на USB-разъем :)
Cerber
Кажется, что новая плата ввода-вывода, поставляемая с комплектом разработчика Compute Module, имеет разъем USB-слэйв ... как его заставить работать?
Козуч