ESP32-P4 mikrodenetleyici kartını, hedef makineye herhangi bir aracı yüklemeden, uzak bir bilgisayarın ekranına, klavyesine ve faresine tarayıcı tabanlı erişim sağlayan IP tabanlı bir KVM'ye dönüştüren açık kaynaklı bir yazılım olan ESP-KVM 0.51.2 yayınlandı. Kod C dilinde yazılmıştır ve Apache 2.0 lisansı altında dağıtılmaktadır. Bu sürümdeki en önemli değişiklik, hedefin ekran etkinliğini cihazın microSD kartına kaydetme özelliğidir.
Kayıt, web arayüzündeki bir düğme ile başlatılır ve H.264 video formatında .ts dosyaları olarak VIDEO dizinine kaydedilir. Cihaz, izleyicilere ilettiği aynı akışı kaydeder, bu nedenle yeniden kodlama gerekmez: Espressif ESP32-P4 Function EV kartında, kayıt sırasında kare hızı, hedef makinede oynatılırken kayıp olmadan 21-22 fps'de kaldı. .ts dosyası VLC ve mpv'de oynatılır ve kartın çıkarılması veya gücün kapatılmasıyla kesintiye uğrarsa, sonuna kadar oynatılmaya devam eder. Uzun kayıtlar 10 dakikalık dosyalara bölünür ve bir saat sonra durdurulur; her iki değer de yapılandırılabilir. Ayrı bir düğme, H.264 codec'i etkinleştirilmiş olsa bile, ekran görüntüsünü JPEG formatında SCREENSHOTS klasörüne kaydeder: ekran görüntüsünü yakalamak için boşta bulunan donanım JPEG kodlayıcısı kullanılır.
Klavye tuş vuruşları ve fare tıklamaları, videonun yanında ".srt" altyazı dosyasına "Typed: root", "Ctrl+Alt+Delete" ve "Left click (812, 440)" gibi metin dizeleri olarak kaydedilebilir. Varsayılan olarak, yazılan metin noktalarla değiştirilir; istenirse metnin tamamı kaydedilebilir. Düzen, hedef klavye ayarlarından alınır.
Araç içi kamera modu eklendi ve bu mod, araç içi kameralarla aynı prensiple çalışıyor: Cihaz, ekran süresinin son birkaç dakikasını sürekli olarak izliyor ve bir şey olduğunda (ekran tamamen karardığında -acil durdurma ekranı için tipiktir), izlenen bir ifade göründüğünde, ATX güç göstergesi söndüğünde veya operatör bir düğmeye bastığında) sonraki saniyelerle birlikte kaydediyor. Elde edilen video, her olay için bölümler içeren MP4 formatına dönüştürülüyor ve bildirimler etkinleştirilmişse, Telegram'a sohbette oynatılan bir video olarak gönderiliyor.
Geçmiş verileri saklamanın iki yolu vardır: Olay gerçekleşene kadar kartta yer kaplamayan PSRAM'de veya kartın kendisinde, eski veriler silinerek kısa parçalar halinde. İkinci yöntem, H.264 kodlayıcısı başlatıldıktan sonra yaklaşık 3 MB boş PSRAM alanı kalan (daha yeni sürümlerde 11 MB) 3.0'a kadar çip revizyonuna sahip kartlarda da çalışır.
Hızlandırılmış çekim modu eklendi: Belirtilen saniye sayısında bir kare kaydediliyor ve oynatma saniyede 25 kare hızında gerçekleşiyor, böylece 10 saniyelik aralıklarla bir saatlik kayıt 14 saniyelik videoda yakalanabiliyor. Kayıtlar ve fotoğraflar ayrı bir arayüz panelinde düzenleniyor; buradan tüm dosyayı indirmeden indirilebilir, silinebilir ve oynatılabilir. MP4 dosyaları tarayıcının yerleşik oynatıcısıyla açılırken, .ts dosyaları konsolda karelere ayrıştırılıyor ve canlı video ile aynı H.264 kod çözücüsüyle, geri sarma ve altyazılarla birlikte çözülüyor. Cihaz tarafında geri sarma için HTTP aralık desteği uygulandı.
Ekran üzerinde metin arama özelliği uygulandı. Kayıt sırasında cihaz, ekranı her üç saniyede bir karakter kümesi olarak okur ve okuduklarını videonun yanındaki bir dosyaya kaydeder. Kayıt panelinde, bir kelime öbeği araması ekranda ne zaman göründüğünü gösterir ve kaydı o noktadan itibaren oynatır. Yalnızca karakter üreteci tarafından oluşturulan ekranlar okunur: BIOS, önyükleme menüsü, kurulum programı ve konsol.
Kayıt, hızlandırılmış çekim ve ekran görüntüsü alma işlemleri, cihaz senaryolarından ("kayıt 300", "hızlandırılmış çekim 60", "ekran görüntüsü") ve bunun için bir anahtar ve düğmeler bulunan Home Assistant'tan başlatılabilir. Cihazın saati artık NTP aracılığıyla senkronize ediliyor ve saat dilimi ayarlar bölümündeki şehirler listesinden seçilebiliyor; daha önce bu bilgi arayüzden gizlenmiş bir bölümde saklanıyordu.
0.45.0 sürümünden sonraki diğer değişiklikler:
- 0.46. VIEWE ESP32-P4-Pi ve Waveshare ESP32-P4-NANO-WIFI6-DB kartları için derlemeler eklendi. Firmware artık -O2 optimizasyonu ile derleniyor, küçük bellek tahsisleri PSRAM'e taşındı ve donmuş bir görev artık döküm dosyasıyla yeniden başlatmaya neden oluyor.
- 0.47. Runbook'lar artık kullanılabilir durumda; metin ekranında bir ifadenin görünmesini veya kaybolmasını bekleyebilen ve tarayıcı kapatıldığında cihazın kendisinde yürütülen makrolar. DuckyScript formatındaki komut dosyaları artık kabul ediliyor. Cron sözdizimine sahip bir zamanlayıcı ve Telegram'a (ekran görüntüleriyle birlikte) veya web kancalarına bildirimler eklendi.
- 0.48. microSD kart ve WiFi modülü artık eş zamanlı olarak çalışıyor; daha önce ikisi de aynı SDMMC yuvasını kullanıyordu.
- 0.49. Function EV ve Waveshare ESP32-P4-ETH kartlarındaki microSD kart artık 4 MHz yerine 40 MHz veri yolu frekansında çalışıyor (yaklaşık 9 MB/sn okuma, yaklaşık 4 MB/sn yazma): yuvanın güç hatları entegre regülatörden beslenmiyordu. Web arayüzü üzerinden görüntü yükleme hızı yaklaşık 50 kat artırılarak Ethernet üzerinden 3,5 MB/sn'ye çıkarıldı. Eski BIOS'lar için klavye modu eklendi; hedef makine artık fare veya depolama aygıtı hariç tek bir aygıtı USB 1.1 hızında görüyor. Cihaz artık HDMI modunun iki MIPI CSI şeridinin bant genişliğini aşıp aşmadığını bildiriyor.
- 0.49.1. Hedef makine tarafından sanal sürücüden okuma hızları, karttan 256 KB'lık bloklar halinde okuma yapılarak 5,6 MB/sn'den 9 MB/sn'ye hızlandırıldı. Görüntü değişiklikleri artık USB yeniden bağlanmadan hedef makine tarafından görülebiliyor.
- 0.50. microSD kart, kopyalama işlemi sırasında çıkarılsa bile, cihaz çalışırken değiştirilebilir: yuva her beş saniyede bir kontrol edilir. Sabit bir ekranda tarayıcının son tuş vuruşundan önceki kareyi görüntülemesine neden olan MJPEG'deki bir gecikme düzeltildi.
Kaynak: opennet.ru
