LIRC

Aus VDR Wiki
Wechseln zu: Navigation, Suche

Inhaltsverzeichnis

Beschreibung

LIRC - (L)inux (I)nfrared (R)emote (C)ontrol

Mit dem LIRC Projekt ist es möglich, seinen Computer über nahezu jede Fernbedienung zu steuern. Hierzu ist ein LIRC-fähiges Empfangsmodul nötig, dass man für ca. 15 EURO fertig kaufen oder aber sich nach der Anleitung (siehe Links) selbst zusammenlöten kann.

Hardwareanforderungen

  • LIRC kompatibler Empfaenger

Schaltbild


                 o +12V
                 |
                 -
                | | 10k
                | |
                 -
Ausgang 1        |   Eingang
o----------|<----*----o
                 |
Ausgang 2        |
o----------|<----

Masse                Masse
o---------------------o

Softwareanforderungen

  • dialog (nur fuer Konfiguration ueber das Menu setup.sh)
  • setserial
  • Kernel-Quellen sollten installiert sein.
  • Die Kernel der 2.6er Serie werden noch nicht vollständig unterstützt. Versuchen sie in diesem Fall die CVS-Version von LIRC.

Installation

Entpacken.

cd $SOURCEDIR
tar jxvf lirc-<VERSION>.tar.bz2
cd lirc-<VERSION>

Einfach setup.sh aufrufen.

./setup.sh

Und den Anweisungen folgen, alternativ kann man configure auch von Hand aufrufen.

./configure --help

gibt alle Möglichen Optionen aus, anschließend.

./configure --with-driver=serial

für den seriellen Treiber, bzw. serial durch den Gewünschten ersetzen. Jetzt noch ein einfaches.

make

Ein Eintrag in der /etc/modprobe.conf kann sinnvoll sein.

alias char-major-61 lirc_serial

Um die Kernel-Module und Programme zu installieren.

make install
setserial /dev/ttyS0 uart none

Konfiguration

Um den lirc-daemon starten zu können, benötigen wir eine lircd.conf, diese ist unter /etc abzulegen.

Um die Fernbedienung per Hand anzulernen müssen Sie folgende Schritte vornehmen.

1. Prozess lircd anhalten

killall lircd

2. Löschen von /etc/lircd.conf (Datei beinhaltet Konfiguration Fernbedienung)

rm /etc/lircd.conf

3. Neue lircd.conf erstellen

irrecord /etc/lircd.conf

Die hierbei wichtigen Tasten sind.

Up
Down
Menu
Ok
Back
Left
Right
Red
Green
Yellow
Blue
0...9
Power
Volume+
Volume-
Mute

Zufinden in der remote.conf.

4. Prozess lirc starten.

/etc/init.d/lirc start

5. Fernbedienung überprüfen.

irw

Ändern des COM Ports.

Adresse und Interrupt des COM POrts werden direkt eingestellt. /etc/modules.conf (COM1).

alias char-major-61 lirc_serial

options lirc_serial irq=4 io=0x3f8

Für COM2 (Standardwerte).

alias char-major-61 lirc_serial

options lirc_serial irq=3 io=0x2f8

Anschliessend.

depmod

aufrufen, lircd und lirc_serial neu laden.

Zum prinzipiellen Überprüfen der Hardware hilft das Programm

mode2

Konfiguration der lircrc zum Ausführen von Aktionen

Irexec ist ein nützlicher daemon, mit dem man so ziehmlich alles anstellen kann.

Die Konfigurations-Datei lircrc wird unter /etc/lircrc oder unter /home/anwendername/.lircrc abgespeichert.

Aufbau der lircrc.

begin
	prog   = <Daemon für Skript- und Programm-ausführungen>
	button = <Tasten Name, ist in der lircd.conf definiert>
	config = <Auszuführender Befehl>
	mode   = <Modus: Schaltet Modus ein oder aus>
	repeat = <Wiederholung an oder aus (0 oder 1)>
	remote = <Name des Buttons in der lircd.conf>
end

Beispiele.

4 x Button Power würde einen reboot einleiten, somit sind doppel-belegungen ("ueber") vdr möglich.

begin
	prog   = irexec
	button = Power
	button = Power
	button = Power
	button = Power
	config = reboot
end

1 Key = 2 Funktionen.

begin
	prog   = irexec
	button = Reserve
	config = eject
	config = eject -t
end

Wurde diese Datei erzeugt, kann der dameon gestartet werden, wichtig das dieses nach lirc geschieht. (Reihenfolge beachten)

start-stop-daemon --start --verbose --exec /usr/local/sbin/lircd -- /etc/lircd.conf
start-stop-daemon --start --verbose --exec /usr/local/bin/irexec -- --daemon /etc/lircrc


Optionen

lircd

Parameter (kurz) Parameter (lang) Beschreibung
-h --help display this message
-v --version display version
-n --nodaemon don't fork to background
-p --permission=mode file permissions for /dev/lircd
-H --driver=driver use given driver
-d --device=device read from given device
-l --listen[=port] listen for network connections on port
-c --connect=host[:port] connect to remote lircd server
-o --output=socket output socket filename
-P --pidfile=file daemon pid file
-L --logfile=file daemon log file

irexec

Parameter (kurz) Parameter (lang) Beschreibung
-h --help display usage summary
-v --version display version
-d --daemon run in background
-n --name use this program name


CVS

cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/lirc login
cvs -z8 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/lirc co lirc

Sonstiges

Länge des Kabels:

Ein Betrieb des LIRC Emfängers ist bei einer Kabellänge von bis zu 25m möglich.

Mehrere LIRC Empfänger:

Es ist möglich, zwei Infrarot Empfänger mit LIRC an einem COM-Port zu betreiben. Beide Empfänger werden dann parallel geschaltet.

Mehrere FBs:

cat lircd.conf(1) lircd.conf(2) > lircd.conf

Links

[1] LIRC (L)inux (I)nfrared (R)emote (C)ontrol Projekt Seite
[2] CVS snapshots
[3] Homepage des Linux-Kernels
[4] Index unterstützter Fernbedienungen
[5] Sehr gute Bauanleitung und Teileliste für einen Empfänger
[6] ausführliche Beschreibung mit Theorieteil
[7] Sehr ausführliche Bauanleitung mit Bezugsquelle für einen fertigen Empfänger
[8] Wer Handwerklich nicht so begabt ist (~ 14 Euro)
[9] Diplomarbeit
[10] Kleines Projekte "IR-Verlängerung" über 2 Adern