LIRC
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.
Und den Anweisungen folgen.
Alternativ kann man configure auch von Hand aufrufen. Diese ist nicht so verwirrend und du kannst den lircd genauer an Deine Erfordernisse anpassen z.B.
./configure --help
gibt alle Möglichen Optionen aus
--enable-debug etwas mehr Output beim Start oder
--with-driver=dein_Treiber. Hier gleich die von lirc-0.7.1pre4 gelisteten Treiber: none, any, act200l, adaptec, animax, atilibusb, atiusb, audio, avermedia, avermedia_vdomate, avermedia98, bestbuy,
bestbuy2, breakoutbox, bte, caraca, chronos, comX, creative_infracd, dsp, cph03x, cph06x,creative, devinput, dvico, ea65, exaudio, flyvideo, gvbctv5pci, hauppauge, hauppauge_dvb, hercules_smarttv_stereo,igorplugusb, imon, irdeo, irdeo_remote,irman, irreal, it87, knc_one, kworld,leadtek_0007, leadtek_0010, leadtek_pvr2000,livedrive_midi, livedrive_seq, logitech,lptX, mceusb, mediafocusI, mouseremote, mouseremote_ps2, mp3anywhere, packard_bell, parallel, pcmak, pcmak_usb, pctv, pixelview_bt878, pixelview_pak, pixelview_pro, provideo, realmagic, remotemaster, sa1100, sasem, serial, silitek, sir, slinke, streamzap, tekram, tekram_bt829, tira, tvbox, udp, uirt2, uirt2_raw.
anschließend:
./configure --with-driver=serial
für den seriellen Treiber,
bzw. serial durch den Gewünschten Treiber ersetzen, wenn das der Treiber für Deine Hardware ist! Dazu muss man herausfinden welche Hardware man genau hat, und welchen Port die IR-Fernbedienung denn wirklich benutzt! Aber das kann man herausfinden. Am besten als root in einer Shell ein cat auf den vermuteten Port setzen. Wobei die unterschiedliche Hardware auch die verschiedensten Ports benutzen. Eine serielle Fernbedienung wird bestimmt /dev/ttyS0..4 benutzen. Dann an der Fernbedienung ein paar Tasten drücken, wenn der richtige Port erwischt wurde erscheinen auf der Shell kuyptische Zeichen. Meine audigy .. EX (die mit dem 5 1/4 Zoll Frontbedienteil nutzt Midi! Also muss man die verschiedenen midi ports ausprobieren! Bei mir brachte ein cat /dev/snd/midiC0D1 ( ich nutze alsa) die gewünschten Ergebnisse. Gratulation das ist schon mal ein Erfolg. Du weist jetzt das ein Signal an einem bestimmten device und damit in der Shell ankommt und wichtig, das die Fernbdienung ordungsgemäß arbeitet. Dieses device nutzt der lircd später als input!!! Für den ersten build, wenn man sich noch nicht absolut sicher ist, welche Treiber mit deiner Fernbedienung wirklich funzt, empfiehlt sich.
./configure --with-driver=any Dann kann mann die Treiberoption beim starten des lircd angeben mit: lircd -H dein_Treiber (die gleichen Optionen wie bei configure).
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
Für die Audigy sollte kann mann eine zusätzliche Option enable_ir=1 beim Laden des Modul snd-emu10k1 angeben. Ob dies aber wirklich nötig ist habe ich noch nicht überprüft.
Hallo admins : hab hier meine Erfahrungen mit der Installation der audigy eingebracht. Wenn Ihr wollt gerne ein Response an rak64-at-primacom.net
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