Forum: HF, Funk und Felder IR-Fernbedienung durch RPi ersetzten?


von Kenny (Gast)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

ich habe eine dumme Frage: Ich besitze eine LED Strip mit einem IR 
Fernbedienung. Diese steuert einen kleinen Controller - siehe Bild.
Die unteren drei Kabel (+- und Data) führen zum IR Empfänger. Wenn ich 
den Controller nun mit einem Rasberry Pi steuern wollte, könnte ich dann 
"einfach" den Data mit einem Ausgang des RPi ersetzten? Kann ich 
irgendwie rausfinden welche werde man da ausgeben müsste?

Vielen Dank schonmal

Ben

von Jobst Q. (joquis)


Lesenswert?

Im Prinzip ginge das schon, aber du musst ja das Protokoll analysieren, 
was für Anfänger nicht ganz einfach ist. Dazu brauchst du die 
Fernbedienung.

Ich würde den Empfänger dranlassen und stattdessen eine IR-Led an den 
Raspi anschließen, dann kannst du es mit der Fernbedienung und dem Raspi 
steuern.

von Kenny (Gast)


Lesenswert?

Aber das Protokoll kann doch eigentlich nicht so komplex sein oder? Die 
Fernbedienung liegt mir vor. Wenn ich das einfach mal am RPi 
anschliessen und einfach mal ein paar Werte ausgeben müsste doch was 
passieren oder?

Es geht mir ja darum mit dem Raspberry den Controller zu steuern.

von holger (Gast)


Lesenswert?

>Wenn ich das einfach mal am RPi
>anschliessen und einfach mal ein paar Werte ausgeben müsste doch was
>passieren oder?

Irgendwas wird sicher passieren. Nur nicht das was du willst.

Kleiner Tip: Die meisten China Fernbedienungen sprechen
das NEC Protokoll. Da is nix mit ich geb mal ein paar
Werte rein. Das ist Dumpfbackendenken.

von Kenny (Gast)


Lesenswert?

Ich danke euch für eure Hilfe. Das habe ich mir einfacher vorgestellt ;) 
Ich werde mir was anderes überlegen.

von Oliver S. (phetty)


Lesenswert?

Knibbel die Fernbedienung auf und steuere die Tasten über kleine Relais 
die an den Raspi-GPIOs hängen, an.

von Εrnst B. (ernst)


Lesenswert?

Kenny schrieb:
> Ich danke euch für eure Hilfe. Das habe ich mir einfacher vorgestellt

Wieso, ist doch super-einfach:

IR-LED und IR-Receiver an RPi anschliessen.
Bauplan hier:

http://aron.ws/projects/lirc_rpi/

Kernel-Modul "lirc_rpi" laden.

Lirc starten, Tasten von Fernbedienung anlernen ("irrecord"), sofern es 
nicht schon ein fix-und-fertiges config-File dafür gibt, und mit 
"irrsend" nach Bedarf wieder abspielen...


Und wenn wirklich die "Luft" zwischen Sender und Empfänger verschwinden 
soll:

Statt IR-Sendediode Tiefpass an den RPi (der ~35kHz Träger muss weg), 
damit Transistor/Optokoppler als Empfänger-Ersatz ansteuern...
Software bleibt gleich.

: Bearbeitet durch User
von Kenny (Gast)


Lesenswert?

Ja super Anleitung - vielen Dank :) Das werd ich testen!

von Dominik R. (vision)


Lesenswert?

Wäre es nicht möglich, einen IR-Receiver an die IOs vom RPi zu klemmen, 
mit der Fernbedienung die gewünschten Befehle an den RPi zu senden und 
im RPi die Bitmuster der Befehle in einer Tabelle zu speichern?
Man muss ja die Bitmuster gar nicht verstehen, es reicht dann ja, diese 
"aufgezeichneten" Bitmuster 1:1 wieder an den LED-Controller auszugeben. 
Oder habe ich da einen Denkfehler?

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Dominik R. schrieb:
> Oder habe ich da einen Denkfehler?

Ja hast Du. Simples Aufzeichnen geht nicht immer gut. Es gibt 
Situationen, da muss man das Protokoll näher "kennen", um es richtig zu 
machen. Einfach nur aufzeichnen und wiedergeben funktioniert sonst oft 
nicht korrekt.

Typische Haken sind dabei:

1. Toggle-Bit bei RC5, RC6 und verwandten Protokollen. Damit wird
   unterschieden, ob der Anwender eine Taste zwischendurch losgelassen
   hat (z.B. 2maliges Tippen auf die Zahl "1") oder eine Taste länger
   drückt (längeres Halten der Lautstärke-Taste).

2. Repeat-Frames, zum Beispiel beim NEC-Protokoll. Wenn Du da die
   Lautstärke-Taste länger drückst, wird das eigentliche Telegramm
   nur einmal geschickt (z.B. "Lautstärke leiser"). Danach folgen
   für die Zeit des Tastendrucks nur noch kleine Repeat-Frames von
   ein paar Bit, welche dann bedeuten: "Wiederhole den zuletzt
   gesendeten Befehl".

3. Modulationsfrequenz: Du musst das Signal modululieren - und zwar
   möglichst mit der Frequenz, den auch der Hersteller verwendet.
   Ansonsten erreichst Du u.U. den Empfänger nicht, weil sich die
   Reichweite drastisch verkürzt. Wenn Du aber mit einem TSOP-IR-
   Empfänger das Signal aufzeichnest, dann bekommst Du bereits das
   demodulierte Signal - falls der Empfänger überhaupt in der
   Nähe der verwendeten Frequenz arbeitet. Die Information über
   die tatsächliche Frequenz geht also verloren.

Es gibt da noch ein paar kleinere andere Gründe, warum ein simples 
Scannen und Wiedergeben der IR-Signale bei bestimmten Protokollen nicht 
zum Erfolg führt.

Falls Du interessiert bist, schau mal in den IRMP-Artikel rein. 
Details zu den IR-Protokollen findest Du im Anhang des Artikels:

  http://www.mikrocontroller.net/articles/IRMP#Die_IR-Protokolle_im_Detail

Viel Spaß,

Frank

von Dominik R. (vision)


Lesenswert?

Danke für die ausführlichen Infos. Da hatte ich es mir wohl echt 
leichter vorgestellt, als es tatsächlich ist. Auf jeden Fall werde ich 
mir den Link mal genauer ansehen.

Dominik

von Kenny (Gast)


Lesenswert?

Ich bin leider nicht so der Linuxexperte :/ Klingt aber nach einer guten 
Idee.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.