Opublikowano nowe wydanie projektu ESP-KVM, rozwijającego otwarte oprogramowanie układowe, które zamienia płytkę deweloperską z mikrokontrolerem ESP32-P4 w pełnoprawny IP-KVM — urządzenie zapewniające dostęp do ekranu, klawiatury i myszy zdalnego komputera przez przeglądarkę. W przeciwieństwie do narzędzi zdalnego pulpitu, na zarządzanej maszynie niczego się nie instaluje i nie wymaga się niczego od jej systemu operacyjnego: urządzenie podłącza się do wyjścia wideo i portu USB i działa, gdy komputer wyświetla interfejs BIOS, uruchamia się, ma pusty dysk lub jest wyłączony. Kod napisano w języku C i jest udostępniany na licencji Apache 2.0.
Urządzenie składa się z dwóch niewielkich płytek: płytki z ESP32-P4 oraz płytki przechwytującej z układem TC358743, która konwertuje sygnał HDMI urządzenia docelowego do MIPI-CSI. Następnie obraz jest kodowany przez sprzętowe enkodery samego mikrokontrolera — H.264 lub MJPEG — i przesyłany do przeglądarki. Klawiatura i mysz są udostępniane maszynie docelowej przez USB OTG, więc widzi ona standardowe urządzenia wejściowe i nie potrzebuje żadnych sterowników. Na referencyjnej płytce uzyskano około 20–24 klatek na sekundę przy 1920×1080 i do 45 przy 1280×720.
Możliwości:
- Odczyt tekstowego ekranu jako tekstu, a nie obrazu: zawartość konsoli BIOS, programu rozruchowego lub konsoli Linux jest rozpoznawana na podstawie generatora znaków i przesyłana jako znaki — ekran zajmuje kilka kilobajtów zamiast megabajtów, a numer seryjny lub kod błędu można zaznaczyć myszą i skopiować.
- Monitorowanie ekranu pod kątem określonych fraz z powiadomieniem, gdy nikt nie obserwuje urządzenia.
- Sterowanie zasilaniem urządzenia docelowego przez transoptor (przyciski zasilania i resetu, odczyt wskaźnika), Wake-on-LAN oraz wybudzanie uśpionej maszyny przez USB.
- Wbudowane WireGuard i Tailscale, w tym obsługa własnego serwera zarządzającego serwerem Headscale.
- Integracja z Home Assistant przez MQTT: czujniki, przyciski, encja aktualizacji firmware oraz kamera ze zrzutem ekranu urządzenia docelowego.
- HTTPS z certyfikatem, który urządzenie wystawia samodzielnie, logowanie hasłem oraz fizyczny reset hasła przyciskiem na płytce; można też wgrać własny certyfikat.
- Aktualizacja firmware przez sieć z dwoma slotami i automatycznym wycofaniem zmian, awaryjny obraz w pamięci flash wewnętrznej oraz punkt dostępowy z portalem, jeśli sieć jest niedostępna.
- Niewielki ekran statusu (I2C OLED lub okrągły GC9A01) z adresem, stanem łącza i temperaturą.
- Nośniki wirtualne: obraz dysku z karty microSD jest udostępniany urządzeniu docelowemu jako rozruchowy nośnik USB, co pozwala zainstalować system na maszynie z pustym dyskiem.
Firmware jest kompilowany dla dziesięciu wariantów płytek, w tym Waveshare ESP32-P4-ETH, ESP32-P4-NANO i ESP32-P4-WIFI6, Espressif ESP32-P4 Function EV, Guition ESP32-P4-M3-Dev oraz M5Stack Unit PoE-P4. Społeczność przygotowała kilka obudów dla najpopularniejszej płytki Waveshare ESP32-P4-ETH. Płytkę można wgrać bezpośrednio z przeglądarki, bez instalowania dodatkowych narzędzi.
W wydaniu 0.45.0 dodano obsługę dwóch płytek — Waveshare ESP32-P4-Module-DEV-KIT i DFRobot FireBeetle 2 ESP32-P4 — oraz opublikowano analizę wyjaśniającą, które płytki oparte na ESP32-P4 nie nadają się do takiego zastosowania i dlaczego.


Źródło: opennet.ru
