• Vítejte na XBMC-Kodi.cz
  • Česko-slovenská komunita fanoušků XBMC/Kodi
Vítejte návštevníku! Přihlášení Registrace


Hodnocení tématu:
  • 1 Hlas(ů) - 5 Průměr
  • 1
  • 2
  • 3
  • 4
  • 5
Trvale běžící *ELEC a ukončení Kodi
#12
Hrátky s led

Pro výše popsaná řešení trvale běžícího systému (CoreELEC) na HW Beelink GT King instalace, která kromě Kodi zajišťuje i funkce TVServeru pro celou domácnost jsem chtěl nějak uživatelsky využít led diody boxu
   
Pozn. Ve skutečnosti rozvěcují tyto diody oči lebky, která je vyobrazené na horní straně box-u.

Oči svítí jednu ze dvou barev. Červenou, která se rozsvěcí při zapnutí napájení a zelenou, jejíž rozvícení se dá definovat v nastavení CoreELEC. Já jim mám nastavenou jako reakci na přijetí IR povelu z DO. V mém případe IR povel vysílá pouze tlačítku POWER, což je přesně to, co potřebuji vědět. Tedy že jsem DO správně namířil a povel byl přijatý.

Dlouho jsem se snažil zjistit, jak by se v CoreELEC dala led rozvěcet z prostředí pythonu, ale nikdo mi nebyl schopen poradit, až jsem v jednom článku narazil na to, jak jsou tyto věci řešeny obecně v Linux-u. Pak už to bylo celkem jednoduché.

Přirazení akce, která rozvítí led, je v tomto případě definováno v /sys/class/leds/sys_led/trigger. Po zadání
 
Kód:
cat /sys/class/leds/sys_led/trigger
pak dostaneme seznam všech aktivit, které mohou stav led ovlivnit:
 
Kód:
none kbd-scrolllock kbd-numlock kbd-capslock kbd-kanalock kbd-shiftlock kbd-altgrlock kbd-ctrllock kbd-altlock kbd-shiftllock kbd-shiftrlock kbd-ctrlllock kbd-ctrlrlock timer oneshot heartbeat backlight gpio cpu0 cpu1 cpu2 cpu3 cpu4 cpu5 default-on transient panic emmc sd sdio rfkill0 rfkill1 rfkill2 [rc-feedback] rfkill3
Aktuálně nastavená hodnota je v tomto případě [rc-feedback], což je právě ona v CoreELEC nastavená reakce na přijetí IR povelu z DO. Rychlý test způsob využití potvrdil. Změnu režimu lze provést zapsáním požadovaného kódu. Trvalého rozsvícení led tedy např. dosáhneme příkazem:
 
Kód:
echo default-on > /sys/class/leds/sys_led/trigger
Mně v Kodi běží trvale service, která provádí rychlé periodické dopočty některých proměnných, takže jsem ji využil k tomu, že mi periodicky a střídavě (po 1s) zapisují dva režimy:
 
Kód:
echo default-on > /sys/class/leds/sys_led/trigger
echo rc-feedback > /sys/class/leds/sys_led/trigger
Kromě toho mám ještě doplněný další script, který mi led rozsvěcí v jiné periodě, pokud Kodi neběží, ale v Tvheadend probíhá nějaké nahrávání a nebo je k němu připojen nějaký jiný Kodi klient. V tomto případě s pauzou 5 sekund led rychle po sobě zabliká (s periodou 0.4 sekundy) a počet těchto rychlých zabliknutí je dán součtem počtu právě probíhajících nahrávek plus počet aktivních klientů připojených k Tvheadend. To už je ale zase záležitost sh scriptu běžícího v systému mimo Kodi, který je aktivní pouze v okamžiku, kdy Kodi neběží.

Nejde o žádnou důležitou funkci, spíše jsem si jen v době delší nemoci pohrál, ale možná to pro podobné hračičky bude zajímavá inspirace. Použít to lze u všech *ELEC a Linux instalací. Je ale třeba počítat, že konečné adresy /sys/class/leds/... se mohou v jiných systémech nebo verzích lišit, a že i HW může být různý (tzn. nemusí to nutně být Beelink GT King).
 
Citovat
  


Příspěvků v tématu
RE: Trvale běžící *ELEC - od jkmh - 14.8.2022, 11:25
RE: Trvale běžící *ELEC - od JiRo - 14.8.2022, 15:27
RE: Trvale běžící *ELEC - od jkmh - 14.8.2022, 19:15
RE: Trvale běžící *ELEC - od JiRo - 14.8.2022, 22:06
RE: Trvale běžící *ELEC a ukončení Kodi - od JiRo - 03.1.2023, 23:07

Přejít na fórum:


Prochází: 1 host(ů)