Ekranni microSD-ga yozib olish imkonini beruvchi ochiq kodli IP-KVM dasturiy ta'minoti ESP-KVM 0.51.0 ning chiqarilishi

ESP32-P4 mikrokontroller platasini maqsadli mashinaga agent o'rnatmasdan, brauzer asosida masofaviy kompyuterning ekrani, klaviaturasi va sichqonchasiga kirish imkoniyatiga ega IP-asosidagi KVMga aylantiradigan ochiq kodli dasturiy ta'minot ESP-KVM 0.51.2 chiqarildi. Kod C tilida yozilgan va Apache 2.0 litsenziyasi ostida tarqatilgan. Ushbu nashrdagi asosiy o'zgarish maqsadli qurilmaning ekran faolligini qurilmaning microSD kartasiga yozib olish imkoniyatidir.

Yozib olish veb-interfeysdagi tugma bilan boshlanadi va VIDEO katalogiga H.264 video bilan .ts fayllari sifatida saqlanadi. Qurilma tomoshabinlarga yetkazib beradigan oqimni yozib oladi, shuning uchun qayta kodlash shart emas: Espressif ESP32-P4 Function EV platasida yozib olish paytida kadr tezligi maqsadli mashinada ijro etilganda yo'qotishsiz 21-22 kadr/s da qoldi. .ts fayli VLC va mpv formatida ijro etiladi va agar kartani olib tashlash yoki o'chirish bilan to'xtatilsa, u oxirigacha ijro etishda davom etadi. Uzoq yozuvlar 10 daqiqalik fayllarga bo'linadi va bir soatdan keyin to'xtaydi; ikkala qiymat ham sozlanishi mumkin. H.264 kodek yoqilgan bo'lsa ham, alohida tugma skrinshotni JPEG formatida SCREENSHOTS papkasida saqlaydi: skrinshotni olish uchun bo'sh turgan apparat JPEG kodlovchi ishlatiladi.

Tugmachalar va sichqoncha bosishlari video yonidagi .srt subtitr faylida "Typed: root", "Ctrl+Alt+Delete" va "Left click (812, 440)" kabi satrlar sifatida yozib olinishi mumkin. Odatiy bo'lib, yozilgan matn nuqtalar bilan almashtiriladi; agar xohlasangiz, to'liq matnni saqlash mumkin. Joylashtirish maqsadli klaviatura sozlamalaridan olingan.

Avtomobil videokamerasiga o'xshash printsip asosida ishlaydigan videokamera rejimi qo'shildi: qurilma ekran vaqtining so'nggi bir necha daqiqasini doimiy ravishda kuzatib boradi va biror narsa sodir bo'lganda - ekran qattiqlashganda (favqulodda to'xtatish ekrani uchun odatiy hol), kuzatilgan ibora paydo bo'lganda, ATX quvvat indikatori o'chganda yoki operator tugmani bosganda - ularni keyingi soniyalar bilan birga saqlaydi. Olingan video har bir voqea uchun boblar bilan MP4 formatiga o'zgartiriladi va agar bildirishnomalar yoqilgan bo'lsa, u chatda ijro etilgan video sifatida Telegramga yuboriladi.

O'tmishni saqlashning ikki yo'li mavjud: PSRAMda, bu yerda voqea sodir bo'lguncha kartada joy egallamaydi yoki kartaning o'zida eskirganlari o'chirilgan qisqa parchalar shaklida saqlanadi. Ikkinchi usul shuningdek, 3.0 gacha bo'lgan chip versiyasiga ega platalarda ham ishlaydi, bu yerda H.264 kodlovchisini ishga tushirgandan so'ng, yangi versiyalarda 11 MB ga nisbatan taxminan 3 MB bepul PSRAM qoladi.

Vaqt oralig'i rejimi qo'shildi: har belgilangan soniyada bitta kadr saqlanadi va ijro etish tezligi sekundiga 25 kadrni tashkil qiladi, shuning uchun 10 soniyali interval bilan bir soatlik yozib olishni 14 soniyali videoda olish mumkin. Yozuvlar va fotosuratlar alohida interfeys panelida joylashtirilgan bo'lib, u yerda ularni yuklab olish, o'chirish va butun faylni avval yuklab olmasdan ijro etish mumkin. MP4 fayllari brauzerning o'rnatilgan pleyeri bilan ochiladi, .ts fayllari esa konsolda kadrlarga tahlil qilinadi va jonli video bilan bir xil H.264 dekoderi tomonidan orqaga o'tkazish va subtitrlar bilan dekodlanadi. Qurilma tomonida orqaga o'tkazish uchun HTTP diapazonini qo'llab-quvvatlash amalga oshiriladi.

Ekrandagi matn qidiruvi joriy etildi. Yozib olish paytida qurilma ekranni har uch soniyada belgilar to'plami sifatida o'qiydi va o'qiganlarini video yonidagi faylga saqlaydi. Yozib olish panelida ibora qidiruvi uning ekranda qachon bo'lganligini ko'rsatadi va yozuvni shu nuqtadan boshlab ijro etadi. Faqat belgilar generatori tomonidan yaratilgan ekranlar o'qiladi — BIOS, yuklash menyusi, sozlash dasturi va konsol.

Yozib olish, vaqt oralig'i va skrinshotlarni qurilma stsenariylaridan ("300-sonli yozuv", "60-sonli vaqt oralig'i", "skrinshot") va buning uchun kalit va tugmalarga ega Home Assistantdan ishga tushirish mumkin. Qurilmaning soati endi NTP orqali sinxronlashtiriladi va vaqt mintaqasini sozlamalardagi shaharlar ro'yxatidan tanlash mumkin — ilgari u interfeysdan yashiringan bo'limda saqlangan edi.

0.45.0 dan keyingi versiyalardagi boshqa o'zgarishlar:

  • 0.46. VIEWE ESP32-P4-Pi va Waveshare ESP32-P4-NANO-WIFI6-DB platalari uchun tuzilmalar qo'shildi. Mikrodastur endi -O2 optimallashtirish bilan yaratilgan, kichik xotira ajratmalari PSRAMga ko'chirilgan va muzlatilgan vazifa endi dump bilan qayta ishga tushirishga olib keladi.
  • 0.47. Endi Runbooklar mavjud — matn ekranida iboraning paydo bo'lishi yoki yo'qolishini kuta oladigan va brauzer yopilganda qurilmaning o'zida bajariladigan makrolar. DuckyScript formatidagi skriptlar endi qabul qilinadi. Cron sintaksisi va Telegramga bildirishnomalar (skrinshotlar bilan) yoki veb-huklarga ega rejalashtiruvchi qo'shildi.
  • 0.48. microSD karta va WiFi moduli endi bir vaqtning o'zida ishlaydi — ilgari ikkalasi ham bir xil SDMMC uyasidan foydalangan.
  • 0.49. Function EV va Waveshare ESP32-P4-ETH platalaridagi microSD karta endi 4 MGts o'rniga 40 MGts avtobus chastotasida ishlaydi (taxminan 9 MB/s o'qish, taxminan 4 MB/s yozish): uyaning yo'laklari o'rnatilgan kuchlanish regulyatori tomonidan quvvatlanmagan. Veb-interfeys orqali tasvirni yuklash taxminan 50 baravar tezlashtirildi, Ethernet orqali 3,5 MB/s gacha. Eski BIOS-lar uchun klaviatura rejimi qo'shildi - maqsadli mashina endi sichqoncha yoki saqlash qurilmasidan tashqari USB 1.1 tezligida bitta qurilmani ko'radi. Qurilma endi HDMI rejimi ikkita MIPI CSI yo'lakchasining o'tkazish qobiliyatidan oshib ketganligini xabar qiladi.
  • 0.49.1. Maqsadli mashina tomonidan virtual diskdan o'qish tezligi 256 KB bloklarda kartadan o'qish orqali 5,6 dan 9 MB/s gacha oshirildi. Tasvir o'zgarishlari endi USB ni qayta ulamasdan maqsadli mashinaga ko'rinadi.
  • 0.50. MicroSD karta qurilma ishlayotgan paytda, hatto nusxa ko'chirish paytida olib tashlangan bo'lsa ham, almashtirilishi mumkin: uya har besh soniyada tekshiriladi. Brauzerning oxirgi tugma bosilishidan oldingi kadrni statsionar ekranda ko'rsatishiga sabab bo'lgan MJPEGdagi kechikish tuzatildi.

Manba: opennet.ru

DDoS himoyasi, VPS VDS serverlari bo'lgan saytlar uchun ishonchli hosting sotib oling 🔥 DDoS himoyasi, VPS VDS serverlari bilan ishonchli veb-sayt xostingini sotib oling | ProHoster