Anleitung zum PC fernbedienen in Linux mit LIRC
Irrecord Anleitung …
Mit der vorigen LIRC Anleitung haben wir die Schnittstelle zwischen der Fernbedienungsempfänger Hardware und dem Betriebssystem bzw. der Software geschaffen. Nun müssen wir noch die Fernbedienung anlernen, um den Tasten der gewünschten Fernbedienung die jeweiligen Befehle zuordnen zu können – also bespielsweise der „Programm +“ Taste den Befehl „Bild hoch“ bzw. „Pageup“ Dafür gibt es unterschiedliche Tools, wir verwenden den Befehl irrecord.
Hinweis: Alternativ kännte man auch direkt ein Fernbedienungsfile runterladen, allerdings nur wenn man genau weiß, welche Fernbedienung man hat und das weiß man bei einer Auswahl auf der Universalfernbedienung nur selten. Die ausgewählte Fernbedienung muß für eine saubere Arbeit mit dem USB Ultra IR Empfänger v2.0, dem USB IR Empfänger v1.1 oder ähnlichen Igorplug USB basierenden USB Infrarot Empfängern unbedingt RC5 konform sein. Dazu im Internet Browser (z.B. Firefox starten) folgende URL aufrufen: http://lirc.sourceforge.net/remotes/
Dann den genauen (Groß- und Kleinschrift beachten!) Namen merken und hier bei XYZ eintragen: wget http://lirc.sourceforge.net/remotes/XYZ -O /etc/lirc/own_remote.conf Da man aber oftmals sehr viel mehr Arbeit mit der Anpassung der vorgefertigten Files hat, ist diese Lösung an dieser Stelle nur der Vollständigkeit halber erwähnt und wird für den weiteren Verlauf nicht verwendet.
Die Fernbedienung werden wir nun mit folgendem Befehl anlernen:
sudo irrecord -d /dev/lirc0 -f /etc/lirc/own_remote.conf (die Zieldatei könnte man natürlich nach belieben anpassen, wobei man dann allerdings auch in dieser Anleitung immer den richtigen Namen verwenden muß – deshalb besser so belassen)
Nun kann man sich noch einiges zum irrecord Befehl durchlesen und mit Enter bestätigen:
Jetzt ist es Zeit, um die Universalfernbedienung für den USB Ultra IR Empfänger v2.0 auf ein RC5 konformes Gerät einzustellen, dazu beispielsweise ein Philips TV Gerät auswählen. Wenn man mit dem Power Button des Gerätes den PC Ein- und Ausschalten kann, (anlernen mittels Jumper), hat man 99%ig ein gutes RC5 Gerät in der Universalfernbedienung ausgewählt und kann mit Enter das Erkennen der Fernbedienung starten:
Das Programm erwartet, daß man nacheinander möglichst viele unterschiedliche Tasten auf der Fernbedienung drückt, damit es feststellen kann, wie der Code aufgebaut ist. Jeder Tastendruck wird mit einem Punkt (.) in der Shell dargestellt und sobald genügend Tasten gedrückt wurden, zeigt das Programm folgende Meldung: Nicht Enter drücken! sonst kann man wieder auf dieser Seite von vorne anfangen …
Erst müssen wir gewünschte Namen für die Befehle eingeben, die nach einem ganz bestimmten Schema vorgegeben sind, z.B.: KEY_1 oder KEY_STOP, etc. Um zu sehen welche Namen es gibt, empfiehlt es sich über „Applications“ (oder dem jeweiligen Start Button unter Linux) eine weitere Shell zu öffnen und dort mit folgendem Befehl die Namen anzuzeigen: (oder einfach diese Seite mit allen Tastennamen im neuen Browserfenster öffnen lassen und ausdrucken)
irrecord –list-namespace
Dann weiter mit dem Anlernen. Den gewünschten Namen eingeben, z.B. KEY_PAGEUP mit Enter bestätigen und dann zum Anlernen die Taste auf der Fernbedienung drücken – für KEY_PAGEUP z.B. die Channel+ Taste:
Dann die nächste Taste eingeben, z.B. KEY_PAGEDOWN dann mit Enter bestätigen und die Taste z.B. Channel- auf der Fernbedienung betätigen:
Das ganze solange weiterführen, bis man wirklich alle Tasten einprogrammiert hat, die man später verwenden möchte. Wenn man sich die Liste mit den Buttons ausgedruckt hat, hakt man die Tasten am besten auf dem Zettel ab, denn das Nachlernen ist nicht ganz so einfach. Wenn alle Tasten angelernt ist, bestätigt man ohne die Eingabe es Namens mit Enter:
Nun die originale lircd.conf sichern, bevor wir sie überschreiben:
sudo cp /etc/lirc/lircd.conf /etc/lirc/lircd.conf.bak
Dann mit folgendem Befehl in das richtige Verzeichnis kopieren und damit die Original lircd.conf ersetzen:
sudo cp /etc/lirc/own_remote.conf /etc/lirc/lircd.conf
Nun mit folgendem Befehl LIRC neu restarten bzw. starten:
sudo /etc/init.d/lirc restart
Die ersten beiden roten „fail“ Ausgaben sind richtig, da wir LIRC ja zuvor beendet hatten und es somit imgrunde nur ohne „Stopping“ gestartet werden müßte:
Mit folgendem Befehl sieht man nun – wenn alles geklappt hat – die angelernten Tasten (bzw. deren Namen), sobald man eine Taste auf der Fernbedienung drückt:
irw
Zum Verlassen von irw einfach die folgende Tastenkombination Steuerung und C und danach Eingabe drücken:
Strg + c
Wer möchte, kann nun nochmal mit dmesg | grep lirc die Logeinträge von LIRC prüfen. Falls dort sehr oft die folgende Meldung steht, sollte man sicherheitshalber ein anderes Gerät der Universalfernbedienung auswählen, da das angelernte TV Gerät, oä. wahrscheinlich nicht 100%ig RC5 konform ist:
lirc_igorplugusb[4]: Device buffer overrun.
Hinweis: Falls man Fernbedienungen mit Device buffer overrun oder anderen Fehlermeldungen trotzdem verwenden möchte, könnte man lirc stoppen und den Befehl mode2 -d /dev/lirc0 ausprobieren oder wie oben beschrieben das File zur FB runterladen. Wenn trotz dieser Logeinträge alles einwandfrei läuft, sollte man sich keine weiteren Gedanken über die Einträge machen, da es auch durch eine andere Fernbedienung, Störungen, oder ähnliches verursacht wird und lediglich eine Information des igorplugusb Plugins von LIRC ist.
Fernbedienung für MythTV, MPlayer, VLC, Xine einrichten …