Se ha publicado una versión del proyecto ESP-KVM, que desarrolla un firmware abierto que convierte una placa de depuración basada en el microcontrolador ESP32-P4 en un IP-KVM completo: un dispositivo que ofrece acceso a la pantalla, teclado y ratón de una computadora remota a través del navegador. A diferencia de las herramientas de escritorio remoto, no se instala nada en la máquina controlada y no se requiere nada de su sistema operativo: el dispositivo se conecta a la salida de video y al puerto USB y funciona incluso cuando la computadora muestra la interfaz BIOS, está arrancando, está inactiva con un disco vacío o está apagada. El código está escrito en C y se distribuye bajo la licencia Apache 2.0.
El dispositivo se compone de dos placas pequeñas: una placa con el ESP32-P4 y una placa de captura con el chip TC358743, que convierte el HDMI objetivo a MIPI-CSI. Luego, la imagen es codificada por los codificadores de hardware del microcontrolador — H.264 o MJPEG — y se envía al navegador. El teclado y el ratón se proporcionan a la máquina objetivo a través de USB OTG, por lo que reconoce dispositivos de entrada convencionales y no necesita controladores. En la placa de referencia se logra alrededor de 20-24 cuadros por segundo a 1920×1080 y hasta 45 a 1280×720.
Entre las características:
- Lectura de la pantalla de texto como texto, no como imagen: el contenido de la consola BIOS, del gestor de arranque o de la consola de Linux es reconocido por un generador de caracteres y se transmite como símbolos — la pantalla ocupa unos pocos kilobytes en lugar de megabytes, y el número de serie o código de error se pueden resaltar con el ratón y copiar.
- Monitoreo de la pantalla según frases específicas con una notificación cuando nadie está observando el dispositivo.
- Control del encendido del objetivo a través de un optoacoplador (botones de encendido y reinicio, lectura del indicador), Wake-on-LAN y despertar de la máquina en reposo a través de USB.
- Incluye WireGuard y Tailscale integrados, incluyendo trabajo con su propio gestor el servidor Headscale.
- Integración con Home Assistant a través de MQTT: sensores, botones, entidad de actualización de firmware y cámara con captura de pantalla objetivo.
- HTTPS con un certificado que el dispositivo genera por sí mismo, acceso mediante contraseña y restablecimiento físico de la contraseña mediante un botón en la placa; también se puede cargar su propio certificado.
- Actualización de firmware a través de la red con dos ranuras y retroceso automático, imagen de emergencia en la memoria flash interna y punto de acceso con portal si no hay red.
- Pequeña pantalla de estado (OLED I2C o circular GC9A01) con dirección, estado del enlace y temperatura.
- Los medios virtuales: la imagen del disco de la tarjeta microSD se entrega al objetivo como un dispositivo USB de arranque, lo que permite instalar el sistema en una máquina con disco vacío.
El firmware se compila para diez variantes de placas, entre las cuales se encuentran Waveshare ESP32-P4-ETH, ESP32-P4-NANO y ESP32-P4-WIFI6, Espressif ESP32-P4 Function EV, Guition ESP32-P4-M3-Dev y M5Stack Unit PoE-P4. La comunidad ha creado varias carcasas para la placa más popular, Waveshare ESP32-P4-ETH. Se puede flashear la placa directamente desde el navegador, sin necesidad de instalar herramientas.
En la versión 0.45.0 se agregó soporte para dos placas: Waveshare ESP32-P4-Module-DEV-KIT y DFRobot FireBeetle 2 ESP32-P4, y se publicó un análisis de qué placas de ESP32-P4 no son adecuadas para esta tarea y por qué.


Fuente: opennet.ru
