© 2005 Hubertus Sandmann


Version: 0.3.0
Stand: 22.10.2005

nach untenEinleitung
nach untenVoraussetzungen
nach untenInstallation
nach untenFernbedienung anlernen
nach untenFehlersuche
nach untenAusblick

Einleitung

nach oben 

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.


Voraussetzungen

nach oben 

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.


Installation

nach oben 

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 none

Zukü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 none

Für einen ersten Test kann man das Treibermodul lirc_serial für einen seriellen Empfänger schon mal händisch laden:
 modprobe lirc_serial

Nun sorgt man noch dafür, dass der LIRC-Daemon bei jedem Rechnerstart automatisch gestartet wird.
 chkconfig lirc on

Damit 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.


Fernbedienung anlernen

nach oben 

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.conf

Danach 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 remote

Um die Infrarotsignale nun auch tatsächlich zu verarbeiten, muss der LIRC-Daemon bereits im Hintergrund laufen.
 /etc/init.d/lirc start

Einen schnellen Test, ob das alles geklappt hat, bewerkstelligt man mit:
 /usr/bin/irw

Danach 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



Fehlersuche

nach oben 

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

Ausblick

nach oben 

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.



© 2005 Hubertus Sandmann