You are not logged in.

Dear visitor, welcome to VDR Portal. If this is your first visit here, please read the Help. It explains in detail how this page works. To use all features of this page, you should consider registering. Please use the registration form, to register here or read more information about the registration process. If you are already registered, please login here.

heister

Beginner

  • "heister" started this thread

Posts: 1

Occupation: old boy

  • Send private message

1

Tuesday, February 14th 2012, 5:28pm

Fernbedienung TechnoTrend USB-IR-Receiver mit lirc_ttusbir unter openSUSE 11.3 - 12.1

Hallo,
Die Fernbedienung von vdr wird tradionell über eine serielle Schnittstelle eingebunden. Diese werden aber immer seltener bei Computern und durch USB ersetzt. Machmal gibt es ja auch eine tvkarteneigene Infrarotschnittstelle, die unter Linux auch läuft. Die Bedienungsmöglichkeiten sind aber meist begrenzt. Ein usb/seriell-Umsetzer hilft hier nicht weiter. Es muss schon ein usb-ir-Empfänger sein.
Ein passenes Kit gibt es von der TechnoTrend (USB Infrared Receiver).
Meine Beschreibung setzt die vdr-Installation von Hubertus Sandmann voraus:
http://www.hubertus-sandmann.homepage.t-online.de/VDR.htm)
nach der dort erläuterten Installation von lirc mit yast folgen einige kleine Änderungen:
Die lirc-Module befinden sich in /lib/modules/<kernelversion>-desktop/kernel/drivers/staging
Das Modul lirc_ttusbir läßt sich nur mit der -f Option laden, daher einfügen in /etc/init.d/lirc

Source code

1
2
3
4
5
6
7
case "$1" in
	start)
    	echo -n "Starting lircd "
    	modinfo evdev > /dev/null 2>&1 && modprobe evdev || :
    	if test "$LIRC_MODULE" != ""; then
            	modprobe -f "$LIRC_MODULE"
    	fi

Die weitere Konfiguration des Moduls geschieht in: /etc/sysconfig/lirc

LIRCD_DRIVER="default"

LIRCD_DEVICE="/dev/lirc0"

LIRC_MODULE="lirc_ttusbir"


Fernbedienung anlernen:

Das Anlernen einer Fernbedienung mit USB-Empfänger unterscheidet sich von solchen mit serieller Schnittstelle. Zunächst zeige ich eine lircd.conf Datei, die ich im Internet für das TechnoTrend usb-ir-Empfänger-Kit gefunden habe. Sie passt recht gut zur vdr version 1.7.23 ( https://github.com/yavdr/yavdr-remote/bl…ir-lircd.conf):


Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
Tab.1: lircd.conf für das TechnoTrend usb-ir-Empfänger-Kit

# Please make this file available to others
# by sending it to <lirc@bartelmus.de>
#
# this config file was automatically generated
# using lirc-0.8.6(default) on Tue Mar 15 18:28:11 2011
#
# contributed by
#
# brand: technotrend
# http://www.dvbshop.net/product_info.php?refID=geizhals&info=p57_TechnoTrend-USB-IR-Empfae
#
#

begin remote

  name technotrend-remote
  bits 13
  flags RC5|CONST_LENGTH
  eps 30
  aeps 100

  one 838 838
  zero 838 838
  plead 940
  gap 107304
  min_repeat 1
  toggle_bit 2

  	begin codes
      	KEY_UP            	0x154D
      	KEY_DOWN          	0x1D51
      	KEY_MENU          	0x1542
      	KEY_OK            	0x1D4F
      	KEY_ESC           	0x1553
      	KEY_LEFT          	0x1D4E
      	KEY_RIGHT         	0x1550
      	KEY_RED           	0x1D54
      	KEY_GREEN         	0x1555
      	KEY_YELLOW        	0x1D56
      	KEY_BLUE          	0x1557
      	KEY_0             	0x1D4C
      	KEY_1             	0x1543
      	KEY_2             	0x1D44
      	KEY_3             	0x1545
      	KEY_4             	0x1D46
      	KEY_5             	0x1547
      	KEY_6             	0x1D48
      	KEY_7             	0x1549
      	KEY_8             	0x1D4A
      	KEY_9             	0x154B
      	KEY_EPG           	0x1D62
      	KEY_PLAY          	0x157B
      	KEY_PAUSE         	0x1D7E
      	KEY_STOP          	0x157C
      	KEY_RECORD        	0x1D54
      	KEY_FASTFORWARD   	0x157F
      	KEY_REWIND        	0x1D7D
      	KEY_INFO          	0x1552
      	KEY_POWER2        	0x1D41
      	KEY_CHANNELUP     	0x1563
      	KEY_CHANNELDOWN   	0x1D64
      	KEY_VOLUMEUP      	0x1565
      	KEY_VOLUMEDOWN    	0x1D66
      	KEY_MUTE          	0x1558
      	KEY_TEXT          	0x1D59
      	KEY_AUDIO         	0x155A
  	end codes

Man erkennt, dass die beim seriellen Empfänger frei wählbaren Namen durch festgelegte KEY_... ersetzt sind. Diese findet man mit irrecord --list-namespace oder besser aus der Tabelle unter http://www.linuxtv.org/wiki/index.php/Remote_Controllers. Hier sind die Namen der Tasten mit vdr abgestimmt.
Wie kommt man nun zu einer lircd.conf z.B. für die Fernbedienung "ONE FOR ALL" (URC 11-7950 R00, VCR-Code 0037) mit dem TechnoTrend IR-USB-Empfänger? Am Besten macht man sich die folgende Tabelle:

Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
Tab.2: KEY_Code und Namen

Key-code            	Key nach vdr	Fernbedienung
                                    	One for All URC 11-7950 s. Batteriefach
                                    	Device: VCR-Code 0037

KEY_UP              	Up          	^
KEY_DOWN            	Down        	v   
KEY_MENU            	Menu        	MENU     	
KEY_OK              	Ok          	OK      	
KEY_ESC             	Back        	EXIT
KEY_LEFT            	Left        	<   
KEY_RIGHT           	Right       	>          	
KEY_RED             	Red         	red  
KEY_GREEN           	Green       	green 
KEY_YELLOW          	Yellow      	yellow
KEY_BLUE            	Blue        	blue  
KEY_0               	0           	0 	
KEY_1               	1           	1 	
KEY_2               	2           	2 	
KEY_3               	3           	3 	
KEY_4               	4           	4 	
KEY_5               	5           	5 	
KEY_6               	6           	6 	
KEY_7               	7           	7 	
KEY_8               	8           	8 	
KEY_9               	9           	9 	
KEY_INFO            	Info        	AV	
KEY_PLAY            	Play        	> 	
KEY_PAUSE           	Pause       	II	
KEY_STOP            	Stop        	.
KEY_RECORD          	Record      	red point
KEY_FASTFORWARD     	FastFwd     	>>   	
KEY_REWIND          	FastRew     	<<   	
KEY_POWER2          	power       	power	
KEY_CHANNELUP       	ChanUp      	ch+  	
KEY_CHANNELDOWN     	ChanDn      	ch-  	
KEY_VOLUMEUP        	VolUp       	vol+ 	
KEY_VOLUMEDOWN      	VolDn       	vol- 	
KEY_MUTE            	Mute        	MUTE

Leider findet man erst später heraus, dass:
Taste -/-- identisch mit 0, Doppel; Tasten GUIDE, >>|, |<< tot sind.
Warum KEY_POWER2 ? Antwort: KEY_Power2 schaltet die Anwendung aus, KEY_POWER ist für den Computer.

Die Reihenfolge der Keys ist an sich beliebig, aber man entscheidet sich aus praktischen Gründen entweder für die Reihenfolge der Tasten auf der Fernbedienung oder für die Reihenfolge , in der die Tasten beim späteren Anlernen abgefragt werden. (Hinweise für die Namen und Reihenfolge in vdr findet man in ../src/VDR/in keys.h, ../src/VDR/po/de_DE.po, ../src/VDR/PLUGINS.html#Remote Control.) Bei einer noch fremden Fernbedienung ist es wohl, im Gegensatz zum Beispiel, am einfachsten die Tastenreihenfolge vom obersten bis zum untersten Knopf in die Tabelle einzutragen.

Das Aufzeichnen der Signale und das Erzeugen der Konfigurationsdatei geschieht mit:

/usr/bin/irrecord /etc/lirc/lircd.conf --device=/dev/lirc0

Danach muss man testweise ein paar Tasten drücken. Im weiteren Arbeitsgang muss man die zu erlernenden Tasten gemäß der obigen Tabelle benennen und dann die entsprechende Taste für ca. 1 Sekunde drücken. Zum Abschluss ist die Eingabetaste zu betätigen. Die gewonnene lircd.conf sieht dann folgendermaßen aus:

Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
Tab.3: ONE FOR ALL

# Please make this file available to others
# by sending it to <lirc@bartelmus.de>
#
# this config file was automatically generated
# using lirc-0.8.7(default) on Thu Feb  9 06:45:28 2012
#
# contributed by
#
# brand:                   	ONE FOR ALL, VCR Code 0037
# model no. of remote control: URC 11-7950 R00 s. Batteriefach
# devices being controlled by this remote: vdr lirc_ttusbir
#

begin remote

  name  one
  bits       	32
  flags SPACE_ENC|CONST_LENGTH
  eps        	30
  aeps      	100

  header   	8877  4367
  one       	498  1602
  zero      	498   488
  ptrail    	497
  repeat   	8878  2164
  gap      	106516
  toggle_bit_mask 0x0

  	begin codes
      	KEY_UP               	0x768941BE
      	KEY_DOWN             	0x7689916E
      	KEY_MENU             	0x76896897
      	KEY_OK               	0x7689718E
      	KEY_LEFT             	0x7689C13E
      	KEY_RIGHT            	0x768909F6
      	KEY_RED              	0x768912ED
      	KEY_GREEN            	0x7689E11E
      	KEY_YELLOW           	0x76895CA3
      	KEY_BLUE             	0x7689FA05
      	KEY_0                	0x768920DF
      	KEY_1                	0x7689A05F
      	KEY_2                	0x7689609F
      	KEY_3                	0x7689E01F
      	KEY_4                	0x768930CF
      	KEY_5                	0x7689B04F
      	KEY_6                	0x7689708F
      	KEY_7                	0x7689F00F
      	KEY_8                	0x768938C7
      	KEY_9                	0x7689B847
      	KEY_EXIT             	0x7689F807
      	KEY_INFO             	0x7689A857
      	KEY_PLAY             	0x768910EF
      	KEY_PAUSE            	0x7689D02F
      	KEY_STOP             	0x7689807F
      	KEY_RECORD           	0x7689906F
      	KEY_FASTFORWARD      	0x7689C03F
      	KEY_REWIND           	0x768940BF
      	KEY_POWER2           	0x768928D7
      	KEY_CHANNELUP        	0x768918E7
      	KEY_CHANNELDOWN      	0x76899867
      	KEY_VOLUMEUP         	0x76891AE5
      	KEY_VOLUMEDOWN       	0x76899A65
      	KEY_MUTE             	0x7689BA45
  	end codes

end remote



Übrigens macht es nichts, wenn man nicht alle Tasten in einem Rutsch programmiert. Mit einem Editor kann man aus den Bruchstücken eine komplette Datei zusammensetzen.
Die letzten vier Stellen der Hexzahlen sind mit der "seriellen lircd.conf" identisch. Daher könnte man bei den remotes der LIRC.ORG eine zur Fernbedienung passende "serielle lircd.conf" finden, mit dem usb-ir-Empfänger einige Tasten anlernen und dann die ersten 4(6) Hexstellen der "usb lircd.conf" mit den letzten 4 Stellen der "seriellen lircd.conf" entsprechend kombinieren. Wenn man die beiden Dateien vor sich sieht, ist alles klar. Für kleine Ergänzungen und Korrekturen ist das Verfahren jedenfallls gut geeigne

This post has been edited 8 times, last edit by "heister" (Feb 18th 2012, 6:36am) with the following reason: Fehler Schriftart, Tab