Выпуск ESP-KVM 0.45.0, открытой прошивки IP-KVM на базе ESP32-P4 - QubStore

Выпуск ESP-KVM 0.45.0, открытой прошивки IP-KVM на базе ESP32-P4

ESP-KVM 0.45.0: открытая прошивка превращает ESP32-P4 в полноценный IP-KVM с доступом через браузер

Проект ESP-KVM выпустил обновление 0.45.0 — открытую прошивку, которая из платы на микроконтроллере ESP32-P4 делает полноценный IP-KVM. Такое устройство даёт удалённый доступ к экрану, клавиатуре и мыши чужого компьютера прямо из браузера. Главное отличие от программ удалённого рабочего стола: на подопечной машине ничего устанавливать не нужно, требований к её операционной системе тоже нет. Гаджет подключается к видеовыходу и USB, а значит работает даже при показе интерфейса BIOS, в момент загрузки, с пустым диском или при полностью выключенном компьютере.

Кодовая база написана на языке Си и выложена под лицензией Apache 2.0. Само устройство собирается из двух компактных плат: одна несёт ESP32-P4, вторая — чип захвата TC358743, преобразующий HDMI в MIPI-CSI. Полученная картинка прогоняется через аппаратные кодировщики микроконтроллера (H.264 или MJPEG) и уходит в браузер. Ввод транслируется целевой машине по USB OTG, так что она опознаёт обычные клавиатуру и мышь и в драйверах не нуждается. На эталонной плате удалось получить порядка 20–24 кадров в секунду при 1920×1080 и до 45 fps при 1280×720.

Из интересных возможностей — распознавание текстового экрана как текста: содержимое консоли BIOS, загрузчика или Linux-консоли считывается по знакогенератору и передаётся символами. Экран занимает пару килобайт вместо мегабайт, а серийный номер или код ошибки можно выделить мышью и скопировать. Есть слежение за экраном по заданным фразам с оповещением, когда за устройством никто не присматривает. Питанием цели управляет оптопара — это кнопки питания и сброса плюс чтение индикатора, — а также поддерживаются Wake-on-LAN и пробуждение спящей машины по USB.

На борту — WireGuard и Tailscale, в том числе работа с собственным управляющим сервером Headscale, и интеграция с Home Assistant через MQTT: датчики, кнопки, сущность обновления прошивки и камера со снимком экрана цели. HTTPS работает с самовыпущенным сертификатом, вход по паролю, физический сброс пароля кнопкой; можно подгрузить и свой сертификат. Обновление по сети идёт с двумя слотами и автооткатом, есть аварийный образ во внутренней флеш-памяти и точка доступа с порталом на случай отсутствия сети. Небольшой статусный экран (I2C OLED либо круглый GC9A01) показывает адрес, состояние линка и температуру. Виртуальные носители отдают цели образ диска с microSD как загрузочный USB-накопитель — так систему можно поставить на машину с пустым диском.

Прошивка собирается для десяти вариантов плат, включая Waveshare ESP32-P4-ETH, ESP32-P4-NANO, ESP32-P4-WIFI6, Espressif ESP32-P4 Function EV, Guition ESP32-P4-M3-Dev и M5Stack Unit PoE-P4. Для самой популярной Waveshare ESP32-P4-ETH сообщество сделало несколько корпусов. Прошить плату можно прямо из браузера, без установки инструментов. В версии 0.45.0 добавилась поддержка Waveshare ESP32-P4-Module-DEV-KIT и DFRobot FireBeetle 2 ESP32-P4, а также опубликован разбор, какие платы на ESP32-P4 для этой задачи не годятся и почему.

Ссылка на основную публикацию