EdigE
← ЛЕНТА
MCU · 04.07.2026

ESP32-P4 как IP-KVM вместо Raspberry Pi

ESP32-P4 принимает HDMI-сигнал, преобразованный мостом Toshiba TC358743 в MIPI CSI-2, и отдаёт картинку через Ethernet в виде MJPEG. Прошивка задаёт HDMI-источнику EDID для 1920×1080@30 Гц, однако опубликованных замеров кадровой частоты и задержки пока нет. Главный компромисс сборки лежит в тракте RGB888, пропускной способности сети и отсутствии защищённого доступа.

В репозитории p4kvm опубликована экспериментальная реализация IP-KVM на ESP32-P4. Плата захватывает HDMI через мост Toshiba TC358743, подключённый к входу MIPI CSI-2, кодирует кадры аппаратным JPEG-блоком SoC и передаёт поток по Ethernet. Параллельно микроконтроллер эмулирует USB HID для клавиатуры и мыши, а управление собрано в HTTP-интерфейсе.

Видеотракт построен вокруг RGB888. HDMI-приёмник TC358743 декодирует входной сигнал и выдаёт пиксельный поток в CSI-2, после чего кадр поступает в драйвер захвата ESP-IDF. Для сетевой выдачи используется MJPEG, то есть каждый кадр кодируется отдельно. Такой формат резко упрощает серверную часть и просмотр в браузере, но расходует канал существенно сильнее межкадрового кодека. В текущей версии H.264 не задействован, хотя соответствующий аппаратный блок заявлен для ESP32-P4. Автор связывает возможный переход к нему с кристаллами Rev 3 и новее; реализация рассчитана на платы с ESP32-P4 Rev 1.3 и в целом на ревизии ниже 3.

Файл EDID, загружаемый в HDMI-мост, предлагает источнику режим 1920×1080@30 Гц. Это подтверждает целевую конфигурацию входа, но не служит бенчмарком всего тракта. Для IP-KVM критичны стабильная частота обновления, задержка от HDMI-входа до браузера, степень JPEG-сжатия, потери при сетевой передаче и поведение при смене режима. Эти параметры в проекте количественно не опубликованы. После сна HDMI-источника захват может не восстановиться, также отмечены ограничения совместимости EDID с отдельными системами.

jrowny (страница модели корпуса; фото опубликовано в листинге)

В описанной сборке применены Waveshare ESP32-P4-WIFI6-POE-ETH и HDMI-to-CSI adapter. Шлейф между ними использует распиновку, совместимую с Raspberry Pi. Универсальным свойством интерфейса это считать нельзя: MIPI CSI-2 задаёт электрический и протокольный уровень линии, тогда как назначение контактов FFC-разъёма определяется конкретными платами. Совместимость в данном случае обеспечена выбранной парой модулей.

Проект распространяется под Apache License 2.0 и включает исходники драйвера TC358743, CSI-захвата, JPEG-тракта, Ethernet, веб-сервера и USB HID. Аппаратная архитектура демонстрирует, что для базового удалённого консольного доступа уже достаточно MCU с CSI, Ethernet MAC, USB OTG и аппаратным кодированием изображения. Эксплуатационная часть остаётся незавершённой: аудио отсутствует, Wi‑Fi не используется, в прошивке нет аутентификации, TLS, управления сессиями и аудита HID-действий. Устройство допускается размещать только в изолированном сегменте сети либо за VPN; публикация его веб-интерфейса в интернете создаёт прямой риск захвата подключённой машины.

Ценность p4kvm пока сосредоточена в открытом видеозахвате для ESP32-P4 и в проверке связки HDMI→CSI→JPEG→Ethernet. До уровня готового KVM необходимы измерения задержки и устойчивости, защищённый транспорт, восстановление после потери HDMI и переход на более эффективное кодирование.