IR Remote auslesen

  • Guten Morgen

    Ich habe folgende Frage: Kann man mit einem 1838T IR Sensor eine Infrarot Fernbedienung auslesen? Habe das ganze auf dem Arduino so halbwegs aber dort kommt nicht das Ergebnis raus was ich brauche.

    Habe hier so eine Billo Fernbedienung die aber für meine Zwecke ausreicht. Sie hat für jede Taste zwei Werte.

    Ist das Encoden des Signals mit Python möglich? Wenn ja hat jemand eine gute Anleitung zur Hand? Im Grunde bräuchte ich den Hex Wert der ja beim endcoden entsteht?!

  • Ob es mit diesem speziellem Sensor funktioniert kann ich dir nicht beantworten ansonsten befolge einfach mal diese Anleitung:
    http://tsagi.me/electronics/20…erry-pi-remote/

    Das encoden der Infrarotsignale sollte dann über Lirc funktionieren nachdem du über den Sensor folgendes erhalten hast:

    Dieser kann dann in einen hexcode umgewandelt werden siehe:
    http://www.lirc.org/html/install.html#sending

    Aber an dem Punkt bin ich noch nicht wegen zur Zeit fehlendem Empänger


    edit:
    Falls du noch eine Schaltung suchst für einen IR Emitter kann ich diese hier empfehlen: http://alexba.in/.
    Die funktioniert 1a egal wie dieser aufgestellt ist.

    Einmal editiert, zuletzt von cinds (17. August 2013 um 15:53)

  • Hallo,
    meine Variante ist hoch umständlich, aber funktioniert. So bin ich bei meiner IR-Remote an die Hexcodes gekommen.
    Habe in Raspbmc über ssh meine IR-Fernbedienung mit

    Code
    irrecord -d /dev/lirc0 ~/lircd.conf


    angelernt. Jeder Taste einen Befehl zugeteilt, am besten du führst eine Tabelle zum Überblick mit. anschließend kann man mit

    Code
    irw


    die einzelnen Tasten betätigen und bekommt z.B.

    Code
    KEY_VOLUMEUP 0x40BF


    als Antwort.

    Wie gesagt umständlich, aber besser als keine Antwort

    Einmal editiert, zuletzt von JimPansen (17. August 2013 um 15:50)

  • cinds
    Also ich habe folgendes Problem mit der Anleitung wo ich nicht weiß ob es an mir oder der Hardware liegt. Beim Arduino habe ich den Receiver mit 5V betrieben und in der Anleitung steht mit 3,3V. Alles was ich ausprobiert habe, habe ich mit beiden Möglichkeiten probiert.
    Also beim zweiten Punkt (Befehle an /etc/modules anheften): Wie genau meinen die das jetzt? Ich habe die Datei jetzt per nano geöffnet und einfach so hinzugefügt:

    den Output habe ich weggelassen da ich die Signale weiterverarbeiten möchte und nicht weiter schicken.
    Bei diesem Schritt bin mir einfach nur nicht sicher ob es so gemeint ist.

    Wenn ich dann versuche die Rohdateien mit

    Code
    mode2 -d /dev/lirc0


    versuche auszulesen kommt diese Fehlermeldung:

    Code
    mode2: could not get file information for /dev/lirc0
    mode2: default_init(): No such file or directory

    Die Datei "/etc/lirc/hardware.conf" wurde so übernommen wie sie in der Anleitung steht und auf auf jedenfalls abgespeichert worden.

    @JimPansen

    Ist zwar eine Nette Idee aber
    1.) sehr sehr viel arbeit und vor allem wenn ich den RPI irgendwann mal neu aufsetze muss das alles wieder passieren
    2.) Ich wüsste jetzt wie ich im nachhinein mit Python/Java darauf zugreifen könnte
    Aber danke für die Anregung
    EDIT: Ich habe es gerade einfach mal aus Interesse ausprobiert und bekomme beim Aufrufen diese Fehlermeldung:

    Code
    irrecord: file "/home/pi/lircd.conf" does not contain valid data

    Einmal editiert, zuletzt von audacity363 (18. August 2013 um 13:38)

  • Okey ich habe den Fehler gefunden: irgendwie hat die modules Datei die Treiber Blockiert. Habe die neues Einträge mal herausgenommen und jetzt funktioniert es. Nur jetzt wird ja alles vom der Shell übernommen, wie kann man jetzt per Python/Java auf diese Infos zugreifen?

  • Hallo,

    würde mich dem Thema gerne anschließen.
    Baue einen Raspberry an den E-Rollstuhl von meinem Kumpel.
    Er hat an dem Rolli einen Infrarot Sender zur Steuerung von Fernseh, Anlage etc.

    Wir haben daher einen Infrarot Empfänger an den Raspberry gebaut, LIRC und PYLIRC installiert und soweit eingerichtet. Es läuft Raspbian Wheezy auf dem Raspy.

    Über irrecord anlernen und ird testen klappt soweit auch alles sehr gut.
    Haben also auch die Hexcodes auch parat.

    Die einzige Frage die noch offen ist, wie arbeite ich in einem Python Skript mit den Infrarot Signalen?
    Zu Pylirc2 findet man im Netz ja weder eine Doku oder irgendwelche Befehle...

    Wir arbeiten an einer Text-to-speech Sprachausgabe über die Google TTS Engine.
    Python Kenntnisse soweit vorhanden. Ich muss nur wissen, wie ich in der While Schleife prüfen kann, ob bzw welches Infrarot Signal empfangen wurde...
    Erfahrung habe ich hierbei bisher nur beim Auslesen der GPIO Eingänge um auf Taster zu reagieren.

    Wäre also echt super wenn jemand weiß, wie ich in Python auf Lirc zugreifen kann?

    Vielen Dank vorab

    Liebe Grüße

    Daniel

  • So, langsam wird es bei mir echt kritisch mit der Zeit,
    habe noch 2 Wochen und dann muss es fertig sein.

    Also lirc läuft habe mein FB angelernt und kann auch mit irsend aus meiner config Signale an mein TV senden.

    Jetzt habe ich halt das problem mit der umsetzung.
    Wie muss ich es umsetzen, dass wenn ich meine FB auf den Empfänger richte und die Taste 1 betätige, das der Pi es auswertet um es weiter zu leiten?
    Mit weiterleiten meine ich an irsend mit dem betreffenden befehl.

    BSP:
    IRW list das ich auf der FB Key 1 gedrückt habe, gibt es aber unglücklicherweise so aus (00052550004230 01 Key 1 panasonic) <-- die nummerreinfolge stimmt jetzt nicht.
    Aber es steht zumindest drin wie oft (01), was (key 1) und für welches Gerät (panasonic).

    Wenn ich es jetzt über eine Pipe zum nächsten Pi schicken würde sollte er nur den befehl irsend SEND_ONCE panasonic key 1 ausgeben und ausführen

    Meine configs sind selbst erstellt und haben von meiner FB alle Knöpfe und die Benenung ist nicht nach der namespace liste!
    Aber das ist auch egal den es funktioniert so auch!

  • Also stehst du vor dem Problem, dass der Pi zwar die IR Codes senden kann, aber noch nicht auf direkte Eingaben per Fernbedienung reagiert? Laut dieser Anleitung hier, deren erste Hälfte ich für meine Fernseher-Steuerung benutzt habe geht genau das mit dem Programm "irexec". Der wartet wohl auf IR-Input und fürt dann das entsprechend hinterlegte Script aus. In dem Script steht dann eben wiederum drin, welchen Befehl er bei welchem Input ausgeben soll.

    Einmal editiert, zuletzt von Botlike (25. April 2014 um 17:36)

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!