Raspberry Pi og HDMI-CEC

CEC er en avansert mulighet for å sende kommandoer via HDMI kabelen mellom enheter som for eksempel en TV eller en dekoder.

På kontoret hos SuperOffice har vi en TV som er satt opp som dashboard i en av gangene våre. Denne har vi en Raspberry Pi koblet til hvor jeg viser ett dashboard utviklet i Power BI. Problemet med denne TV’en er at den slår seg av hver fjerde time og vi har rotet bort fjernkontrollen…

Løsningen har vist seg å installere CEC-utils på Raspberry Pi’en og sette opp en CRON-jobb som automatisk slår TV’en på klokka 07:30 om morgenen. Så sender vi ett signal til den hver 3 time som sørger for at den ikke slår seg av iløpet av dagen før klokka 17:30. Da slår den seg av og sparer strøm frem til neste morgen. I helgene får den hvile hele helgen.

For å gjøre dette måtte vi først installere CEC-utils:

sudo apt install cec-utils

Deretter lagde kollega Ivar Sandstad to CEC-kommandoer som jeg lagret i en fil (TV.sh):

# On kommando for å slå på TV'en
echo 'on 0' | cec-client -s -d 1
# Bytt til Raspberry Pi som aktiv input
echo 'as' | cec-client -s -d 1

Nå var det bare for meg å å lage en CRON-jobb for å kjøre dette skriptet:

$ crontab -e
no crontab for pi - using an empty one

Select an editor.  To change later, run 'select-editor'. 
1.  /bin/ed
2. /bin/nano        <---- easiest
3. /usr/bin/vim.tiny 

Jeg valgte editor og la til en cron-jobb for å hindre at TVen slår seg av etter 4 timer timeout mellom 07:30 og 17:30:

# Slå på TV og sett Raspberry Pi som input hver tredje time i kontortiden
30 7,10,13 * * 1-5 /home/pi/TV.sh >> /home/pi/TV.log 

Det var alt vi trengte å gjøre. Merk at enkelte TV’er kan komme med CEC deaktivert, så sjekk det før du begynner å feilsøke. På Samsung kalles det Anynet+, hos Philips heter det EasyLink eller Fun-Link avhengig av modell, LG kaller det SimpLink, hos Sony heter det Bravia Sync, osv…

Vi brukte en guide fra Linux Uprising da vi satte dette opp, denne guiden er full av tips til oppsett og muligheter.

Legg igjen en kommentar