ESP-KVM 0.45.0: открытая прошивка для случая, когда TeamViewer бессилен

ESP-KVM превращает плату на ESP32-P4 в IP-KVM за $45: удалённый доступ к экрану, клавиатуре и мыши через браузер, даже если на машине нет ОС. Разбираемся, почему выбор чипа — жёсткое ограничение, а не вопрос цены.

ESP-KVM 0.45.0: открытая прошивка для случая, когда TeamViewer бессилен

ESP-KVM 0.45.0: открытая прошивка для случая, когда TeamViewer бессилен

Автору ESP-KVM нужен был способ увидеть экран машины, которая не поднимает операционную систему. Под рукой оказалась отладочная плата на ESP32-P4. Принципиальное отличие от любого remote desktop: на управляемой машине ничего не устанавливается, её ОС не требуется. Устройство подключается к видеовыходу и USB-порту — и в браузере появляется картинка, даже когда компьютер показывает BIOS, грузится или стоит с пустым диском.

Эталонная сборка — плата Waveshare ESP32-P4-WIFI6-POE-ETH плюс плата захвата Geekworm C790 на чипе Toshiba TC358743, который переводит HDMI в MIPI-CSI. Дальше картинка кодируется аппаратными кодировщиками самого микроконтроллера — H.264 или MJPEG — и уходит в браузер. Клавиатура и мышь эмулируются через USB OTG в High-Speed-режиме. Целевая машина видит обычные USB-устройства ввода, никаких драйверов ей не нужно. По умолчанию ESP-KVM представляется как «абсолютное указывающее устройство» — то есть как графический планшет, который шлёт координаты, а не относительные смещения.

Есть в проекте черта, которая выдаёт его происхождение: всё, что железо не поддерживает, интерфейс показывает как disabled с указанием причины — устройство не притворяется. Кабель USB нужен полноценный data-кабель — charge-only провод не подойдёт, потому что по data-линиям идут клавиатура и мышь. Типичные грабли для тех, кто собирает проект не на эталонной плате: некоторые платы не дают нужные напряжения на CSI-разъёме, а интерфейс консоли доступен на пяти языках — английском, русском, чешском, украинском и литовском.

Самое неочевидное в ESP-KVM — не цена и не прошивка, а то, что выбор чипа был жёстким техническим ограничением. Проекту нужны одновременно три вещи: MIPI-CSI-2 приёмник, аппаратный H.264-кодировщик и USB OTG. Из всей линейки Espressif этому набору удовлетворяет только ESP32-P4. Даже новый ESP32-S31 не подходит: у него параллельный DVP-интерфейс камеры, а не CSI-2. Так что это не вопрос цены — связку «CSI-2 плюс аппаратный H.264» в другом чипе просто не найти.

Официальное описание говорит о 20–24 кадрах в секунду при 1920×1080 и до 45 при 1280×720. Но независимый обзор на cnx-software приводит другие цифры: 20 FPS для MJPEG и 7 FPS для H.264 при 1080p. Наиболее вероятное объяснение — производительность зависит от ревизии чипа: обзор готовился в расчёте на более новые ESP32-P4 V3.x с корректно реализованным H.264, и апдейтом прошивки это не лечится. 7 FPS в H.264 — это не видео, а «картинка для технического доступа».

Комплект из двух плат обойдётся примерно в $45: Waveshare ESP32-P4-ETH стоит около $20 на Amazon, Geekworm C790 MIPI CSI-to-HDMI — $23.90. Коммерческие KVM-over-IP стоят сотни долларов, и ESP-KVM не пытается их заменить. Он закрывает другую нишу: машина виснет в BIOS, на ней нет ОС или она мертва — в этой ситуации не поможет ни AnyDesk, ни TeamViewer. Держать устройство стоит только в доверенной LAN или за VPN.

Для таких людей в проекте есть приятные мелочи: microSD для виртуального USB-носителя, HTTPS-консоль, интеграция с MQTT и Home Assistant, маленький круглый экран на корпусе, показывающий IP-адрес устройства. После прошивки устройство поднимается под именем espkvm.local. Тяжёлую часть работы — подъём TC358743 и получение кадров из CSI-приёмника ESP32-P4 — сделали в проекте P4 KVM, и ESP-KVM без него бы не существовал.

Он интересен тем, что существует сегодня: за $45 открытая прошивка на микроконтроллере делает то, что раньше требовало специализированного железа за сотни долларов. Но это не замена коммерческому KVM по производительности и не готовое решение для интернета. Вопрос только в том, купите ли вы платы сейчас, пока эта связка актуальна: если вам нужно увидеть экран машины, которая не грузится, — альтернативы просто нет.

Read more

Incus против Docker: системные контейнеры выигрывают по цифрам, но проигрывают в экосистеме

Incus против Docker: системные контейнеры выигрывают по цифрам, но проигрывают в экосистеме

Бенчмарк 2026 года показывает: LXC запускается за 0,8 секунды, Docker — за 1,2, а Kubernetes Pod — от 2,5. При этом Docker остаётся стандартом. Разбираемся, почему Incus и LXC, изолирующие окружение, а не приложение, оказываются легче и быстрее, но уступают в удобстве доставки.

Эффект бабочки: почему это не закон физики, а метафора

Эффект бабочки: почему это не закон физики, а метафора

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

njs в NGINX: где JavaScript действительно работает, а где — нет

njs в NGINX: где JavaScript действительно работает, а где — нет

njs добавляет JavaScript в NGINX, но не превращает его в Node.js. Код выполняется только в строго заданных точках обработки запроса и должен укладываться в миллисекунды. Два движка — устаревший встроенный njs и современный QuickJS — различаются по скорости и возможностям.

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

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

Опрос 1229 жителей 17 городов России показал: 45% откажутся от покупки, если товар нельзя доставить в их населённый пункт. Проблемы с оплатой на сайте и долгие сроки доставки отсекают ещё до 39% клиентов. Без инфраструктуры даже сильный бренд теряет половину аудитории.