lircrmote

LIRC Emulator über das Netzwerk
Free Cross Platform Development

Downloads

Mit lircremote kann die Remote-Funktion von Programmen die LIRC nutzen getestet werden ohne eine reale Fernbedienung einrichten zu müssen.

Features

lircremote:
  • Fernbedienung über Netzwerk
  • Testen von Programmen in einer Virtuellen Maschine
  • emuliert lirc wahlweise über
    • /var/run/lirc/lircd
    • IP-Adresse:Port z.B. 127.0.0.1:8765
  • Frei definierbares Tastenlayout
  • zwischen mehreren Layouts umschaltbar

Beschreibung

/img/lircremote/lircremote-keys.png
Ein Programm, das eine an LIRC angeschlossene Fernbedienung nutzt kann mit lircremote auch ohne Hardware Fernbedienung getestet werden.
  • Die LIRC Schnittstelle wird üblicherweise über einen Unix Domain Socket bereit (oft auch IPC Socket genannt), der üblicherweise als /var/run/lirc/lircd definiert ist.
  • Möglich ist auch eine Netzwerkverbindung über IP-Nummer:Port zu verwenden. Beide Schnittstellen werden von lircremote unterstützt.
Schreibrechte für lircremote in /var/run/lirc müssen eingerichtet werden.

lircremote stellt für jeden Tastendruck einen Datensatz bereit, der so auch von lirc gesendet wird.
  • <KeyNummer> <Wiederholung> <KeyName> <SenderName> <linefeed>
lircremote sendet für
<KeyNummer>
Eine Tastennummer von 000001 bis 000xxx (Anzahl derTasten)
<Wiederholung>
Anzahl der Widerholungen solange die Taste gedrückt bleibt
<KeyName>
Den Tasten Namen der wie wie modernen LIRC Versionen immer mit KEY_ beginnt z.B. KEY_UP KEY_DOWN KEY_MENU ... und somit weitgehend identisch ist.
<SenderName>
Den Namen des gewählten Remote Layouts
<linefeed>
Den Zeilenumbruch \n am Ende

Konfiguration

/img/lircremote/lircremote-conf.png
Die Konfiguration besteht aus den Teilen:
Server
Der Server sendet die Tastencodes an das Programm
1.Checkbox: Server
Der Server wird nur gestartet, wenn aktiv
2.Eingabefeld : IP / Socket
z.B. /var/run/lirc/lircd
z.B. /tmp/lircremote
z.B. 192.168.1.0/24 alle Clients im localen Netzwerk
3.Eingabefeld: Port
Muss Leer bleiben wenn ein IPC Socket benutzt wird
Sonst: die Portnummer, die ist üblicherweise 8765
4.Checkbox: Linefeed
hängt an jeden Datensatz einen Zeilenumbruch (notwendig für LIRC als Client)
5.Eingabefeld: Key Repeat Time
Wiederholung des Tastendruckes alle xxx ms, solange der Button gedrückt ist

Client
Der Client empfangt die Tastencodes vom Server oder auch von LIRC um die Funktion von LIRC zu testen.
1.Checkbox: Client
Der Client wird nur gestartet, wenn aktiv
2.Eingabefeld : IP / Socket
z.B. /var/run/lirc/lircd
z.B. /tmp/lircremote
z.B. 192.168.1.10 (Für den Server mit der Adresse 192.168.1.10)
z.B. 127.0.0.1 (Localhost)
3.Eingabefeld:Port
Muss Leer bleiben wenn ein IPC Socket benutzt wird
Sonst: die Portnummer ist üblicherweise 8765

lircremote.conf

Die lircremote.conf wird im Ordner ~/EasyApps/lircremote gespeichert
( bei Windows im Ordner von lircremote)
So wird das Layout der virtuellen Fernbedienung(en) definiert:
// Define buttons with ...
// NEWREMOTE:remote_name       // define of multible remotes is possible
// NEWLAYOUT                   // Layout is a grid for the buttons
// BUTTON=SIZE;width;height;iconWidth;iconHeight // Size for all following buttons
// BUTTON=row;col;name;icon_filename
BUTTON=NEWREMOTE:Extended Remote
BUTTON=SIZE;45;40;30;30
BUTTON=0;0;KEY_TIMER;:/img/img/appointment-new.png    // this is a comment
BUTTON=0;2;KEY_POWER;:/img/img/process-stop.png
BUTTON=1;0;KEY_EPG;:/img/img/edit-paste.png
BUTTON=1;1;KEY_CHANNEL;:/img/img/system-search.png
BUTTON=1;2;KEY_CHANNELUP;:/img/img/list-add.png
BUTTON=2;0;KEY_INFO;:/img/img/help-browser.png
BUTTON=2;1;KEY_UP;:/img/img/go-up.png
BUTTON=2;2;KEY_CHANNELDOWN;:/img/img/list-remove.png
BUTTON=3;0;KEY_LEFT;:/img/img/go-previous.png
BUTTON=3;1;KEY_OK;:/img/img/lchecked-blue.png
BUTTON=3;2;KEY_RIGHT;:/img/img/go-next.png
BUTTON=4;0;KEY_BACK;:/img/img/system-log-out.png
BUTTON=4;1;KEY_DOWN;:/img/img/go-down.png
BUTTON=4;2;KEY_MENU;:/img/img/go-home.png
BUTTON=NEWLAYOUT
BUTTON=SIZE;33;33;24;24
BUTTON=0;0;KEY_PAUSE;:/img/img/media-playback-pause.png
BUTTON=0;1;KEY_START;:/img/img/media-playback-start.png
BUTTON=0;2;KEY_STOP;:/img/img/media-playback-stop.png
BUTTON=0;3;KEY_RECORD;:/img/img/media-record.png
BUTTON=1;0;KEY_VIDEO_PREV;:/img/img/media-skip-backward.png
BUTTON=1;1;KEY_REWIND;:/img/img/media-seek-backward.png
BUTTON=1;2;KEY_LAST;:/img/img/media-seek-forward.png
BUTTON=1;3;KEY_VIDEO_NEXT;:/img/img/media-skip-forward.png
BUTTON=NEWLAYOUT
BUTTON=SIZE;45;40;30;30
BUTTON=0;0;KEY_1;
BUTTON=0;1;KEY_2;
BUTTON=0;2;KEY_3;
BUTTON=1;0;KEY_4;
BUTTON=1;1;KEY_5;
BUTTON=1;2;KEY_6;
BUTTON=2;0;KEY_7;
BUTTON=2;1;KEY_8;
BUTTON=2;2;KEY_9;
BUTTON=3;0;KEY_SETUP;:/img/img/applications-system.png
BUTTON=3;1;KEY_0;
BUTTON=3;2;KEY_MACRO;:/img/img/go-jump.png
BUTTON=NEWLAYOUT
BUTTON=SIZE;33;33;24;24
BUTTON=0;0;KEY_RED;:/img/img/led-red.png
BUTTON=0;1;KEY_GREEN;:/img/img/led-green.png
BUTTON=0;2;KEY_YELLOW;:/img/img/led-yellow.png
BUTTON=0;3;KEY_BLUE;:/img/img/led-blue.png
BUTTON=NEWREMOTE:Simple Remote
BUTTON=SIZE;45;40;30;30
BUTTON=0;0;KEY_POWER;:/img/img/process-stop.png
BUTTON=2;0;KEY_INFO;:/img/img/help-browser.png
BUTTON=2;1;KEY_UP;:/img/img/go-up.png
BUTTON=2;2;KEY_EPG;:/img/img/edit-paste.png
BUTTON=3;0;KEY_LEFT;:/img/img/go-previous.png
BUTTON=3;1;KEY_OK;:/img/img/lchecked-blue.png
BUTTON=3;2;KEY_RIGHT;:/img/img/go-next.png
BUTTON=4;0;KEY_BACK;:/img/img/system-log-out.png
BUTTON=4;1;KEY_DOWN;:/img/img/go-down.png
BUTTON=4;2;KEY_MENU;:/img/img/go-home.png
BUTTON=NEWLAYOUT
BUTTON=SIZE;45;40;30;30
BUTTON=0;0;KEY_1;
BUTTON=0;1;KEY_2;
BUTTON=0;2;KEY_3;
BUTTON=1;0;KEY_4;
BUTTON=1;1;KEY_5;
BUTTON=1;2;KEY_6;
BUTTON=2;0;KEY_7;
BUTTON=2;1;KEY_8;
BUTTON=2;2;KEY_9;
BUTTON=3;0;KEY_SETUP;:/img/img/applications-system.png
BUTTON=3;1;KEY_0;
BUTTON=3;2;KEY_MACRO;:/img/img/go-jump.png

Beispielszenario

PC1 mit VDR und LIRC als Remote Receiver an IP-Adresse 192.168.1.100

starte LIRC mit:
lircd -c 192.168.1.111:8765
starte VDR

remote.conf

LIRC.Up KEY_UP
LIRC.Down KEY_DOWN
...
LIRC.Back KEY_BACK
...
...

PC2 mit lircremote an IP-Adresse 192.168.1.111

Nur Servereinstellungen auswählen mit:
IP Bereich: 192.168.1.0/24 oder gezielt nur der einzelne PC mit 192.168.1.100
Port Nummer: 8765