Entries tagged bus

Bildschirm in den Standby-Modus fahren über CEC via HDMI

Posted on 2. November 2012 Comments

Das mit dem Bildschirm verdunkeln und das HDMI Signal kappen war ja schon eine nette Sache aber Bildschirme haben ja auch nicht umsonst eine Standby Funktion. Diese wird normalerweise aktiviert, wenn man auf den Power-Off Knopf auf der Fernbedienung drückt. Manche Bildschirme können das auch zeitgesteuert oder beim Rausziehen eines Kabels (sollte hier auch aktiviert sein). Wenn man einen Bildschirm über HDMI angeschlossen hat und beide Geräte es unterstützen, kann man über das Kabel ein paar Steuersignale über die CEC-Schnittstelle senden. Die Implementierung von CEC heißt bei den Herstellern unterschiedlich, man findet es also ggf. im Monitor Menü nicht unter diesem Namen. Jetzt wollte ich ja wie gesagt mit einem Raspberry Pi den Bildschirm ein- und ausschalten. Dafür kann man den cec-client benutzen. Ich habe dafür die neuste Version(1.9.0) von Christoph vom Blog selfprogramming als .deb runtergeladen und installiert. Eventuelle Versionen, die über apt-get installiert wurden, müssen vorher deinstalliert werden, ebenso solche, die über github installiert wurden. Zusätzlich braucht man noch ein paar packages, sonst bekommt man folgende Meldung:

libcec.so.1: cannot open shared object file: No such file or directory

Also die folgenden packages installieren:

sudo apt-get install libraspberrypi-dev libplist1 libmicrohttpd10 libtinyxml2.6.2 libyajl2 libssh-4  libmysqlclient18 liblzo2-2 libfribidi0 libcurl3-gnutls liblockdev1

Eine Auflistung der CEC-fähigen devices ergibt folgendes:

pi@raspberrypi$ cec-client -l
Found devices: 1
device: 1
com port: RPI
firmware version: 1
type: Raspberry Pi

Ausschalten bzw. Standby funktioniert folgendermaßen:

echo "standby 0" | cec-client -s

Dabei steht der -s für single, also einfache Ausführung, damit der Client danach nicht weiter verbunden bleibt.

Anschalten funktioniert jetzt wie man sich es schon fast denken könnte:

echo "on 0" | cec-client -s