Kuriame HTPC, Namų kino kompiuteris (iš namų servo)

htpc

Nuo Plausible statistikos kaupimo, šis tekstas buvo skaitytas 265 kartą/us.

Šio teksto atnaujinimo ar rašymo laikas jau yra senesnis, kaip vieneri metai, tad per šį laiką galėjo mano nuomonė pasikeisti bei aptartos konfigūracijos.

Tekstas buvo atnaujintas: 2023-03-10.

Gavosi taip, jog vieną priedėlį reiks naikinti ir kažką padėti į jo vietą.

Kadangi tingiu ieškoti naujo ir pirkti, plius jie nelabai atrodo pažengę kalbant apie amlogic soc’us.

Tai galvoju, jog reikia pamėginti kažką pasigaminti nes visą įrangą, kaip ir turiu.

Buvo keli niuansai kuriuos norėčiau aprašyti.

Prenumeruok

Gauk į paštą žinutę apie naujus įrašus

Pultelis

Pradedam nuo pradžių.

Tai reikėjo pultelio su bt.

Rinkausi iš kelių, bet galop nusipirkau tokį kuris turi nedaug mygtukų.

G20S

Kuriame HTPC, Namų kino kompiuteris (iš namų servo) 1

Didžiausias minusas kurį jis turi jog tėra du mygtukai programuojami ir jie pačiame viršuje.

Išjungimo ir nutildymo.

O norėčiau jog pačio tv garsą galėčiau reguliuoti tai nors valdosi pačio kodi garsas.

Aplamai rankoje laikosi man patogiai ir yra tas click garsas spaudžiant kuris man patinka ir visiškai netrukdo. Kiek žinau kitiems tai yra tragedija.

Prijungus prie kodi, neveikia OK mygtukas (android sistemoje veikia), jis veikia tik tada jeigu įjungiamas mouse režimas.

Tad reikia kai ką koreguoti.

Stabdome kodi:

systemctl stop kodi

Tada žiūrime ką turime.

cat /proc/bus/input/devices

Turime gauti tai:

I: Bus=0003 Vendor=25a7 Product=5704 Version=0101
N: Name="2.4G Smart Remote"
P: Phys=usb-3f980000.usb-1.3/input0
S: Sysfs=/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.3/1-1.3:1.0/0003:25A7:5704.0001/input/input0
U: Uniq=
H: Handlers=sysrq kbd event0
B: PROP=0
B: EV=10001f
B: KEY=3f 3007f 0 0 0 0 483ffff 17aff32d bf544446 0 0 1 130f93 8b17c007 ffff7bfa d941dfff febeffdf ffefffff ffffffff fffffffe
B: REL=40
B: ABS=1 0
B: MSC=10

Mums reikės sysfs dalies ir handlers.

Pradžioje testuoja event0 ką mums parodys:

evtest /dev/input/event0

Spaudžiame tada ok ir gauname:

Event: time 1510571041.251851, type 4 (EV_MSC), code 4 (MSC_SCAN), value 70028
Event: time 1510571041.251851, type 1 (EV_KEY), code 352 (KEY_OK), value 1
Event: time 1510571041.251851, -------------- SYN_REPORT ------------
Event: time 1510571041.291835, type 4 (EV_MSC), code 4 (MSC_SCAN), value 70028
Event: time 1510571041.291835, type 1 (EV_KEY), code 352 (KEY_OK), value 0
Event: time 1510571041.291835, -------------- SYN_REPORT ------------

Svarbiausios dalys po value.

Tada reikia dar papildomos informacijos.

udevadm test /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.3/1-1.3:1.0/0003:25A7:5704.0001/input/input0 2>&1 | grep ^MODALIAS

Susikeičiame aišku nuo /devices/, ką rodė iš sysfs.

MODALIAS=input:b0003v05A4p9881e0110-e0,1,4,11,14,k77,7D,7E,7F,160,ram4,l0,1,2,sfw

Reikės input dalies, bei dalies iki e0110.

Kuriame udev taisyklę, sukurdami failą:

/etc/udev/hwdb.d/70-local-keyboard.hwdb

Kuriame turi būti:

evdev:input:b0003v05A4p9881*
KEYBOARD_KEY_70028=enter

Sudedami iš dalių kurias gavome prieš tai.

Kad nereiktų perkrauti sistemos:

udevadm hwdb --update
udevadm trigger -s input

Ir tada turi pradėti OK veikti.

Kodi rašome į konteinerį

Kadangi naudoju proxmox, tai pradžioje buvau pasidaręs ant host.

Bet radau skriptą kuris sutvarko reikalus.

Proxmox host terminale paleidžiame:

bash -c "$(wget -qLO - https://raw.githubusercontent.com/mrrudy/proxmoxHelper/main/ct/kodi-v1.sh)"

Mums sukurs konteinerį kuris gaus visas reikiamas privilegijas.

Tada atsidarius jau patį konteinerį:

bash -c "$(wget -qLO - https://raw.githubusercontent.com/mrrudy/proxmoxHelper/main/ct/kodi-v1.sh)"

Įrašys kodi ir automatiškai paleis.

Turime matyti vaizdą jau per hdmi.

Kai pradėjo veikti iš konteinerio, ištryniau viską iš host.

Apie patį kodi veikimą jau atskira kalba, bet čia plėstis nežadu.

Home Assistant

Kadangi kodi leidžiasi iš konteinerio.

Galvojau ar įmanoma padaryti jog eitų patogiai valdyti nes proxmox web ui nepatogus per telefoną.

Galop gavosi taip:

Kuriame HTPC, Namų kino kompiuteris (iš namų servo) 2

Nekorektiškai rodo tas pirmas mygtukas 😂

Nes netikrina ar tikrai įjungtas konteineris, bet slankiojant duoda per api komandą proxmox’ui.

Pradžioje galvojau jog slankiojimo užteks (tada veikia logiškai mygtukas), bet tiesiog gavosi taip jog tv įjungiu startuoja kodi, jeigu tv išjungtas tada išjungia kodi.

Kodėl taip norėjau?

Tiesiog, kad nebūtų eikvojami resursai, kurie pasėkoje naudoja daugiau elektros ir nereiktų pačiam spaudinėti.

Kaip tai veikia?

Sukuriamas sh failiukas su komanda:

curl -XPOST -H 'Authorization: PVEAPIToken=root@proxmox!servas=a74sdaqd-8d78-450e-badg6-8asdfd3c1dsae' https://192.168.1.200:8006/api2/extjs/nodes/home/lxc/124/status/start --insecure

Per proxmox sukuriame api token, jis duoda root@ ir token, kuriuos aišku pasikeisti reikia pagal savo 😄

Yra ir laikini sprendimai, kai pasiima token ir jis galioja tik tam tikrą laiko tarpą. Vėliau imant naują vėl generuojamas, saugiau tai, kai iš išorės viskas vyksta bet vidiniame tinkle namų, nematau reikalo tai daryti.

Servo adresą pasikeisti, bei home pervadinti į servo pavadinimą, 124 yra konteinerio id kurį irgi reikia pasikeisti.

Reiks antro tokio pačio tik vietoje start reikės stop.

Tada, kai spaudžiamas mygtukas ha paleis bash su curl ir per proxmox api bus gaunama komanda.

Ha configuration.yaml faile reikia pridėti:

shell_command:
  kodi_on: bash /config/shell/kodi_on.sh
  kodi_off: bash /config/shell/kodi_off.sh

Tada reikia helper susikurti.

Kuriame HTPC, Namų kino kompiuteris (iš namų servo) 3

Jog tai bus boolean kuris reiškia jog galima slankioti.

Tada reikia kurti automatizaciją:

Kuriame HTPC, Namų kino kompiuteris (iš namų servo) 4

Triggers turi būti nusakyta jog vyksta on ir off.

Kuriame HTPC, Namų kino kompiuteris (iš namų servo) 5

Tada reikia dar vieno, jog iš on į off.

Kuriame HTPC, Namų kino kompiuteris (iš namų servo) 6

Conditions jeigu įvyko trigger id, tada reiškia jog reikia vykdyti shell komandą.

Reiks atvirkščio dar, iš off kas bus daroma.

Čia dalis kuri atsakinga už mygtuką.

Kai tai padaroma, galima jau į dashboard’ą dėtis mygtuką.

O jeigu norim, kad sektų tv būseną.

Tai triggers turi būti kas vyksta, kai tv įjungtas ir iš išjungtas.

Action tuo pačiu principu, reikės dviejų, vienas kai tv on kitas kai off, jog startuotų shell komanda, kai pastebimas būsenos pakeitimas.

Kuriame HTPC, Namų kino kompiuteris (iš namų servo) 7

Kodi startuoja gan greitai, tai matau gal sekundę terminalo vaizdą ir tada kodi atsiranda.

Prisigalvoti galima įvairių variantų, galima sekti telefono lokaciją, jog jeigu namie telefonas, kodi turi eiti, išeini iš namų tada off, čia aišku jeigu vienas gyveni 😂

Arba sekti visų šeimos telefonus, laiką… variacijų daug.

Kaip sakant gavau papildomą priedelį namie.

Nusprendžiau vis dėl to kitaip

Realiai viskas veikia, gana tvarkingai, bet vis tiek likau prie varianto su android priedėliu.

Rodant vaizdą, elektros sąnaudos didesnės negu žiūrint per android priedėlį.

Šiuo metu naudoju Amazon Firestick 4K.

Nelabai ans man patinka (mano poreikiams gan stringa) bei nesusitvarko su IPTV deinterlacing, kai kuriais SD kanalais.

Bet ne taip, kaip Xiaomi.


Siūlau prenumeruoti, kaip tai padaryti aprašiau čia (el. paštu, telegram ir discord kanalai, facebook, twitter).



Gal patiks ir kiti įrašai
Linux procesų valdymas 15
Skaityti

Linux procesų valdymas

Tekstas buvo atnaujintas: 2020-05-05. Dar vienas įrašas apie Linux pasaulį bei programų ir procesų valdymą. Kaip ir praeitame…