lorensus / feed
● RSS / каждый час
← К ленте новостей
OpenNET · 2026-11-13

ESP-KVM 0.83.0 и открытая прошивка для JetKVM Mini

Выпущена новая версия открытой прошивки ESP-KVM 0.83.0, превращающей плату на микроконтроллере ESP32-P4 в IP-KVM с доступом к экрану, клавиатуре и мыши удалённого компьютера через браузер. Устройство подключается перед HDMI целевой машины и прикидывается для неё USB-клавиатурой и мышью, а картинку и управление отдаёт в браузер. На целевую машину ничего ставить не надо, работает хоть в BIOS. Код написан на языке Си и распространяется под лицензией Apache 2.0.

В новом выпуске появилась прошивка для устройства JetKVM Mini с готовым KVM, размером 42x42x23 мм. JetKVM Mini оснащён платой ESP32-P4X, 32 МБ PSRAM, мостом HDMI TC358743, 100-мегабитным Ethernet, слотом microSD и квадратным экраном 240x240 на ST7789. После перепрошивки работают все проверенные возможности, включая трансляция с качеством 1080p50, Ethernet, обновления по сети, клавиатура, мышь, экран, кнопки сбоку, microSD.

Ставится прошивка один раз по USB. Штатная прошивка JetKVM принимает только подписанные обновления. В её настройках надо включить USB Debugging, иначе порт для прошивки отключается через пару секунд после старта, и подключить Mini к компьютеру разъёмом EXT. Перед записью стоит снять полную копию Flash. На странице прошивальщика для этого есть кнопка, она читает все 16 МБ прямо из браузера через esptool-js. Вернуть заводскую прошивку можно из созданной копии или из образа восстановления, который JetKVM публикует для каждой модели. В дальнейшем обновления загружаются по сети, и старая версия остаётся во второй половине Flash-а на случай отката.

На JetKVM Mini, к сожалению, не разведён звук с HDMI. TC358743 умеет отдавать звук по I2S на три вывода, но на этой плате они никуда не подключены. Прошивка JetKVM обходит это так: Mini показывается целевой машине как USB-колонка. Так теперь умеет и ESP-KVM. После включения настройки целевая машина видит устройство "ESP-KVM Speaker" - это UAC2, 48 кГц, 16 бит, стерео, один изохронный OUT-эндпоинт. Частота привязана к кадрам SOF, поэтому эндпоинт обратной связи не нужен. Прерывание считает пришедшие байты и раз в 5 мс будит задачу, которая режет поток на те же блоки, что приходят с I2S. Дальше всё общее: кодировщик Opus, WebRTC в браузер, записи и видеорегистратор. Звук через USB есть в прошивке для всех плат. Он нужен и там, где звук с HDMI не подключён совсем, например на M5Stack PoE-P4 с модулем Display In, у которого аудиовыводы моста висят в воздухе.

В версии ESP-KVM 0.83.0 также предоставлена возможность выбора, какие страницы показывает экран на устройстве. Если убрать все, остаётся логотип. Добавлена возможность отключения экрана через заданное время. Программа для целевой машины espkvm-agent переименована в ESP-KVM Tools, чтобы её не путали с AI-агентами. Среди изменений в выпусках после 0.65:

  • 0.66: Картинка H.264 идёт в браузер по WebRTC (UDP, DTLS-SRTP), если получается, и по WebSocket, если нет. Реализация своя, без серверов STUN и TURN, через Tailscale тоже работает. Если пакет потерялся, пропадает один кадр, поток не останавливается.
  • 0.67-0.68: Звук с HDMI на платах с TC358743: три провода I2S от моста к выводам P4. Он звучит в консоли и пишется в записи в Opus. Добавились мультимедийные клавиши, масштаб двумя пальцами на телефоне, виртуальный стик для указателя и геймпад компьютера в роли мыши.
  • 0.69-0.70: PSRAM на чипах ревизии 3.x работает на 250 МГц, и H.264 в 1080p вырос с 22 до 27 кадров в секунду. По умолчанию устройство просит у источника 1080p50 вместо 1080p30. Кодировщик начинает кадр, пока тот ещё приходит, а движения мыши идут по каналу данных WebRTC без повторных отправок.
  • 0.71-0.73: Профили для разных целевых машин. Устройство само выбирает профиль по тому, как источник называет себя по HDMI-CEC или USB, так что Switch и Steam Deck в доке получают свои настройки. Можно нарисовать на картинке до восьми прямоугольников, и устройство будет следить за ними само: изменилось, застыло, появился текст.
  • 0.74: Последовательный порт по тому же USB-кабелю, без проводов. Через него работает программа для целевой машины: имя и адреса машины, общий буфер обмена и чистое выключение.
  • 0.75: Пробное обновление для устройств, до которых далеко ехать. После обновления консоль должна снова до него достучаться и подтвердить версию. Если за 10 минут этого никто не сделал, устройство само откатывается на прошлую версию.
  • 0.76-0.77: Вход только для просмотра и горячие клавиши в консоли. Tailscale без ключа авторизации: устройство показывает ссылку, его подтверждают на странице Tailscale. Список узлов tailnet с путями (напрямую или через какой ретранслятор) и режим, в котором консоль отвечает только адресам tailnet.
  • 0.78-0.79: Переделанные настройки и палитра команд по Ctrl+K: по нескольким буквам находится нужная панель, комбинация клавиш, макрос или сценарий.
  • 0.80: Драйвер экрана ST7789 и до четырёх кнопок на устройстве, у каждой свои действия.
  • 0.81-0.82: Записи и снимки экрана выгружаются в каталог WebDAV, например в Nextcloud или на NAS. Таблица в настройках решает, какое событие в какой канал уведомлений идёт. Новым каналом стал ntfy, а устройство сообщает о выходе новой версии. Сетей Wi-Fi теперь можно задать три (выбирается та, у которой лучше уровень сигнала).


Автор: Автор в источнике не указан

Источник: OpenNET · оригинал публикации ↗