Foi publicada uma versão do projeto ESP-KVM, que desenvolve um firmware aberto que transforma uma placa de teste com o microcontrolador ESP32-P4 em um IP-KVM completo — um dispositivo que fornece acesso à tela, teclado e mouse de um computador remoto através do navegador. Ao contrário das ferramentas de área de trabalho remota, nada é instalado na máquina controlada e nada é exigido do seu sistema operacional: o dispositivo se conecta à saída de vídeo e à porta USB e funciona mesmo quando o computador mostra a interface do BIOS, está inicializando, permanece com um disco vazio ou está desligado. O código é escrito em C e é distribuído sob a licença Apache 2.0.
O dispositivo é montado a partir de duas placas pequenas: a placa com o ESP32-P4 e a placa de captura com o chip TC358743, que converte o HDMI de entrada para MIPI-CSI. A imagem em seguida é codificada pelos codificadores de hardware do próprio microcontrolador — H.264 ou MJPEG — e é enviada para o navegador. O teclado e o mouse são fornecidos à máquina alvo através do USB OTG, ou seja, ela reconhece dispositivos de entrada comuns e não precisa de drivers. Na placa padrão, foi alcançado cerca de 20-24 quadros por segundo a 1920×1080 e até 45 a 1280×720.
Entre as funcionalidades:
- Leitura da tela de texto como texto, e não como imagem: o conteúdo do console BIOS, do carregador ou do console do Linux é reconhecido pelo gerador de caracteres e transmitido como símbolos — a tela ocupa alguns quilobytes ao invés de megabytes, e o número de série ou código de erro pode ser destacado com o mouse e copiado.
- Monitoramento da tela por frases específicas com notificação quando ninguém está supervisionando o dispositivo.
- Controle de energia da máquina alvo via optoacoplador (botões de energia e reset, leitura do indicador), Wake-on-LAN e despertando uma máquina em suspensão via USB.
- WireGuard e Tailscale integrados, incluindo operação com o próprio controlador servidor Headscale.
- Integração com o Home Assistant através do MQTT: sensores, botões, entidade de atualização de firmware e câmera com captura de tela da máquina alvo.
- HTTPS com um certificado que o dispositivo gera, login por senha e redefinição física da senha com um botão na placa; é possível fazer o upload do seu próprio certificado.
- Atualização de firmware pela rede com dois slots e retrocesso automático, imagem de emergência na memória flash interna e ponto de acesso com portal, caso não haja rede.
- Uma pequena tela de status (I2C OLED ou circular GC9A01) com endereço, estado da conexão e temperatura.
- Discos virtuais: a imagem do disco do cartão microSD é entregue ao objetivo como um pen drive inicializável, permitindo a instalação do sistema em uma máquina com disco vazio.
O firmware é compilado para dez variantes de placas, incluindo Waveshare ESP32-P4-ETH, ESP32-P4-NANO e ESP32-P4-WIFI6, Espressif ESP32-P4 Function EV, Guition ESP32-P4-M3-Dev e M5Stack Unit PoE-P4. A comunidade criou várias carcaças para a placa mais popular, Waveshare ESP32-P4-ETH. O firmware pode ser instalado diretamente do navegador, sem necessidade de instalação de ferramentas.
Na versão 0.45.0, foi adicionada suporte a duas placas — Waveshare ESP32-P4-Module-DEV-KIT e DFRobot FireBeetle 2 ESP32-P4 — e foi publicada uma análise das placas com ESP32-P4 que não são adequadas para essa tarefa e por quê.


Fonte: opennet.ru
