![]() |
© 2005 Hubertus
Sandmann |
![]() |
Die Fernbedienung für VDR | Der
automatische WakeUp für VDR![]() |
|
![]() ![]() |
Für einen echten Standalone-VDR gehört es sich natürlich, dass sich das Gerät per Infrarot-Fernbedienung steuern lässt. Hierfür nutzt man z. B. die Software LIRC (Linux Infrared Remote Control) von http://www.lirc.org/. Damit lässt sich die VDR-Box nach der Einrichtung vollständig über das Menü des VDR ohne zusätzlichen Monitor oder Maus und Tastatur kontrollieren. Geeignet ist dazu nahezu jede IR-Fernbedienung. Bei der Auswahl sollte man jedoch darauf achten, dass das ausgewählte Modell die nötigen 4 Farbtasten zur Steuerung des VDR besitzt, damit die Bedienung später ohne geistige Verrenkungen möglich ist.
![]() ![]() |
Auf der LIRC-Homepage findet sich eine Aufstellung von geeigneter Empfänger-Hardware, welche mit LIRC zusammenarbeitet. Einfache serielle Empfänger der Marke "Eigenbau" kann man sich für ein paar Euro selbst zusammenbauen. Als mögliche Bezugsquellen für fertig aufgebaute so genannte Homebrew Serial-Dongle kommen z. B. http://www.zapway.de/ oder http://irdeo.de/ in Betracht.
Mit etwas Glück findet sich vielleicht eine bereits vorhandene Konfigurationsdatei für die eigene Fernbedienung auf http://www.lirc.org/remotes/. In diesem Fall kopiert man diese einfach unter der Bezeichnung /etc/lircd.conf auf den VDR-Rechner.
![]() ![]() |
Die Einrichtung der Software geschieht bei der von mir verwendeten SuSE-9.3-Distribution am einfachsten durch Nachinstallieren des Paketes lirc mittels YaST. Normalerweise überlässt einem ein Setup-Skript die Wahl zwischen den verschiedenen Empfängertypen, mit denen LIRC betrieben werden kann. In diesem Fall müssen dazu einige Variablen in der zugehörigen Konfigurationsdatei /etc/sysconfig/lirc editiert werden.
LIRCD_DEVICE="/dev/lirc" LIRCD_DRIVER="default" LIRC_MODULE="lirc_serial"Es muss noch gewährleistet sein, dass der serielle Port nicht durch den Kernel belegt wird. Es ist daher folgender Aufruf vorab zu tätigen um als Beispiel für die Schnittstelle COM1 den Anschluss "freizuhalten":
setserial /dev/ttyS0 uart noneZukünftig sorgt bei einer SuSE-Distribution ein Eintrag in der Datei /etc/init.d/boot.local dafür, dass dies bei jedem Rechnerstart automatisch ausgeführt wird:
/bin/setserial /dev/ttyS0 uart noneFür einen ersten Test kann man das Treibermodul lirc_serial für einen seriellen Empfänger schon mal händisch laden:
modprobe lirc_serialNun sorgt man noch dafür, dass der LIRC-Daemon bei jedem Rechnerstart automatisch gestartet wird.
chkconfig lirc onDamit die VDR-Software zukünftig auch auf die Infrarotsignale reagiert, muss sie mit der zusätzlichen Option "--lirc" aufgerufen werden. Also macht man eine entsprechende Ergänzung in der Datei /usr/local/bin/runvdr.
VDRPRG="/usr/local/bin/vdr" VDRCMD="$VDRPRG -t /dev/tty8 -w 60 -c /etc/vdr -E /var/vdr \ --lirc --vfat -s /usr/local/bin/vdrpoweroff.sh $*"Danach werden beim nächsten Start von VDR die Tasten der Fernbedienung einmalig angelernt.
![]() ![]() |
Im Falle einer noch unbekannten Fernbedienung geht es daran, die zur verwendeten Fernbedienung passende Konfigurationsdatei namens lircd.conf zu erstellen. Das Aufzeichnen der Signale und das Erzeugen der Konfigurationsdatei geschieht mit:
/usr/bin/irrecord /etc/lircd.confDanach muss man testweise ein paar Tasten drücken. Im weiteren Arbeitsgang muss man die zu erlernenden Tasten sinnvoll benennen und dann die entsprechende Taste für ca. 1 Sekunde drücken. Zum Abschluss ist eine beliebige Taste so schnell wie möglich hintereinander zu betätigen. Die Software des VDR reagiert auf bestimmte "Schlüsselwörter", die der Steuerung des VDR später dienen sollen. Die für die Grundfunktionen von VDR nötigen Tasten sind in folgender Beispieldatei aufgeführt. Die Bezeichnung muss nicht mit den Funktionen der VDR-Software überinstimmen. Man kann sie beliebig benennen. Sinnvoll ist hier die Beschriftung der Tasten auf dem Gerät.
begin remote name lircd.conf bits 6 flags RC5|CONST_LENGTH eps 30 aeps 100 one 925 861 zero 925 861 plead 976 pre_data_bits 7 pre_data 0x40 gap 113203 min_repeat 1 toggle_bit 2 begin codes POWER 0x000000000000000C 1 0x0000000000000001 2 0x0000000000000002 3 0x0000000000000003 4 0x0000000000000004 5 0x0000000000000005 6 0x0000000000000006 7 0x0000000000000007 8 0x0000000000000008 9 0x0000000000000009 0 0x0000000000000000 BACK 0x000000000000003A MENU 0x000000000000000B UP 0x0000000000000020 DOWN 0x0000000000000021 RIGHT 0x0000000000000010 LEFT 0x0000000000000011 OK 0x0000000000000023 VOLUME+ 0x000000000000003F VOLUME- 0x000000000000003C MUTE 0x000000000000000D RED 0x000000000000001B GREEN 0x000000000000001A YELLOW 0x000000000000002B BLUE 0x0000000000000028 end codes end remoteUm die Infrarotsignale nun auch tatsächlich zu verarbeiten, muss der LIRC-Daemon bereits im Hintergrund laufen.
/etc/init.d/lirc startEinen schnellen Test, ob das alles geklappt hat, bewerkstelligt man mit:
/usr/bin/irwDanach kann man das korrekte Erkennen der Fernbedienungscodes kurz antesten durch Drücken von Tasten auf der benutzten Fernbedienung. Beenden kann man den Test jederzeit mit der Tastenkombination: [STRG]+[C]. Falls man das Erlernen der Codes im Fehlerfall wiederholen muss, lässt sich der laufende LIRC-Daemon dazu vorher beenden und die fehlerhafte Datei löschen.
/etc/init.d/lirc stop rm /etc/lircd.conf
Hat dies alles am Ende zur Zufriedenheit funktioniert, sollte man auch nicht den Wunsch des Entwicklers von LIRC vergessen, eine funktionstüchtig erstellte Konfigurationsdatei für eine bislang unbekannte Fernbedienung an den Programmautor der LIRC-Software zu senden, damit die Allgemeinheit davon profitieren kann.
Will man den VDR für die Infrarot-Fernbedienung nicht neu anlernen, so kann man die Datei /etc/vdr/remote.conf auch einfach ensprechend ergänzen:
LIRC.Up UP LIRC.Down DOWN LIRC.Menu MENU LIRC.Ok OK LIRC.Back BACK LIRC.Left LEFT LIRC.Right RIGHT LIRC.Red RED LIRC.Green GREEN LIRC.Yellow YELLOW LIRC.Blue BLUE LIRC.0 0 LIRC.1 1 LIRC.2 2 LIRC.3 3 LIRC.4 4 LIRC.5 5 LIRC.6 6 LIRC.7 7 LIRC.8 8 LIRC.9 9 LIRC.Power POWER LIRC.Volume+ VOLUME+ LIRC.Volume- VOLUME- LIRC.Mute MUTE
![]() ![]() |
Wenn schon ernste Zweifel aufkommen, ob die eingesetzte Empfänger-Hardware oder die Fernbedienung überhaupt funktionieren, kann man mit einem mitgelieferten Tool mode2 einen schnellen Test durchführen, mit dem sich klären lässt, ob überhaupt irgendein Signal erkannt wird.
/usr/bin/mode2
![]() ![]() |
Alternativ lässt sich auch der eingebaute Empfänger einer Hauppauge-Nexus Karte zusammen mit dem Remote-Plugin von http://www.escape-edv.de/endriss/vdr/ einbinden. Dies geht prinzipiell auch mit anderen, als der mitgelieferten Fernbedienung, sofern diese den RC5-Code unterstützt.
Mittels einer zusätzlichen Schaltung lässt sich das Remote-Plugin grundsätzlich auch für die ersten Revisionen der TechnoTrend-basierten full-featured DVB-Karten nutzen. Die Anleitung für eine ältere Version des Plugins findet sich hier: http://www.hubertus-sandmann.homepage.t-online.de/vdr_remote.htm.
![]() |
Die Fernbedienung für VDR | Der
automatische WakeUp für VDR![]() |
![]() |
© 2005 Hubertus
Sandmann |