La publication de la version du projet ESP-KVM, qui développe un firmware open source transformant une carte de développement sur le microcontrôleur ESP32-P4 en un véritable IP-KVM — un appareil permettant d'accéder à l'écran, au clavier et à la souris d'un ordinateur distant via un navigateur. Contrairement aux outils de bureau à distance, rien n'est installé sur la machine cible et rien n'est requis de son système d'exploitation : l'appareil se connecte à la sortie vidéo et au port USB et fonctionne lorsque l'ordinateur affiche l'interface BIOS, se charge, reste avec un disque dur vide ou est éteint. Le code est écrit en langage C et distribué sous licence Apache 2.0.
L'appareil est constitué de deux petites cartes : une carte avec l'ESP32-P4 et une carte de capture basée sur la puce TC358743, qui convertit HDMI cible en MIPI-CSI. Ensuite, l'image est encodée par les encodeurs matériels du microcontrôleur lui-même — H.264 ou MJPEG — et est livrée au navigateur. Le clavier et la souris sont fournis à la machine cible via USB OTG, ce qui signifie qu'elle voit des dispositifs d'entrée standard et qu'aucun pilote n'est nécessaire. Sur la carte de référence, environ 20-24 images par seconde ont été obtenues à une résolution de 1920×1080 et jusqu'à 45 à 1280×720.
Parmi les fonctionnalités :
- Lecture de l'écran texte en tant que texte, et non pas image : le contenu de la console BIOS, du chargeur ou de la console Linux est reconnu par un générateur de caractères et transmis sous forme de symboles — l'écran occupe quelques kilo-octets au lieu de mégaoctets, et le numéro de série ou le code d'erreur peut être sélectionné avec la souris et copié.
- Surveillance de l’écran avec des phrases définies, accompagné d’une alerte lorsque personne ne surveille l’appareil.
- Gestion de l'alimentation de la cible via un optocoupleur (boutons d'alimentation et de réinitialisation, lecture de l'indicateur), Wake-on-LAN et réveil de l'appareil dormant via USB.
- WireGuard et Tailscale intégrés, y compris le fonctionnement avec son propre gestionnaire serveur Headscale.
- Intégration avec Home Assistant via MQTT : capteurs, boutons, entité de mise à jour du firmware et caméra avec capture d'écran de la cible.
- HTTPS avec un certificat que l'appareil émet lui-même, accès par mot de passe et réinitialisation physique du mot de passe par un bouton sur la carte ; il est possible de télécharger son propre certificat.
- Mise à jour du firmware via le réseau avec deux emplacements et restauration automatique, image de secours dans la mémoire flash interne et point d'accès avec portail, en l'absence de réseau.
- Petit écran de statut (I2C OLED ou rond GC9A01) affichant l'adresse, l'état de la connexion et la température.
- Les supports virtuels : l'image disque de la carte microSD est fournie à la cible en tant que périphérique USB amorçable, permettant ainsi d'installer le système sur une machine avec un disque vide.
Le firmware est compilé pour dix variantes de cartes, parmi lesquelles Waveshare ESP32-P4-ETH, ESP32-P4-NANO et ESP32-P4-WIFI6, Espressif ESP32-P4 Function EV, Guition ESP32-P4-M3-Dev et M5Stack Unit PoE-P4. La communauté a créé plusieurs boîtiers pour la carte la plus populaire, la Waveshare ESP32-P4-ETH. Il est possible de flasher la carte directement depuis le navigateur, sans installation d'outils.
La version 0.45.0 ajoute la prise en charge de deux cartes — Waveshare ESP32-P4-Module-DEV-KIT et DFRobot FireBeetle 2 ESP32-P4 — et propose une analyse des cartes sur ESP32-P4 qui ne conviennent pas à cette tâche et pourquoi.


Source : opennet.ru
