LIRC

Aus TuxBoxWIKI
Version vom 3. Juni 2006, 20:39 Uhr von Mogway (Diskussion)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche


Allgemeines

Mit LIRC (Linux Infrared Remote Control) hat man die Möglichkeit z.B. einen Videorecorder zu steuern oder die Lautstärke eines Verstärkers/Receivers mit der DBox2 Fernbedienung einzustellen. Da die LIRC Software in den meisten Images bereits vorhanden ist, wird nur noch eine Konfigurationsdatei mit den IR-Codes passend zu den entsprechenden Geräten benötigt. Abhängig davon, ob das zu steuernde Gerät die Signale von der DBox2 empfangen kann, noch eine IR-Verlängerung, die an der Rückseite der DBox2 an dem Ausgang VCR Steuerung angeschlossen wird.


Die LIRC Dateien

Die Konfigurationsdateien müssen auf der DBox2 in dem Verzeichnis /var/tuxbox/config/lirc/ liegen. Bei den meisten Images, wird der LIRC Daemon gestartet, sobald die Datei /var/tuxbox/config/lirc/lircd.conf vorhanden ist.

Die Datei lircd.conf muss immer vorhanden sein, da hier die zu sendenden IR-Codes definiert sind. Je nach Anwendung müssen eine oder mehrere Dateien mit der Endung .lirc vorhanden sein. Hier sind die Befehlsfolgen definiert, die bei dem Aufruf der .lirc Datei ausgeführt werden sollen. Aufgerufen werden diese Dateien durch die GUIs.


lircd.conf

In dieser Datei müssen die passenden IR-Codes zu den zu steuernden Geräten definiert sein. Auf der LIRC Homepage gibt es für die meisten Geräte passende Dateien zum herunterladen.


audioplayeron.lirc

Diese Datei wird beim Starten des Audioplayers aufgerufen.


audioplayeroff.lirc

Diese Datei wird beim Beenden des Audioplayers aufgerufen.


record.lirc

Diese Datei wird beim Starten einer Aufnahme aufgerufen.


stop.lirc

Diese Datei wird beim Beenden einer Aufnahme aufgerufen.


sleep.lirc

Diese Datei wird vor dem Ausschalten der DBox2 durch den Sleeptimer aufgerufen.


sbon.lirc

Diese Datei wird aufgerufen, bevor die DBox2 in den StandBy geht.


sboff.lirc

Diese Datei wird aufgerufen, nachdem die DBox2 aus dem StandBy aufwacht.


mute.lirc

Diese Datei wird aufgerufen, wenn die Mute Taste an der Fernbedienung gedrückt wird.

Hierzu muss außerdem in den Audioeinstellungen LIRC aktiviert werden.


volplus.lirc

Diese Datei wird aufgerufen, wenn die Lautstärke + Taste an der Fernbedienung gedrückt wird.

Hierzu muss außerdem in den Audioeinstellungen LIRC aktiviert werden.


volminus.lirc

Diese Datei wird aufgerufen, wenn die Lautstärke - Taste an der Fernbedienung gedrückt wird.

Hierzu muss außerdem in den Audioeinstellungen LIRC aktiviert werden.


Beispiel einer VCR Aufnahmesteuerung

Vorbereitung

1. Von http://www.lirc.org/remotes/ eine zur Fernbedienung passende Datei downloaden (lircd.conf)
2. Die Dateien record.lirc und stop.lirc schreiben, dies kann mit einem normalen Texteditor gemacht werden (siehe Beispiel).


Installation

Die Dateien lircd.conf, record.lirc, stop.lirc auf der DBox2 unter var/tuxbox/config/lirc speichern.


Die Konfigurationsdateien

lircd.conf

#
# this config file was automatically generated
# using lirc-0.6.6(any) on Tue Oct  7 20:47:26 2003
#
# contributed by 
#
# brand:                       Universum
# model no. of remote control: 91794 (laut Batteriefach)
# mit JogShuttle, welches aber nicht genutzt wird.
# devices being controlled by this remote:
#  Universum VR 2796 (Videorecorder)

begin remote
 # Der hier definierte Name muß in der record.lirc, stop.lirc eingetragen werden
 name  VCR 
 # Hier wird die Art des zu sendenden Codes beschrieben
 bits           16
 flags SPACE_ENC|CONST_LENGTH
 eps            30
 aeps          100
 header       9080  4430
 one           638  1615
 zero          638   489
 ptrail        639
 repeat       9081  2178
 pre_data_bits   16
 pre_data       0x8C73
 gap          108040
 min_repeat      2
 toggle_bit      0
# Ab hier folgen die eigendlichen Codes, für jede Taste eine Zeile begin codes 1 0x00000000000020DF 2 0x000000000000A05F 3 0x000000000000609F 4 0x000000000000E01F 5 0x00000000000030CF 6 0x000000000000B04F 7 0x000000000000708F 8 0x000000000000F00F 9 0x00000000000038C7 0 0x000000000000B847 Preset 0x0000000000007986 Clear 0x00000000000052AD Channel+ 0x000000000000807F Channel- 0x00000000000040BF Ok 0x000000000000D22D Input 0x0000000000007887 Menu/TV 0x00000000000053AC Display 0x00000000000032CD Showview 0x00000000000031CE Surround 0x0000000000000AF5 A-Dub 0x000000000000926D Audio 0x000000000000C03F VPS/PDC/DPCPlus 0x000000000000F20D SportsRevue 0x000000000000D02F TV/VCR 0x00000000000010EF Type 0x000000000000629D SP/LP 0x0000000000007A85 Reset 0x00000000000022DD ->0<- 0x000000000000C23D Slow 0x00000000000058A7 On/Off 0x000000000000DA25 Record 0x000000000000A857 Index 0x0000000000009867 Pause 0x0000000000008877 Play 0x00000000000028D7 FastRew 0x00000000000048B7 FastFwd 0x000000000000C837 Stop 0x00000000000008F7 end codes end remote # Um mehrere Geräte in einer Lirc-Konfigurationen zu verwalten (z.B. VCR, TV, Verstärker) können die # entsprechenden Geräte einfach, mittels eines weiteren begin remote/ end remote Blocks eingefügt werden. # # begin remote # ... # end remote # # begin remote # ... # end remote


record.lirc

# Wartezeit eine Sekunde
WAIT 1000 

# Name VCR einschalten. Das Signal wird eine Sekunde lang gesendet
VCR On/Off 1000 

# Wartezeit eine halbe Sekunde
WAIT 500

# schaltet auf AV um
VCR Input 1000 

# Wartezeit eine halbe Sekunde
WAIT 500

# Die Aufnahme wird gestartet
VCR Record 1000 


stop.lirc

# Wartezeit eine Sekunde 
WAIT 1000

# Die Aufnahme wird gestoppt
VCR Stop 1000 

# Wartezeit eine halbe Sekunde
WAIT 500

# schaltet den VCR zurück auf das zuvor eingestellte Programm
VCR Input 1000 

# Wartezeit eine halbe Sekunde
WAIT 500

# VCR ausschalten. Das Signal wird eine Sekunde lang gesendet
VCR On/Off 1000


Die Befehle in record.lirc und stop.lirc On/Off, Input, Record und Stop finden sich in der lircd.conf, diese können auch abweichen z.B. anstelle von VCR Input 1000 könnte auch VCR AV 1000 stehen. Das sind die Namen der Tasten, die ab "begin codes" eingetragen sind.


Links