Как стать автором
Обновить

Комментарии 100

Круто, не знал, что такое можно делать на ESP32.

Делал аналогичное на Pi Zero для подключения к фоторамке, работало без проблем

Если речь о Raspberry Pi Zero, то его цена вызывает большую боль, чем скорость работы проекта на ESP32) Вообще смотришь и думаешь, как так-то:
Raspberry Pi Zero - 5500р
Комплект Xeon E5 2620 + Материнка + 16 Гб DDR4 - 6700р
Хм))

А если речь об Orange Pi Zero или Banana, то все равно дороговато, хоть уже и получше.

не забывайте, что были времена, когда Raspberry Pi Zero стоила около 1000 руб и даже дешевле

Xeon E5 2620 + Материнка + 16 Гб DDR4 - 6700р

Зеон разве не ddr3 память? Или китайцы заставили переваривать ddr4?

Там Xeon E5 2620 v3, он как раз на DDR4

У меня интереснее размышления вышли.
core 2 duo -есть бесплатно и его хватает.
Raspberry Pi надо покупать.
Казалось бы выбор очевиден. Но с2d жрёт 70вт(материнка не хочет запускаться без видеокарты, хотя по докам может) за год получается 3000р. И вот думаю что наверно стоит прикупить Raspberry Pi

Рекомендую покупать Orange Pi. Лучшие одноплатники в соотношении цена-производительность. Себе брал модель Orange Pi 3 LTS (за 2.5к), 2 gb ram, процессор Allwinner H6. Поддерживает armbian, ставишь docker и поехали.

Мне для homeassistant. Он малинку поддерживает из коробки. Докер тоже можно, но это разбираться надо и функционал меньше.

А стоило изобретать велосипед?
Я бы взял нормальный эмулятор exFAT из проекта Azure RTOS. Выполнил бы в Visual Studio на PC форматирование в RAM, и писал бы и отдавал сервером файлы любого размера.

Подозрительно низкая скорость у ESP32, возможно дело во все том же отсутствии RTOS.

exFAT брать не стал по той причине, что если проект использовать на старых устройствах, которые сами не умеют WiFi, то скорее всего они не умеют и exFAT, насколько я помню, долгое время это был закрытый стандарт, пока хакеры не украли часть кода для работы с ним у одного гиганта, случайно не обнаружили в нем части открытого кода и не заставили этого гиганта сделать весь код открытым.

А что касается записи в RAM - так бывают файлы и поболее всей RAM) И я как раз хотел избежать ручной работы. В моей текущей схеме как, можно сделать так, чтобы при подключении устройства к серверу, сервер будет каждый раз создавать новый образ из это займет секунду времени. Т.е. чтобы обновить данные достаточно сделать выкл-вкл ТВ и все, свежескачанные файлы тут же появляются на флешке.

А не писал про запись в RAM, а сказал о форматировании в RAM. Думал понятно что делать дальше. Такое форматирование займёт доли секунды. В Azure RTOS эмулируется и FAT32, это зависит лишь от опций компиляции.

Ну у меня сейчас в принципе так и делается, в памяти хранится только таблица FAT и кластеры каталогов. Для 229Гб раздела требуется мегабайт 70 оперативки + с оптимизацией которую я сделал на самой плате, можно отказать от хранения в памяти таблицы FAT и это уменьшит потребляемую память до копеек.

Ну что-бы получилась настоящая вай-фай флешка (которые кстати есть) надо еще подцепить микросд и что б она подключалась к роутеру. И работала в овдт.

А можно ссылочку на "есть"? Интересно пощупать.

Супер, спасибо. Только это противоположное тому, что предлагает автор, нет?

Файлы не берет с сервера. Т.е. имеет только свою память. Во многих сценариях использования этого должно хватить. Для просмотра фильмов, взамен DLNA, это не подходящий вариант.

Пользуюсь вот такой FYSETC SD-WIFI with Card-Reader Module.

https://www.aliexpress.com/item/4001119021440.html?spm=a2g0o.store_pc_allProduct.8148356.2.6dfa38edgImIL8&pdp_npi=2%40dis!CAD!C%24 22.61!C%24 19.67!!!!!%402101e9d316624569400403454ee3cf!10000014541801055!sh

Проект открытый, исходники - https://github.com/ardyesp/ESPWebDAV

Со слабым сигналом скорость СИЛЬНО падает.

А ещё есть ezSh@re. И Flash-Air SD от Toshiba

Супер, спасибо. Только это противоположное тому, что предлагает автор, нет?

А не подскажете как оно в работе, и нет ли такого же с разъемом микро сд, в 3д принтер запихать? Про переходники - видал конечно ...

У меня есть такое же. Да, оно работает, есть micro sd, но работает крайне медленно, сотые доли килобит в секунду.

И да, это устройство работает наоборот, чем у автора поста, поднимает самба-шару.

Но мне понравился пост, потому что именно так было бы интереснее всего сделать, и спасибо за то что исходники лежат на гитхабе, можно для такой флешки будет что то соорудить (в моем случае попытаться)

Как раз в 3D принтере FYSETC использую, ezSh@re мой притер не видел правильно. Размер устройства по длине больше стандартной SD карточки. У меня между столом и верхним краем карты миллиметров 5 осталось. Как хранилище используется стандартная micro-SD.

Крайне чувствительна(выражается в скорости обмена) к качеству Wi-Fi. Диапазон только 2.4 ГГц. Мне, для получения скорости в сотни мегабит, пришлось разворачивать дополнительную сеть и ставить роутер в трёх метрах от принтера.

Надёжна, подключается стабильно.

Большой недостаток - отсутствие часов, все файлы имеют одинаковое время создания.

Что то заказал, посмотрю... Исходники же есть, реально туда NTP воткнуть?

А что оно реально умеет? И пару сценариев применения, если можно.

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

что за бред?
c вики:
exFAT is the official file system of SDXC cards
что подразумевает, что стандарт был публичным; любое устройство с маркировкой sdxc обязано уметь работать с exfat.
проблема была не в том, что хакеры не украли код, а с возможностью легально использовать extfat без выплаты лицензионных отчислений ms, опять же с вики:
Regardless of whether open-source or not, Microsoft stated that "a license is required in order to implement exFAT and use it in a product or device".


в 2019 ms сменила гнев на милость:
exFAT was a proprietary file system until 2019, when Microsoft released the specification and allowed OIN members to use their patents.

Еще немножко производительности можно выжать добившись 100% заполнения TCP пакетов-для этого надо читать значение MTU, рассчитать накладные расходы и запрашивать данные кратно остатку. В принципе через WireShark можно предварительно проверить проблема ли это или нет.

Я бы ещё порекомендовал тем же WireShark измерить время отклика на команды и весь обмен по сети, может из за большого пинга коротких команд и ожиданий таких же коротких ответов на них и получились такие просадки по скорости.

Все эти проблемы решает windowing, зачем изобретать велосипед?

В телевизорах,USB "Ничего лишнего, только сервис" очень часто этот разъем становится полноценным по мановению волшебной палочки. в старых LG (~2012 г.в.) было точно можно, до сих пор работает с внешним винтом и прекрасно крутит 1080p.

Была пара устройств не умеющие в сеть, но которые очень хотели файлов, решением стало rpi4, она отлично прикидывается флешкой, а дальше все просто, подал питание (POE), примонтировал NFS и прикинулся флешкой.

ЗЫ: Там есть пара нюансов, но проблем они не доставили.

Если посмотреть сколько сейчас стоит rpi4, то можно обнаружить что за эту сумму можно купить бу телек со всеми нужными фичами

На известном китайском сайте не сильно дорого, в районе 7к на данный момент

Всё равно дорого, espшка стоит 200р, совсем другой порядок цен. Ну и в целом есть альтернативы, подороже esp, но с полноценным USB 2.0 и приличным процом и объемом памяти, чтобы жевало хотя бы те 10-20 мбит для приличного fullhd.

Зачем колхозить лишние провода? Есть же T-Dongle ESP32-S2 WiFi development board.

Мне кажется это довольно дорого для ESP32. Тогда уж можно взять Orange Pi I96, у неё вроде тоже OTG заявлено, не знаю насколько это будет работать.

Да, дороговато но там ведь не только есп32с2 а ещё всякое есть + вообщем то законченный корпус.

Как вариант использования - закидывать на флешку музыку (если автомобиль рядом с домом).

Так ведь содержимое такой "флешки" обнуляется при пропадании сигнала.

Подключить флешку к флешке, чтобы с флешки закидывать файлы на флешку.

файл для передачи его нужно копировать в образ

Более того, нельзя изменять образ, пока флешка воткнута в хост. Это известные недостатки протокола Mass Storage. А насколько сложно будет реализовать MTP? Это намного практичнее

MTP не будут поддерживать старые устройства.

Отличная штука для стартапа.

Если ее можно будет сделать загрузочной, то для сисадминства это просто шикарно. Надо на новый чистый комп поставить что-то - воткнул и загружайся. Надо доложить какие-то драйвера - пока винда ставится, скачал и на шару закинул, не вынимая.

Я бы купил две.

Надо доложить какие-то драйвера — пока винда ставится, скачал и на шару закинул, не вынимая

а оно не глюканёт от такого «теневого» доступа к монопольному ресурсу?
помнится давно, во времена дискет, я неудачно заменил дискету в дисководе, а dos, не прочухав этот момент, скинул на новую дискету буфера с FAT-ом от прежней дискеты (причём я по-моему даже ничего не редактировал. Оно само. Просто вставил новую дискету, набрал «dir» и увидел прежнее содержимое, которое, к сожалению оказалось не глюком чтения, а глюком записи). В результате получилось две дискеты с одинаковым списком файлов, но только на одной из них файлы содержали мусор из «нарезки» прошлой жизни содержимого дискеты.

со времен дос софт не лазит за файлами сам, а делает через API операционной системы. По сети ты же тем же API будешь данные на диске менять.
В досе у вас просто закешировался FAT (для ускорения чтения).

Я это понимаю. Но флешка, на которую можно «закинуть файлы, пока с этой же флешки ставится винда», работает в обход операционной системы, которая думает, что владеет этим устройством монопольно. а потому запросто возможны похожие глюки, что я описал выше.

msc это ж не только флэшка, может быть и cdrom. Если прикидываться сидюком то вполне все уживется без глюков.

Сидюк в момент открытия лотка подаёт сигнал размонтирования. Если флешка в момент докладывания на неё файлов по wifi, будет подавать сигнал «извлечения устройства», то глюков не будет.
Но тогда не получится докинуть драйвера пока с этой же флешки ставится система.

Если флешка ... будет подавать сигнал «извлечения устройства»

Первый кто впадет в ступор это будет драйвер операционки т.к. состояние/команда извлечение для данного типа не предусмотрено. Ну а дальше - останов usb устройства.

Т.е. что бы ось корректно обрабатывала команды извлечения диска микроконтроллер должен прикидываться msc типа сидюк, с соответствующей реализацией протоколов и дескрипторов на стороне контроллера. И вот тут затык, т.к. я конечно особо не искал, но во всех библиотеках что я видел обычно реализован msc типа hdd/flash.

Ну так то флешка по своей сути removable device. И даже если оно не может само подать сигнал что его хотят извлечь (хотя с моей точки зрения на флешке вполне логично было бы иметь кнопку eject, нажав на которую, и подождав загорания какого-нить зелёного светодиода, можно было бы её безопасно вытащить. Вместо того, чтобы тыкать мышой в трее в поисках пункта «безопасное извлечение». Ну нет, так нет..).
Так вот, т.к. Флешка по своей природе может быть без спроса выдернута пользователем в любой момент, то в принципе она может «съэмулировать» извлечение, кратковременно электрически отсоединившись от порта usb. Да, не совсем красиво, и возможно похерятся какие-то несохранённые кэши записи в ОС, но после повторного монтирования, буферные кэши на чтение просто обязаны будут сброситься, и станет возможно корректно читать только что изменённые через wifi файлы.

«съэмулировать» извлечение, кратковременно электрически отсоединившись от порта usb.

Тут опять вопрос чего реализовано в системе, сбросит ли она кэш после кратковременного извлечения или нет.

А это кстати идея, тогда снимается куча вопросов про синхронизацию записи. Для предоставления большего объема можно вообще прикидываться blueray приводом. И кстати для пущего удобства удаленного управления доступа к файлам можно в корне диска создать виртуальную папку "!Remote" с вложенными папками "!Previous" и "!Next" при входе в которые проводится извлечение текущего диска Virtual BR и примонтирования нового.

С папками так не получится, т.к. флешка не будет знать, что кто-то вошел в папку. То, что кто-то читает содержимое папки, не значит, что в неё вошли, может просто устройство ищет все медиафайлы и будет всегда во все папки заходить при подключении. А вот с файлами так можно, сделать фейковые видео файлы "!Previous.mp4" и "!Next.mp4" и при его открытии уже перемонтировать другой диск. Но тут может быть постава в том, что устройство может захотеть показать превьюшку у видео и начать его читать сразу, а не когда оно будет запущено.

А причем тут флешка? Речь же о сидироме. Т.е. я так понимаю микроконтроллер прикидывается сидюком и при попытке открытия соответствующих файлов пытается сделать eject и повторную монтировку нового образа.

Принцип работы то тоже самый, файловая система и сектора, которые читаются.

И? Ось по идее при получении инфы о том что в сидюк вставлен новый носитель автоматом перечитывает содержимое диска. Суть в том что для флэшек подобные команды/статусы (аля выброс лотка сидирома) не предусмотрены.

Ну так и у флешки тоже самое, она может отключится, как USB устройство и потом снова подключиться. Суть то не этом, а в том, что невозможно определить, когда пользователь откроет определенную папку. Устройство может заранее захотеть прочитать содержимое папки, чтобы определить размер или какой тип файлов там находится. Или вообще сначала вычитает полностью всю структуру файлов и папок а потом уже только покажет содержимое пользователю. Более надежно сделать такой переход не по папкам "!Previous" и "!Next" а по файлам "!Previous.mp4" и "!Next.mp4", хотя это тоже не панацея.

работает в обход операционной системы

Это как?
Драйвер файловой системы, даже если он работает через инсталлятор, это драйвер файловой системы, который должен отрабатывать разные моменты.

Да, редактировать файл, который сейчас правит кто-то другой, будет вызывать проблему. Но добавление новых файлов - ломать ФС не должно

Если ОС работает в монопольном режиме с устройством, то эта ОС вправе считать, что все изменения на устройстве проходят через эту ОС. И тогда ОС вправе закэшировать себе таблицу расположения файлов (для краткости будем называть её fat) и больше никогда физически её с устройства не читать.
Но! Т.к. У нас не простая флешка, а флешка, которая может писать на себя «с чёрного хода» так сказать, т.е. Не через драйвера ОС, а напрямую. То положив туда новый файл, флешка должна модифицировать fat. Но ОС об этом не знает. Она закэшировала fat и думает что само оно неизменится и поэтому простр не будет делать повторного чтения fat (ибо зачем?)
и самый прикол будет, когда ОС захочет что-то сама записать. И конечно она опять не будет перед этим читать fat (ибо зачем? Он ведь в кеше и не должен сам изменяться). Поэтому ОС сделает нужные изменения в fat прямо у себя в кеше и сбросит их на запись (перетерев все изменения, что были «с чёрного хода».) т.е. Произойдёт примерно тоже самое что и в моём посте про две дискеты.
Кактотак

Как раз вот так использовать будет нельзя, к сожалению. Менять содержимое флешки на лету нельзя, только с переподключением. Точнее можно, но только в определенных рамках: нельзя менять список файлов, а содержимое файлов можно менять только сохраняя размер файла заявленный изначально и только при условии, что файл ещё не читали.

Потому что кеш не у флешки, а у того устройства, которое её будет читать, и флешка им управлять не может

но на самом деле никакая она не флешка, она просто эмулирует файловую систему, а файлы берет по WiFi с сервера. Но зачем? Да, на самом деле, и не зачем.

На этом месте где-то далеко в Поднебесной усмехнулся дядюшка Сяо, уже мысленно впаривший глупым ляоваем партию десёвый сисиди на многа-многа питабайт - бери проверяй сам, все без абмана! ;)

Идея смахивает на "бесконечную флешку" Алексея Чуркина
Шуму в свое время было много (2015 год), президентский грант и ссе такое.
Вроде как даже выпустили опытную партию этого чуда. Но я что-то до сих пор не видел этого девайса в продаже.
Идея благополучно затухла.
"...спустя пару лет Чуркин отказался развивать устройство дальше, сославшись на то, что все пользуются облачными дисками от Dropbox и Google..."

Скорее похоже на https://en.wikipedia.org/wiki/Eye-Fi

А "бесконечная флешка Алексея Чуркина" это самый обычный аппаратный токен для доступа к облаку (я, кстати, так и не понял, в чём "инновация", в Гугл.Диск с помощью YubiKey можно было логиниться за год до того, как эта "бесконечная флешка Алексея Чуркина" только в идеях и презентациях была)

В статье же устройство эмулирует usb-флешку, и имеет собственную связь с сетью.

Инновация в том, что на комп (как правило, не твой) не нужно инсталлировать облачные драйвера, тупо пришёл к любому кому, воткнул свою чудо-флешку - и у тебя новый раздел с твоими файлами.

Нужно инсталлировать.

Во второй версии "Бесконечной флешки" я уже использовал WebDav для эмуляции девайса, а так вы правы, устройства сильно отличаются по принципу работы, для моей нужен был интернет

Да вы правы, проект пришлось закрыть, идея автора поста мне нравится, реализация отличается и выглядит прикольно

Любопытно, а можно ли сделать флешку (с флеш памятью на борту), которая при вставлении в USB будет распознаваться не как обычный съёмный накопитель, а как сетевой диск?

Технически можно, если она сумеет сэмулировать RNDIS.

У меня какой-то 3g модем так умел. Показывал на таком диске свой софт.

3g модемы обычно эмулировали из себя CD-ROM, с которого ставились драйвера. Сетевой диск они не изображали. Да и в целом, сетевым адаптером они начали прикидываться только с переходом на 4G — до этого были другие методы взаимодействия.

Нет, на винде он именно как сетевой диск показывался, это я точно помню.

Там внутри такое… Там внутри такое! Там внутри такое!!! Я не буду говорить, что там внутри никому, кроме своего психотерапевта, а т.к. его у меня нет, то вообще никому. Но эта информация открыта, её можно легко найти в сети, если есть такое желание. Особенно доставляет то, как там сделана поддержка длинных имен файлов, это настолько ублюдство, что даже великолепно. Но важно понимать, что перед людьми, придумавшими это, стояла важная задача — сохранить совместимость с устройствами и программами, которые знать не знали ни о каких длинных именах файлов и важно было, чтобы потом из-за этого изменения не потерялись важные файлы на тысячах компьютеров по всему миру, поэтому вариантов у разработчиков было не много.
Хе-хе, уважаемый автор забыл или не знал старую шутку времен win95, что прогрессивная ФС VFAT с поддержкой LFN настолько прогрессивна, что в ней у каждого файла есть два имени.
А до появления нормальных NU под Win95, народ регулярно грохал длинные имена запустив Speed Disk. Да, в win95 были ScanDisk и Defrag, но первый мог вешаться на ровном месте при проверке ФС до старта ОС, а второй был тормознутым, и считал множество файлов неперемещаемыми.

В те времена я учился в школе, и для меня было магией, что там происходит внутри ScanDisk'а и Defrag'а. Но да, бывало, что после проверки диска слетали длинные имена, теперь понятно почему)

Более страшной бедой был запуск хоть scandisk хоть defrag до загрузки country.sys с поддержкой 866 кодовой таблицы... и да, если юзер умудрился переместить папку "WINDOWS" в папку "Мои документы", то без нормальной загрузочной дискеты с настроенными региональными параметрами этот комп становился неработоспособным (лично раза три исправлял такой ляп). И да, до сих пор по возможности придерживаюсь правила именования файлов "8.3 латиницей"...

Сам точно никогда не повторю (слабо), но читать было круто. Ну и каких то вещей просто не знал. Спасибо.

не понял, а как оно работает с обновлением списка файлов? в том числе в плане меню, зачем каждый раз перезагружать?

Пока оно так не работает, я не стал реализовывать этот функционал ввиду бессмысленности этих костылей. Смысл был в том, что когда флешка подключена, менять содержимое каталогов уже нельзя, устройство уже прочитало его. Вообще правило такое - нельзя менять ничего, что уже было прочитано устройством. А все что еще не было прочитано - менять можно. Но если вынуть/вставить флешку можно поменять хоть все, устройство все равно будет читать все данные заново. Но можно попросить флешку перезагрузиться, чтобы делать это программно, тогда она отвалится и снова подключится на устройстве без физического вытаскивания. Так можно все время менять список файлов. Но не стал я это делать потому, что на такое поведение, каждое устройство может отреагировать по своему. Например ТВ при отвале флешки может просто переключиться на другой источник сигнала и придется снова вручную переключать его на флешку. А может он так не будет делать, и останется на флешке, просто выдаст сообщение, что флешка отсутствует, а при подключении флешки уберет его.

Великолепная работа, обожаю такие статьи и подходы. И очередной раз демонстрируется что лежит внизу наших технологий и каким дерьмом является то, что работает, на фоне того, о чём пишут в толстых книжках.

У меня в закладках на Али лежит кейс для внешних дисков с DLNA сервером. В отличие от многих в том, что он умеет по Wi-Fi
"Blueendless" https://a.aliexpress.com/_DB9mvqF

Я купил такой пару лет назад, перепрошил на OpenWRT от Padavan для продвинутой работы с 4G модемом. Стоял в небольшом офисе, раздавал инет с 4G на несколько компов и смартфонов, служил файлохранилищем для обмена и сканов. По сути клон Nexx WT3020, есть тема с прошивками на 4PDA, ищется по ключу «Wi-Fi HDD», «KIMAX BS-U35WF». Сейчас лежит на полке — в офис протянули провод, да и слабоват он для интенсивного обмена и морально устарел.

Если бы была цель сделать законченное устройство - мне кажется самым логичным было бы настройки писать... на флешку. То есть при подключении притворяться хабом с двумя подключенными флешками, одна из которых "реальная", но очень маленькая, и хранит текстовый файл с настройками (SSID, пароль, адрес сервера), а вторая - уже собственно папка с сервера расшаренная по wifi. Поменяли файл с настройками - вторая "флешка" отвалилась и снова подключилась, пользуемся. Правда всё равно не очень понятно, зачем оно надо.

Да, кстати, хорошая идея хранить настройки на другом разделе флешки) Не подумал об этом.

Сервер видит к какому файлу идет обращение и может скачать этот файл с ютуба, но он не может сразу подменить содержимое у запрошенного файла. У фейкового файла был фейковый размер и он будет отличаться от реального, а менять эти данные на уже подключенной флешке мы не можем

Так а в чем проблема? Флешка может отдавать 4ГБ на все фейковые файлы. А, когда пойдет воспроизведение, то отдавать блоки на лету, скачивая их с ютуба сервером, и сразу же отдававая на флешку. Единственная проблема может возникнуть с быстрой перемоткой, если пользователь ткнет в центр таймлайна, и телевизор попробует сделать seek на соответствующее смещение, чтобы там найти keyframe и от него читать далее, - то есть, если реальный объем файла 200МБ, а мы уже анонсировали 4ГБ, то вся возможная прокрутка сосредоточится в первых 5% полосы прокрутки. Но, тут я не силен (не вникал, есть ли что-то вроде таблицы соответствия время-отступ в начале видеофайла, чтобы плеер знал, как сикать, а не искал половинным делением), может, можно сэмулировать валидный неоднородный видеофайл, где, условно, 95 первых % времени видео занимает 200МБ, а последние 5% состоят напрочь из полностью черных keyframes и составляют 3800МБ, чтобы и полоса прокрутки тоже работала (ну почти) корректно.

Думал об этом, но тут еще будет играть роль видеоформат. Есть форматы у которых есть заголовки не только в начале но и в конце файла. Не к любому файлу можно в конце записать нули, чтобы он продолжал оставаться работоспособным. Не факт, что скачанное с ютуба будет в подходящем формате, придется делать еще и траскодинг на лету (кстати в транскодинге - да можно наверное установить такой битрейт, чтобы любой файл на выходе был 4ГБ)), но с транскодингом это будет уже не так быстро). Но в теории да, может быть это и могло бы получится.

Понравилась тема статьи, то как она раскрыта, и чувство юмора. Спасибо!

Интересная идея.

У меня есть похожий девайс. USB флешка с BT модулем. По BT определяется как наушники/колонка, можно подключиться и стримить музыку. При этом поток пишется в один и тот же файл. Таким образом можно слушать музыку по BT на магнитолах авто, поддерживающих только флешки. Покупал на алике рублей за 500 чисто ради интереса. Работает норм.

Сделать такую же штуку, но прикидывающуюся не флешкой, а дисководом, и подключать к соответствующим ретромашинам…

По USB, которого там нет) А даже если и есть, навряд ли он на уровне BIOSа тех времён распознает USB-дисковод. Или придется заморочится с подключением по floppy шлейфу.

Такое добро вполне существует в виде готового продукта (правда берёт не с сети, а с флешки) — Gotek же.

Он как раз подключается через настоящий floppy-шлейф

Делал подобное, эмулировал mass storage device, статья "В поисках жирного", исходники есть на гитхабе

Просто хотел подсказать, что по http кусок файла можно забирать штатными средствами через range запрос (заголовок Range). (Если еще не нашли). Еще по-моему есть библиотека с именем httpfs2, может поможет как-то.

Почему "Брынь!" ? "Вжух!" же 😉

Проект понравился. ЕСПха валяется где-то, обязательно попробую в паре со старым ресивером.

Сваял франкенштейна на T-Dongle ESP32-S2 WiFi development board.
При втыкании в комп прикидывается флэшкой, файловое хранилище на SD.
При втыкании в зарядку поднимает точку доступа и запускает файловый сервер с доступом к той же SD.
На лцд экран выводится лог работы.

За основу брал примеры из esp-idf и tinyusb:
esp-idf/examples/protocols/http_server/ - файловый сервер;
esp-idf/examples/peripherals/spi_master/lcd/ - работа с экраном;
tinyusb/examples/device/msc_dual_lun - работа с усб.

Из впечатлений - как и ожидалось усб работает не ахти (300кб/с) sd больше 4гб лучше не подключать, шить прикольно, просто воткнул в усб сбросил руками в режим загрузки и дальше или через последовательный порт штатными средствами idf (надо только отключить принудительный сброс в режим загрузчика перед прошивкой), или через дфу (через дфу не пробовал).

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории