Hallo liebe Community!
Ich habe einen Infrarot-Empfänger und eine Infrarot LED an meinen RPi angeschlossen, um mein Lego Auto (Nummer 9398) damit fernzusteuern. Das Auto hat einen Infrarot-Empfänger und es ist mir auch schon gelungen Befehle an das Auto zu schicken, allerdings schaff ich es nach vielen Versuchen nicht, die Befehle der Fernbedienung korrekt aufzuzeichnen.
Manchmal funktionieren zwei Befehle, manchmal nicht. Manchmal lenkt das Auto nach links wenn ich nur den Befehl für nach vorne sende etc..
Die Befehle sind immer gleich, allerdings passen die anderen Werte nicht für die LIRC config..
Vorwärts: 0x17
Rückwärts: 0x24
Links: 0x42
Rechts: 0x8E
Lego hat das Protokoll für die Übertragung veröffentlicht, allerdings werd ich nicht schlau daraus und hab auch keine Ahnung wie ich daraus eine LIRC-config basteln soll. Ich hab einen Blog gefunden wo es scheinbar schon jemand geschafft hat, dieser hat aber die config nicht veröffentlicht. Ich versuche auch, ihn zu kontaktieren aber ich fürchte das wird nichts.
Das Protokoll von Lego gibts hier:
http://www.philohome.com/pf/LEGO_Power_Functions_RC_v120.pdf
Meine erste aufgezeichnete config:
Entfernt
und hier meine zweite aufgezeichnete config:
Entfernt
Hier sieht man auch das die Codes gleich sind, allerdings passieren aufgrund der anderen Werte unterschiedliche Dinge. In der zweiten Config geht zwar alles beim 1. mal, aber wenn ich zb folgendes sende:
KEY_UP -> fährt vorwärts
KEY_UP -> fährt vorwärts und lenkt links
KEY_UP -> fährt vorwärts
KEY_UP -> fährt vorwärts und lenkt links
....
Kanal war immer bei Fernbedienung und beim Auto 1.
Ich hoffe hier weiß irgendjemand wie man die config richtig macht bzw. aus dem Dokument von Lego eine config basteln kann ![]()
Sollten wir/ich es schaffen würde ich die config selbstverständlich auch veröffentlichen!
LG Mono
EDIT 1:
Ich habe das Protokoll von Lego nun mehrere Stunden studiert und an der config gebastelt und es läuft schon fast. Es muss sich keiner mehr den Kopf zerbrechen wie man das Protokoll in eine config kriegt. Sobald ich ganz zufrieden und fertig bin (es fehlen noch Befehle) werde ich es hier veröffentlichen!
EDIT 2:
Bei folgenden Seiten möchte ich mich bedanken, da ich es ohne sie nicht geschafft hätte:
http://www.righto.com/2010/03/unders…codes-lirc.html
http://winlirc.sourceforge.net/technicaldetails.html
Und natürlich bei der Referenz von Lego!
Hier ist die fertige config: es fehlt nurnoch das korrekte toggle_bit, es wird aber bei diesem Modus vom Empfänger ignoriert!
Display Spoiler
# Please make this file available to others
# by sending it to <lirc@bartelmus.de>
#
# this config file was automatically generated
# using lirc-0.9.0-pre1(default) on Fri May 16 15:36:57 2014
#
# contributed by "Monoxid", Alex
#
# brand: LEGO
# model no. of remote control: Infrared Remote Control
# devices being controlled by this remote: 9398
#
begin remote
name lego
bits 8
flags SPACE_ENC|CONST_LENGTH
eps 30
aeps 100
header 158 1026
one 158 553
zero 158 263
ptrail 158
pre_data_bits 8
pre_data 0x81
gap 81026
# toggle_bit_mask 0x8019
begin codes
KEY_UP 0x17
KEY_DOWN 0x24
KEY_LEFT 0x42
KEY_RIGHT 0x8E
KEY_Q 0x53
KEY_E 0x97
KEY_A 0x60
KEY_D 0xAC
KEY_S 0x06
KEY_STOP 0xF9
end codes
end remote
Display More
Eine Frage hab ich allerdings noch:
(Auch wenn es in diesem Fall hier ignoriert wird) Das Toggle-Bit ist das 2. Bit pro Signal. Wie muss ich die toggle_bit_mask setzen damit das richtige Bit getoggled wird? In den beiden configs oben wird definitiv das falsche getoggled, denn ich glaube das war der Grund warum abwechselnd vorwärts/vorwärts+links gefahren wurde.
Dankesehr,
LG Mono