Карманный медиасервер на ESP32-S3 для поездок и автономных сетей

23 июл 2026
1,218
59
13
3 недели

В длинных поездках или на природе быстро выясняется одна неприятная штука: мобильная связь исчезает в самый ненужный момент. Можно заранее забить память телефона видеофайлами и книгами. Другой путь — сообразить автономный сервер. Но разворачивать для этого Raspberry Pi с обвязкой из пауэрбанков и внешних дисков часто неудобно. Плата греется, активно жрёт аккумулятор и занимает место в рюкзаке.

Разработчик Джексон Студнер подошёл к вопросу изящнее. Он написал Jcorp Nomad — полностью автономный медиасервер, который работает на микроконтроллере ESP32-S3 и помещается в корпус размером с обычную USB-флешку.

Jcorp Nomad Offline Media Server

Что умеет микроконтроллер за полтора десятка долларов

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

Внутри флешки стоит карточка MicroSD, с которой устройство отдаёт контент. Вот что оно умеет раздавать на подключённые девайсы:

Реклама
  • Фильмы и сериалы. Видео крутится через веб-плеер Plyr. Есть поддержка структурированных папок с сезонами и нормальный запоминатель прогресса просмотра.
  • Музыка. Фоновое воспроизведение с плейлистами из подкаталогов и динамической очередью.
  • Книги и комиксы. Поддерживаются форматы PDF, EPUB, CBZ и CBR.
  • Офлайн-Википедия. Главная фишка свежего релиза Mk4 — чтение ZIM-архивов. Можно загрузить на флешку дампы Википедии, библиотеки Gutenberg или выступлений TED.

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

Как удалось заставить ESP32 читать гигабайтные архивы

Самая интересная техническая деталь в Nomad — работа с ZIM-файлами. Полный дамп Википедии с иллюстрациями весит больше 140 гигабайт. Попытка заставить чип ESP32 с его скромной оперативной памятью самостоятельно искать что-то в таком массиве данных неизбежно привела бы к падению системы.

Автор решил задачу разделением труда. В связке с проектом идет утилита Nomad Tools для компьютера. Она заранее сканирует ZIM-файл на ПК и создаёт компактный индексный файл. На MicroSD отправляется уже готовый индекс. Когда вы вводите поисковый запрос в браузере смартфона, Nomad быстро сверяется с лёгким индексом и сразу выдаёт нужную статью.

В последнем обновлении Mk4 разработчик доработал работу с памятью:

  • Починил регулярные перезагрузки при работе с файлами больше 2 гигабайт.
  • Добавил динамическую выгрузку прочитанных страниц для PDF и комиксов. Раньше длинный топик или тяжелый сканированный документ быстро забивал RAM, отправляя плату в утиль.
  • Оптимизировал индексацию при старте. Теперь плата пересканирует карту памяти только в том случае, если на ней реально изменились файлы, а не при каждом включении.

Корпус, который больше не давит на экран

Устройство собирается на базе конкретной отладочной платы — Waveshare ESP32-S3 Dev Board с цветным LCD-экраном диагональю 1.47 дюйма. В репозитории лежат готовые STL-файлы для печати корпуса на 3D-принтере.

Nomad Mk4 exploded case view

Конструкцию корпуса в Mk4 переработали. Раньше половинки защёлкивались сверху и снизу, из-за чего при сборке легко было раздавить тонкое стекло дисплея. Новая версия собирается слайдером спереди назад. Кнопки сброса и прошивки остаются снаружи, так что разбирать корпус ради обновления софта не придётся.

Как собрать такой сервер самому

Сборка простая, паяльник не потребуется. Из железа нужны:

  1. Плата Waveshare ESP32-S3 с экраном 1.47" (стоит около 15–18 долларов).
  2. Карта MicroSD объёмом от 16 ГБ до 128 ГБ (поддерживаются карты вплоть до 2 ТБ, главное отформатировать в FAT32).
  3. Любой источник питания с USB-выходом (пауэрбанк, разъем в машине или блок от зарядки).

Файловая структура на карте памяти выглядит наглядно. Вы просто раскладываете медиафайлы по соответствующим папкам:

/Movies
    Interstellar.mp4
    Interstellar.jpg
/Shows
    /The Office
        S01E01 - Pilot.mp4
        S01E02 - Diversity Day.mp4
    The Office.jpg
/Books
    The Martian.pdf
/Music
    track01.mp3

После этого прошиваете плату через Arduino IDE бинарником из папки /firmware/, вставляете флешку и подаёте питание. В списке сетей появится Jcorp_Nomad (пароль по умолчанию: password).

Заходите в браузере в админку, запускаете первичное индексирование — и автономная медиатека готова.

Стоит ли пробовать

Jcorp Nomad — отличный пример того, как на микроконтроллере за смешные деньги делают вещь, реально полезную в быту. У проекта понятный открытый исходный код (лицензия CC BY-NC-SA 4.0), активный автор и живое комьюнити.

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

🍪 Мы используем файлы cookie и сервис аналитики Яндекс.Метрика, чтобы сайт работал лучше. Продолжая пользоваться devtrends.ru, вы соглашаетесь с обработкой данных согласно Политике конфиденциальности.