ESP-KVM 0.51.2, un firmware open source transformant une carte microcontrÎleur ESP32-P4 en un KVM IP permettant d'accéder, via un navigateur, à l'écran, au clavier et à la souris d'un ordinateur distant, sans installation de logiciel sur la machine cible, est désormais disponible. Le code est écrit en C et distribué sous licence Apache 2.0. La principale nouveauté de cette version est la possibilité d'enregistrer l'activité de l'écran de la cible sur la carte microSD de l'appareil.
L'enregistrement se lance via un bouton de l'interface web et est sauvegardĂ© dans le rĂ©pertoire VIDEO au format .ts avec la vidĂ©o H.264. L'appareil enregistre le mĂȘme flux qu'il diffuse aux utilisateurs, Ă©vitant ainsi tout rĂ©encodage : sur la carte Espressif ESP32-P4 Function EV, la frĂ©quence d'images est restĂ©e stable Ă 21-22 images/s lors de la lecture sur l'ordinateur cible. Le fichier .ts est compatible avec VLC et mpv et, en cas d'interruption (retrait de la carte ou mise hors tension), la lecture reprend jusqu'Ă la fin. Les enregistrements longs sont divisĂ©s en fichiers de 10 minutes et s'arrĂȘtent aprĂšs une heure ; ces deux paramĂštres sont configurables. Un bouton dĂ©diĂ© permet d'enregistrer une capture d'Ă©cran au format JPEG dans le dossier SCREENSHOTS, mĂȘme lorsque le codec H.264 est activĂ© : l'encodeur JPEG matĂ©riel est alors utilisĂ©.
Les frappes au clavier et les clics de souris peuvent ĂȘtre enregistrĂ©s dans un fichier de sous-titres .srt placĂ© Ă cĂŽtĂ© de la vidĂ©o, sous forme de chaĂźnes de caractĂšres telles que « TapĂ© : root », « Ctrl+Alt+Suppr » et « Clic gauche (812, 440) ». Par dĂ©faut, le texte saisi est remplacĂ© par des points ; le texte intĂ©gral peut ĂȘtre enregistrĂ© si nĂ©cessaire. La disposition est celle du clavier cible.
Un mode camĂ©ra embarquĂ©e a Ă©tĂ© ajoutĂ©, fonctionnant sur le mĂȘme principe qu'une camĂ©ra de voiture : l'appareil enregistre en continu les derniĂšres minutes d'Ă©cran, ainsi que les secondes suivantes lorsqu'un Ă©vĂ©nement se produit : l'Ă©cran devient fixe (comme lors d'un arrĂȘt d'urgence), une phrase surveillĂ©e apparaĂźt, le voyant d'alimentation ATX s'Ă©teint ou l'utilisateur appuie sur un bouton. La vidĂ©o ainsi obtenue est convertie au format MP4, avec des chapitres pour chaque Ă©vĂ©nement. Si les notifications sont activĂ©es, elle est envoyĂ©e sur Telegram et diffusĂ©e dans la conversation.
Il existe deux maniĂšres de stocker les donnĂ©es passĂ©es : soit dans la PSRAM, oĂč elles nâoccupent aucun espace sur la carte jusquâĂ ce que lâĂ©vĂ©nement se produise, soit directement sur la carte, par petits fragments dont les plus anciens sont supprimĂ©s. Cette seconde mĂ©thode fonctionne Ă©galement sur les cartes dont la rĂ©vision de la puce est infĂ©rieure ou Ă©gale Ă 3.0 ; aprĂšs le lancement de lâencodeur H.264, il reste environ 3 Mo de PSRAM libre, contre 11 Mo sur les rĂ©visions plus rĂ©centes.
Un mode accĂ©lĂ©rĂ© a Ă©tĂ© ajoutĂ© : une image est enregistrĂ©e toutes les 10 secondes, et la lecture se fait Ă 25 images par seconde. Ainsi, une heure d'enregistrement Ă intervalles de 10 secondes peut ĂȘtre capturĂ©e en 14 secondes de vidĂ©o. Les enregistrements et les photos sont organisĂ©s dans un panneau d'interface dĂ©diĂ©, oĂč ils peuvent ĂȘtre tĂ©lĂ©chargĂ©s, supprimĂ©s et visionnĂ©s sans avoir Ă tĂ©lĂ©charger l'intĂ©gralitĂ© du fichier. Les fichiers MP4 s'ouvrent avec le lecteur intĂ©grĂ© du navigateur, tandis que les fichiers .ts sont dĂ©coupĂ©s en images dans la console et dĂ©codĂ©s par le mĂȘme dĂ©codeur H.264 que la vidĂ©o en direct, avec prise en charge du retour en arriĂšre et des sous-titres. La gestion des plages HTTP est implĂ©mentĂ©e pour le retour en arriĂšre cĂŽtĂ© appareil.
La recherche de texte Ă l'Ă©cran est dĂ©sormais disponible. Pendant l'enregistrement, l'appareil analyse l'Ă©cran toutes les trois secondes et enregistre le texte dans un fichier situĂ© Ă cĂŽtĂ© de la vidĂ©o. Dans le panneau d'enregistrement, une fonction de recherche par expression permet de visualiser le moment oĂč l'expression apparaĂźt Ă l'Ă©cran et de reprendre la lecture de l'enregistrement Ă partir de ce point. Seuls les Ă©crans gĂ©nĂ©rĂ©s par le gĂ©nĂ©rateur de caractĂšres sont pris en charge : le BIOS, le menu de dĂ©marrage, le programme d'installation et la console.
L'enregistrement vidĂ©o, le time-lapse et les captures d'Ă©cran peuvent ĂȘtre lancĂ©s depuis les scĂ©narios de l'appareil (« enregistrement 300 », « time-lapse 60 », « capture d'Ă©cran ») et depuis Home Assistant, qui dispose d'un interrupteur et de boutons dĂ©diĂ©s. L'horloge de l'appareil est dĂ©sormais synchronisĂ©e via NTP et le fuseau horaire peut ĂȘtre sĂ©lectionnĂ© dans une liste de villes des paramĂštres ; auparavant, il Ă©tait stockĂ© dans une section cachĂ©e de l'interface.
Autres modifications apportées aux versions postérieures à la version 0.45.0 :
- La version 0.46 prend désormais en charge les cartes VIEWE ESP32-P4-Pi et Waveshare ESP32-P4-NANO-WIFI6-DB. Le firmware est maintenant compilé avec l'optimisation -O2, les petites allocations mémoire sont déplacées vers la PSRAM et le blocage d'une tùche entraßne un redémarrage avec enregistrement du fichier de vidage mémoire.
- 0.47. Les runbooks sont dĂ©sormais disponibles : des macros qui attendent lâapparition ou la disparition dâune phrase Ă lâĂ©cran et sâexĂ©cutent sur lâappareil Ă la fermeture du navigateur. Les scripts au format DuckyScript sont maintenant acceptĂ©s. Un planificateur avec syntaxe cron et notifications Telegram (avec captures dâĂ©cran) ou webhooks a Ă©tĂ© ajoutĂ©.
- 0.48. La carte microSD et le module WiFi fonctionnent dĂ©sormais simultanĂ©ment ; auparavant, les deux utilisaient le mĂȘme emplacement SDMMC.
- 0.49. La carte microSD des cartes Function EV et Waveshare ESP32-P4-ETH fonctionne dĂ©sormais Ă une frĂ©quence de bus de 40 MHz au lieu de 4 MHz (environ 9 Mo/s en lecture, environ 4 Mo/s en Ă©criture) : lâalimentation du lecteur nâĂ©tait plus assurĂ©e par le rĂ©gulateur intĂ©grĂ©. Le chargement dâimages via lâinterface web a Ă©tĂ© accĂ©lĂ©rĂ© dâenviron 50 fois, atteignant 3,5 Mo/s via Ethernet. Un mode clavier a Ă©tĂ© ajoutĂ© pour les anciens BIOS : la machine cible reconnaĂźt dĂ©sormais un seul pĂ©riphĂ©rique Ă la vitesse USB 1.1, Ă lâexclusion de la souris et des pĂ©riphĂ©riques de stockage. Le pĂ©riphĂ©rique signale dĂ©sormais si le mode HDMI dĂ©passe la bande passante de deux voies MIPI CSI.
- 0.49.1. La vitesse de lecture du lecteur virtuel par la machine cible a été accélérée de 5,6 à 9 Mo/s grùce à une lecture par blocs de 256 Ko. Les modifications d'image sont désormais visibles sur la machine cible sans avoir à reconnecter le cùble USB.
- 0.50. La carte microSD peut ĂȘtre remplacĂ©e pendant le fonctionnement de l'appareil, mĂȘme si elle est retirĂ©e en cours de copie : l'emplacement est vĂ©rifiĂ© toutes les cinq secondes. Correction d'un dĂ©lai MJPEG qui entraĂźnait l'affichage, par le navigateur, de l'image prĂ©cĂ©dant la derniĂšre frappe au clavier sur un Ă©cran fixe.
Source: opennet.ru
