Archiv verlassen und diese Seite im Standarddesign anzeigen : M740AV lernt Fernbedienung
Lemmi
07.01.2005, 21:55:05
Anstatt einer Programmierbaren Fernbedienung die Kodes der Siemens-Box beizubringen kann man acuh der Box die Codes der FB beibringen :)
So sollte es gehen:
Wir überladen ja mit dem Telnet-Patch (http://www.m740.de/forum/showthread.php?p=1571#post1571) das Verzeichnis /etc. Rein zufällig befindet sich dort die Datei /etc/lircd.conf. Wenn man diese also durch eine neue Datei mit passenden Kodes ersetzt, dann kann die Box auf andere FB reagieren. Evtl. kann man sogar die anderen Kodes ergänzen und 2 FB funktionieren.
Ein paar Links:LIRC (http://www.lirc.org/) und WinLIRC (http://winlirc.sourceforge.net/)
Inhalt von /etc/lircd.conf
# F1 = play F2 = pause F3 = stop F4 = fastforward F5 = fastreverse
# F6 = record F7 = slow F8 = replay
begin remote
name wavebox.conf
bits 8
eps 30
aeps 100
one 0 0
zero 0 0
pre_data_bits 24
pre_data 0x10
gap 210000
min_repeat 2
toggle_bit 25
begin codes
1 0x0000000000000002
2 0x0000000000000005
3 0x0000000000000006
4 0x0000000000000009
5 0x000000000000000a
6 0x000000000000000d
7 0x000000000000000e
8 0x0000000000000011
9 0x0000000000000012
0 0x0000000000000015
CURSOR_LEFT 0x000000000000001d
CURSOR_RIGHT 0x0000000000000021
CURSOR_UP 0x0000000000000019
CURSOR_DOWN 0x000000000000001a
OK 0x000000000000001e
MENU 0x0000000000000035
INFO 0x0000000000000039
CHANNEL_UP 0x0000000000000026
CHANNEL_DOWN 0x0000000000000036
PLAY 0x000000000000003e
STOP 0x000000000000003d
FASTFORWARD 0x0000000000000041
REWIND 0x000000000000003a
DELETE 0x0000000000000032
RED 0x0000000000000042
GREEN 0x0000000000000045
YELLOW 0x0000000000000046
BLUE 0x0000000000000049
POWER 0x0000000000000016
TV 0x000000000000002e
HELP 0x000000000000002d
end codes
end remote
multifluid
09.01.2005, 09:16:44
Das sehe ich etwas anders. Die Codes dienen dazu sozusagen den IR Kanal zu identifizieren. Das ist die Grundlage um innerhalb des Codes die Tasten mit den Tastencodes erreichen zu können. Das bedeutet, ich muß immer noch den IR Code kennen bevor ich an die Tasten komme.
An der Box kann ich also das Tastaturlayout verändern. Auf welche Codes sie generell reagiert wohl eher nicht. Lasse mich aber gerne eines besseren belehren.
CU
Uwe
hzmbot
09.01.2005, 09:37:37
Das wäre wirklich eine feine Sache. :)
Im Moment denke ich noch darüber nach, ob ich für die Bedienung der Box mit meiner RC1 von Braun einen "Übersetzer" einsetzen werde:
IRTrans (http://www.irtrans.de/translator.htm)
Vermutlich wird mir eine (Software-) Modifikation der Box aber leider auch nicht weiterhelfen, weil die RC1 in einem anderen Frequenzband arbeitet als die Fernbedienung der Box. :(
Trotzdem, ein schöner Ansatz.
Viele Grüße
Thomas
ps: Wollte an dieser Stelle Lemmi und den anderen mal ausdrücklich meine Anerkennung für die schon jetzt geleistete Arbeit mit dem Ziel der Verbesserung der Firmware der Box aussprechen! :)
Lemmi
09.01.2005, 10:51:54
Das sehe ich etwas anders. Die Codes dienen dazu sozusagen den IR Kanal zu identifizieren. Das ist die Grundlage um innerhalb des Codes die Tasten mit den Tastencodes erreichen zu können. Das bedeutet, ich muß immer noch den IR Code kennen bevor ich an die Tasten komme.
An der Box kann ich also das Tastaturlayout verändern. Auf welche Codes sie generell reagiert wohl eher nicht. Lasse mich aber gerne eines besseren belehren.
Mit WinLIRC und einem entsprechenden IR-Empfänger kann man eine beliebige FB nehmen und WinLIRC lernen lassen. WinLIRC baut dann eine Tabelle auf, die wie /etc/lircd.conf aussieht. Im Normalmodus ersetzt dann LIRC/WinLIRC die erkannten Kodes durch die Namen, die vorne stehen, und sendet diese Namen auf einem Socket (auf dem PC: TCP Socket) aus. Sinn ist also, dass an den Programmen nur noch Klartext ankommt.
Genau dieses habe ich mit meinem Wohnzimmer-PC gemacht, den ich über eine Tschibo FB steuere. Neben WinLIRC setze ich GIRDER ein.
Für weitere Details einfach LIRC (http://www.lirc.org/) und WinLIRC (http://winlirc.sourceforge.net/) lesen.
Hier die Tabelle meiner FB (Tschibo CV-350, Programmierkode 165)
#
# this config file was automatically generated
# using lirc-WinLIRC 0.6.1pre2 (LIRC 0.6.1pre2) on Mon Nov 19 01:31:25 2001
#
# contributed by
#
# brand: tcm-165
# model:
# supported devices:
#
begin remote
name tcm-165
bits 9
flags SPACE_ENC
eps 25
aeps 100
header 2427 562
one 1226 562
zero 615 562
ptrail 615
post_data_bits 2
post_data 0x0
gap 25505
toggle_bit 0
begin codes
power 0x0000000000000152
ch+ 0x0000000000000012
ch- 0x0000000000000112
vol+ 0x0000000000000092
vol- 0x0000000000000192
mute 0x0000000000000052
disp 0x00000000000000BA
0 0x0000000000000122
1 0x0000000000000002
2 0x0000000000000102
3 0x0000000000000082
4 0x0000000000000182
5 0x0000000000000042
6 0x0000000000000142
7 0x00000000000000C2
8 0x00000000000001C2
9 0x0000000000000022
ab 0x000000000000014A
return 0x0000000000000172
up 0x000000000000005E
down 0x000000000000015E
left 0x000000000000008E
right 0x000000000000010E
ul 0x000000000000003A
ur 0x00000000000001FA
dl 0x00000000000000A7
dr 0x00000000000001B6
ok 0x000000000000014E
menu 0x000000000000000E
exit 0x000000000000005A
rew 0x0000000000000067
play 0x00000000000000E7
ff 0x00000000000001E7
stop 0x0000000000000167
pause 0x0000000000000027
+1 0x0000000000000117
+2 0x0000000000000127
+3 0x00000000000001AA
+4 0x00000000000001FF
+ab 0x00000000000000CE
+rew 0x00000000000001F6
+play 0x00000000000001CE
+ff 0x00000000000000F6
+pause 0x00000000000000E2
end codes
end remote
Hannilein
10.01.2005, 13:23:26
Das klingt ja sehr spannend! Ich würde dann die Box gerne dazu bringen, Befehle von der FB meines Denon AVR 1804 entgegenzunehmen. Das ist eine x in 1 FB, die aber nicht lernen kann. Man kann nur vorgegebene Codes für verschiedene Geräte auswählen (mein DVD-Player ist leider nicht dabei, wohl aber TV und VCR). Mangels IR-Empfänger am PC kann ich mir aber nicht selber eine Konfiguration auslesen. Wenn hier also jemand eine andere FB ans Laufen gebracht hat, wäre ich sehr an Modell und Konfigurationsdatei interessiert!
Hanno
Lemmi
10.01.2005, 18:25:50
Brainstorming:
Ich habe gerade mal nachgeschaut:
In den Quellen existiert das Programm irrecord, mit dem man die Kodes einer FB lernen kann. Dazu muß man wahrscheinlich den lircd beenden. Und damit reagiert die Box nicht mehr auf die FB.
Dann muß man noch die Tabelle in /etc/lird.conf ändern, was aber wahrscheinlich vor dem ersten Vollupdate schwer fallen wird.
Evtl. kann man auch lircd neu starten.
Alles das bedeutet Experimente, zu denen ich im Moment aber keine Zeit habe, da ich momentan eine andere Baustelle habe.
bebibaer
14.01.2005, 13:19:50
Brainstorming:
Ich glaube, dass es fast unmöglich sein wird, eine andere Fernbedienung zu nutzen. :( Die Indizien für meine Hypothese:
Das Linux wird beim Drücken des roten Power-Knopfes auf der FB komplett runtergefahren und die MIPS-CPU ist ohne Strom.
Die PIC-CPU enthält eine RTC-Clock mit Alarmfunktion, um die Box für Aufnahmen einzuschalten und kann auch die Box ausschalten. Siehe Parameter für das Programm pic_control.
Die PIC-CPU steuert die Leuchtdioden und lässt sie auch im ausgeschalteten Zustand sofort blinken, um den Tastendruck auf der FB zu quittieren.
Beim Vergleich der von Lemmi bereitgestellten Konfigurationsdateien für LIRC fällt mir auf, dass für die Box keine Flags gesetzt sind und auch die Pulsdaten für one und zero alle auf 0 stehen.
Ich vermute, dass die PIC-CPU die komplette Dekodierung der IR-Signale übernimmt, wobei das Format fest im ROM abgelegt ist. Im ausgeschalteten Zustand wird beim Druck auf den Power-Knopf der FB der Rest der Box mit Strom versorgt und die MIPS-CPU bootet das Linux. Bei eingeschaltetr Box läuft der LIRC-Dämon und nimmt die fertig dekodierten IR-Signale von der PIC-CPU entgegen und steuert damit das Programm wavebox über LIRC-Schnittstelle und -Format. Falls jetzt der Power-Knopf gedrückt wird, wird der Code dafür an wavebox weitergeleitet und das System wird ordentlich heruntergefahren.
Lemmi
14.01.2005, 23:24:33
Brainstorming:
Ich glaube, dass es fast unmöglich sein wird, eine andere Fernbedienung zu nutzen. :( Die Indizien für meine Hypothese:
Deine Hypothes kann ich nachvollzeiehen, aber zwei praktische Gegenbeweise:
Stoppe ich den lircd, dann Nimmt die Box keine FB-Kommnados mehr an.
Starte ich lircd mit Option --server, dann kann man nach einem 'telnet box 8765' die FB Kodes mitlesen.
Der lircd ist demnach aktiv mit eingebunden.
brixmaxx
14.01.2005, 23:53:12
Stoppe ich den lircd, dann Nimmt die Box keine FB-Kommnados mehr an.
...
Der lircd ist demnach aktiv mit eingebunden.
Bebibaer hat doch auch gar nicht behauptet, daß dem nicht so ist :p ... Aber ich denke, Ihr habt beide Recht: Der PIC wird eingebunden sein, da er z.B. den Code der FB zum Einschalten empfängt, wenn der ganze MIPS-Kram noch nicht läuft ... und der lircd darf ja ruhig vom PIC die decodierten IR-Signale empfangen und dann auswerten - wo steht denn geschrieben, daß da nicht noch ein PIC "zwischengeschaltet" sein darf ?
Eine Beobachtung, die das ganze vielleicht noch weiter unterstützt: Wenn die Box mal zu hängen scheint ( Leider hatte ich auch schon einmal - aber zum Glück wirklich nur einmal - das dumme Vergnügen ... ) bzw. eine Reaktion auf weitere Kommandos der Fernbedienung in der nächsten Viertelstunde als unwahrscheinlich gilt, dann funktioniert es trotzdem die Box per FB auszuschalten !!! D.h. der PIC muß ( vermutlich mit einer gewissen Sicherheitsreserve die erst einmal die Box autonom arbeiten läßt oder so ... ) dann doch noch eine Art Hoheitsrecht über den IR-Code zum An-/Ausschalten haben, selbst wenn der MIPS-Krams eigentlich läuft.
Man könnte das vielleicht mal einfach überprüfen, indem man den lircd killt und dann versucht die Box trotzdem per FB auszuschalten ... Obwohl es glaube ich sogar Du warst, Lemmi, der dann schrieb, daß er die Box nicht mehr zum Shutdown bewegen konnte ( irgendein anderer Thread ... ), oder ?? ... Tja, da würde wohl ein Schaltplan helfen, um sicher zu gehen, wer bei der Kiste den IR-Empfänger wirklich kontrolliert :confused:
Aber mal ganz nebenbei: Ich hab´s zwar noch nicht überprüft ( Mein Weg dafür: Einlesen der FB-Codes in meine Pronto ) - aber wichtig dürfte ja erstmal die Frequenz sein, auf der der IR-Empfänger und die mitgelieferte Fernbedienung arbeitet !! ... Bei meinem ersten bisherigen, aber eher kurzen Ausflug in das Innenleben der Box ( wollte nur schon mal gucken, welchen Formfaktor die verwendeten SMD-LEDs haben - die orange Farbe muß einfach weg :rolleyes: ) hab´ ich da jedenfalls so einen Standard IR-Empfänger-Baustein in TSOP-Bauform gesehen, d.h. da steckt der Demodulator für die verwendete IR-Frequenz eh schon fest drin und mit einer FB die diese Frequenz nicht unterstützt wäre dann eh nix zu reißen ...
Tjaaa ... da schau ich hier nächtlich mal rein - und schon fange ich an, mir Gedanken über IR-Signale zu machen ... seltsam :rolleyes:
Oli ...
krabbe
15.01.2005, 16:49:30
... Bei meinem ersten bisherigen, aber eher kurzen Ausflug in das Innenleben der Box ( wollte nur schon mal gucken, welchen Formfaktor die verwendeten SMD-LEDs haben - die orange Farbe muß einfach weg :rolleyes: )
Bin auch sehr daran interessiert die LEDs auszutauschen. Das Orange ist wirklich nicht schön :( .
Kann jemand einen Tipp geben, wie man die Box öffnet ohne sie zu beschädigen? ;)
An dieser Stelle auch von mir ein besonderes Lob an Lemmi :) .
Habe heute „telnet-1.18-2005-01-14-2114.zip„ und die neue „Firmware 1.18.lemmi-01“ installiert. Installation problemlos und alles funktioniert super!
Gruß
Bernd
brixmaxx
16.01.2005, 00:23:17
Kann jemand einen Tipp geben, wie man die Box öffnet ohne sie zu beschädigen? ;)
Aber gern:
Die seitlich gelegenen weissen Kunststoffkappen mit dem Siemens-Schriftzug sind nur "geklippst" - mit ein bisschen Fingerspitzengefühl kann man diese ( am leichtesten von unten rechts oder links, bzw. 4 oder 8 Uhr-Stellung anfangen ... ) einfach "abziehen", auch ohne das eine Nase abbricht. Wenn man diese Plastikkappen abgezogen hat, kann man die Alu-Seitenbleche einfach abnehmen ( sie werden von den runden Plastikdingern festgehalten ... ).
Unter der einen Seite ( ich meine, es müßte die von der Box-Vorderseite gesehen rechte Gehäuseseite sein ... ) findet man hinter dem Alu-Blech dann einfach Zugang zu den wenigen Schrauben ( 4, 5 oder 6 - ich kann mich nicht mehr erinnern *g* ), die mann dann lösen muss, um die beiden Gehäusehälften ( gemeint ist der "innere" weisse Kunststoff ... ) auseinander nehmen zu können. Die Hauptplatine ist nur zwischen diesen beiden Hälften eingelegt - man hat sie dann also schon quasi "in der Hand", zusammen mit der Plastik-Rückseite der Box. Einzig das Netzteil-Modul ist in der übrig-bleibenden Gehäuse-Hälfte noch einmal extra eingebaut - um da keine Kabel anzureißen empfiehlt es sich, gleich beim Auftrennen der Gehäusehälften den Zuleitungsstecker zwischen Netzteil und Hauptplatine zu ziehen.
That´s it ! ... Für jemanden der nicht nur zwei linke Hände hat ein Aufwand von maximal zwei Minuten ... aber nicht das mich da jetzt jemand drauf festnagelt oder meint, mich für seine abgebrochenen Plastiknasen verantwortlich machen zu können oder dergleichen ... alles ohne Gewähr - is´ ja klar :D
Viel Spaß beim Basteln - ich komm´ da im Moment leider mangels (Tages-)Zeit nicht zu ...
Oli ...
krabbe
16.01.2005, 12:21:37
Danke für die Anleitung. Habe einige Bilder eingestellt:
Bilder des Motherboards & LEDs (http://www.m740.de/forum/showthread.php?t=383)
Habe mir die Aufschrift auf dem IR-Empfänger mal angeschaut:
19 441
V34838
Bei einer schnellen Suche im Netz habe ich diesen jedoch noch nichts gefunden.
Krabbe...
Lemmi
11.02.2005, 23:23:28
Ich habe ein paar Kodes in lircd.conf ausgetauscht:
vorher:
...
CURSOR_LEFT 0x000000000000001d
CURSOR_RIGHT 0x0000000000000021
...
FASTFORWARD 0x0000000000000041
REWIND 0x000000000000003a
...
nachher:
...
REWIND 0x000000000000001d
FASTFORWARD 0x0000000000000021
...
CURSOR_RIGHT 0x0000000000000041
CURSOR_LEFT 0x000000000000003a
...
Und tatsächlich: Die Funktionalität der Tasten war vertauscht.
Im Anhang habe ich die neue Tabelle und ein passenden Script abgelegt. Beides muß unter Firmware 1.18.lemmi (http://www.m740.de/wiki/index.php/Firmware_1.18.lemmi) Versionen 04 und 05 nach /var/etc kopiert werden und wird dann nach dem Neustart einmalig aktiviert. Ab dem übernächsten Neustart verhält sich die Box dann wieder normal.
Mehr dazu im Wiki unter lircd (http://www.m740.de/wiki/index.php/Lircd).
Speed Pete
12.02.2005, 17:03:50
Darf ich mal fragen, ob ich alles richtig verstanden habe? ;-)
Man kann also einfach Tasten der FB per Codeänderung vertauschen. Aber wie sieht es mit neuen Codes aus? Das geht nocht nicht, oder? Oder gehen halt nur bestimmte Codes - die im Frequenzband des Empfängers liegen?
Darauf deutet zB hin, dass ich zwar die Codes der FB wirklich schön per Telnet mitlesen kann, aber bei einer beliebigen anderen FB nichts passiert.
Lemmi
13.02.2005, 00:23:22
Darf ich mal fragen, ob ich alles richtig verstanden habe? ;-)
eigentlcih nicht ;)
Man kann also einfach Tasten der FB per Codeänderung vertauschen.
Ja.
Aber wie sieht es mit neuen Codes aus? Das geht nocht nicht, oder? Oder gehen halt nur bestimmte Codes - die im Frequenzband des Empfängers liegen?
Das nehme ich an. Da ich es nun vorgemacht habe, können ja auch andere weitertesten.
Darauf deutet zB hin, dass ich zwar die Codes der FB wirklich schön per Telnet mitlesen kann, aber bei einer beliebigen anderen FB nichts passiert.
lircd reagiert nur auf Tasten, die auch in der Tabelle stehen.
Interessant ist auch das folgende Verhalten:
Es passiert manchmal, das ich einen Knopf auf der FB drücke. Die LED zeigen einen Empfang an, aber es kommt weder ein Klick noch eine andere Reaktion der Box.
Interpretation: Der PIC hat das Signal erkannt, weil es im richtigen Frequenzbereich lag, es kam aber verstümmelt an, so dass lircd nichts Passendes in der Tabelle gefunden hat.
Powered by vBulletin® Version 4.1.9 Copyright ©2012 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.