Forum: Mikrocontroller und Digitale Elektronik IR-Fernbedienung -> Seriell/USB -> PC - wie auswerten?


von Jordan (Gast)


Lesenswert?

Hallo,

ich habe aus Neugier einen SFH5110-36 (36kHz) korrekt an ein 
Seriell_to_USB-Modul an einem Win-PC angeschlossen.

Wenn man H-Term startet und eine Fernbedinungstaste drückt, werden auf 
dem Bildschirm allerlei merkwürdige Zeichen ausgegeben.
Habe hier drei verschiedene IR-Fernbedienungen, die alle mehr oder 
weniger unterschiedliche Zeichen erzeugen.

Frage:

Kann man bei richtiger Einstellung der seriellen Übertragungsparameter 
auf diese Weise korrekt die Daten einer IR-Fernbedienung empfangen?

Oder benutzen solche Fernbedienungen eher exotische Protokolle, die 
nichts mit der üblichen seriellen Übertragung zu tun haben?

von grünbaum (Gast)


Lesenswert?

Jordan schrieb:
> Kann man bei richtiger Einstellung der seriellen Übertragungsparameter
> auf diese Weise korrekt die Daten einer IR-Fernbedienung empfangen?

Nein.

> Oder benutzen solche Fernbedienungen eher exotische Protokolle, die
> nichts mit der üblichen seriellen Übertragung zu tun haben?

Exotisch würde ich die IR-Protokolle nicht nennen aber sie haben nichts 
mit der seriellen (RS232,  485) zu tun. IRMP ist ein Stichwort für die 
Mikrocontroller.net Artikel.

von Jordan (Gast)


Lesenswert?

Danke für die schnelle Antwort!

Dann kann man solch eine Empfangsschaltung nur mit SFH5110-36 vermutlich 
auch nicht einfach an den UART/Rx eines Atmega klemmen?!?

Also wäre eine gute Lösung, zwischen SFH5110-36 und Mikrocontroller/PC 
einen Datenkonverter (z.B. mit Attiny45) zu klemmen, also wie hier 
beschrieben:
https://www.mikrocontroller.net/articles/IRMP
?

von Teo D. (teoderix)


Lesenswert?

Jordan schrieb:
> Kann man bei richtiger Einstellung der seriellen Übertragungsparameter
> auf diese Weise korrekt die Daten einer IR-Fernbedienung empfangen?

Ja, das geht!

Siehe zB. LIRC
http://www.lirc.org/receivers.html

Meiner Erfahrung nach aber nicht sehr zuverlässig (mit LIRC).

von grünbaum (Gast)


Lesenswert?

Teo Derix schrieb:
> Jordan schrieb:
>> Kann man bei richtiger Einstellung der seriellen Übertragungsparameter
>> auf diese Weise korrekt die Daten einer IR-Fernbedienung empfangen?
>
> Ja, das geht!
>
> Siehe zB. LIRC
> http://www.lirc.org/receivers.html

Auch über einen Seriell_to_USB-Modul wie vom TE angegeben?

@Jordan:
"Also wäre eine gute Lösung, zwischen SFH5110-36 und Mikrocontroller/PC
einen Datenkonverter (z.B. mit Attiny45) zu klemmen, also wie hier
beschrieben:
https://www.mikrocontroller.net/articles/IRMP";

Meiner Meinung nach ja.

von Dauergast (Gast)


Lesenswert?

Der praktische Unterschied zwischen LIRC und IRMP im Betrieb liegt in 
der Empfangssicherheit und damit in der maximalen Entfernung der FB vom 
Empfänger sowie der Unempfindlichkeit gegenüber Störlicht - beides bei 
IRMP wesentlich höher. Zusätzlich war bei meinen Versuchen der Aufwand 
an "Gefummel" mit LIRC signifikant höher.

Mein Rat für Erstversuche ist ein ATMega328 mit IRMP. Der ist groß 
genug, um alle Protokolle gleichzeitig zu aktivieren, Du kannst also mit 
(fast) allen auffindbaren Fernbedienungen sofort was sehen, ohne ständig 
umprogrammieren zu müssen.

Die Unterschied lagen bei mir zwischen max. 2m bei Dunkelheit (LIRC) und 
über 6m im sonnendurchfluteten Raum mit IRMP.

Wenn Du es extrem brauchst und RC5 benutzt, wirf einen Blick auf den 
RC5-Dekoder von PeDa:
Beitrag "Fernbedien RC5 Empfänger"
Der funktioniert auch noch über Reflexion auf einer hellgrünen Tapete 
(wahrscheinlich auch noch aus der Umlaufbahn unseres Planeten, oder auch 
eines völlig anderen Planaten).

von grünbaum (Gast)


Lesenswert?

Dauergast schrieb:
> Der praktische Unterschied zwischen LIRC und IRMP im Betrieb liegt in
> der Empfangssicherheit und damit in der maximalen Entfernung der FB vom
> Empfänger sowie der Unempfindlichkeit gegenüber Störlicht - beides bei
> IRMP wesentlich höher. Zusätzlich war bei meinen Versuchen der Aufwand
> an "Gefummel" mit LIRC signifikant höher.

Mit USB-seriell Wandler ???

Von der Seite: http://www.lirc.org/receivers.html
"The following page will show you how to build your own infrared 
receiver for the serial port. Please note that the serial port driver in 
the LIRC package only supports 8250 compatible UARTs (this includes the 
most common 16450 and 16550A types). That means that it won't work with 
exotic multi-port cards that need a special driver. "

Geht deshalb meiner Meinung nach nicht mit USB-seriell Wandlern. Hat 
damit (USB-seriell Wandler) schon jemand LIRC ausprobiert???

von Teo D. (teoderix)


Lesenswert?

grünbaum schrieb:
> Auch über einen Seriell_to_USB-Modul wie vom TE angegeben?

Hab mit den Teilen keine Bastelerfahrung.
Es könnte eventuell Probleme mit der Stromversorgung geben, wenn man die 
aus der Seriellen beziehen möchte?!

von Joachim B. (jar)


Lesenswert?

Dauergast schrieb:
> Der praktische Unterschied zwischen LIRC und IRMP im Betrieb liegt in
> der Empfangssicherheit

genau, für den PC gab es mal
http://pofahl.de/irdeo/

das Problem ist heute das OS oberhalb von dos oder windoofs weil man 
keine direkten Zugriffe mehr zeitgenau auf die Schnittstellen hat.

Ich hatte mal an der Joystickschnitte bessere Ergebnisse erzielt unter 
DOS.

Heute würde ich einen Atmel nehmen der das dekodiert und die 
ausgewerteten Daten seriell im Klartext an den PC liefert.

IRMP zu seriell, Frank hatte da auch mal einen kleinen Empfänger 
vorgestellt.

von Teo D. (teoderix)


Lesenswert?

ÄÄh, scheiß Alzheimer :(

Das Problem werden die Signalpegel sein. Der IR-Empfänger arbeitet ja 
nur mit 5V und damit muss die Serielle umgehen können!
N' Pegelwandler dran und es sollte funzen. (lass mich aber auch gerne 
bessern belehren)

von grünbaum (Gast)


Lesenswert?

Joachim B. schrieb:
> Dauergast schrieb:
>> Der praktische Unterschied zwischen LIRC und IRMP im Betrieb liegt in
>> der Empfangssicherheit
>
> genau, für den PC gab es mal
> http://pofahl.de/irdeo/

Auch nicht für USB-seriell Wandler aber schön, daß du das erwähnt hast. 
So eine Plauderei aus dem Nähkästchen am Sonntagmorgen mit Kaffe, 
womöglich von der Terasse aus, hilft keinem aber das Wetter ist ja 
schön.

von RAL7005 (Gast)


Lesenswert?

Das Wetter hier ist mausgrau.

Und die ueberbrueckbare Entfernung wird nicht von der
Auswertung bestimmt, sondern erstmal von Sendeleistung
und Empfindlichkeit des Empfaengers.

LIRC hab ich ueber ca 10 Jahre zusammen mit ProgDVB
ueber eine Strecke von ca. 10 m benutzt (inkl. 1 Reflektion).
Hing aber an einer echten Seriellen. Der Empfaenger war
bei der Skystar 2, zusammen mit der Software dabei.

von Dauergast (Gast)


Lesenswert?

RAL7005 schrieb:
> Und die ueberbrueckbare Entfernung wird nicht von der
> Auswertung bestimmt

Die überbrückbare Entfernung wird signifikant von der Auswertung 
bestimmt, da sich die Flanken des vom TSOP gelieferten Signals abhängig 
von der Entfernung mehr oder weniger deutlich verschieben. Daraus ergibt 
sich ein deutlicher Unterschied zwischen einfachem Abtasten bzw. 
Neusychronisierung bei jeder Flanke; letztere verbessert zusätzlich die 
Erkennung von Störungen.

Trifft natürlich auf geringere Sendeleistung bzw. 
Empfänger-Empfindlichkeit genauso zu.

von stefan us (Gast)


Lesenswert?

Ich hatte das mal mit Hilfe eines Mikrocontrollers genacht. Er tastet 
das Singnal alle 0.2 ms ab und sendet die nullen uns einsen als Text an 
den seriellen Port des PC. Den Rest der Dekodierung macht dann das 
Programm auf dem PC.

von Jordan (Gast)


Lesenswert?

Danke für die vielen Antworten!

stefan us schrieb:
> Ich hatte das mal mit Hilfe eines Mikrocontrollers genacht. Er tastet
> das Singnal alle 0.2 ms ab und sendet die nullen uns einsen als Text an
> den seriellen Port des PC. Den Rest der Dekodierung macht dann das
> Programm auf dem PC.

Kannst du das Prinzip genauer erklären?

von Joachim B. (jar)


Lesenswert?

stefan us schrieb:
> Ich hatte das mal mit Hilfe eines Mikrocontrollers genacht. Er tastet
> das Singnal alle 0.2 ms ab und sendet die nullen uns einsen als Text an
> den seriellen Port des PC.

dann kann ich auch gleich IRMP nehmen und die dekodierten Codes als Text 
senden.

von Guido Körber (Gast)


Lesenswert?

Wenn das RC5 Protokoll ausreichend ist (hat den größten Anteil bei den 
IR Fernbedienungen), dann gibt es das auch fertig in einem Chip:
http://www.codemercs.com/de/io/low-speed

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Guido Körber schrieb:
> Wenn das RC5 Protokoll ausreichend ist (hat den größten Anteil bei den
> IR Fernbedienungen), dann gibt es das auch fertig in einem Chip:
> http://www.codemercs.com/de/io/low-speed

RC5 hatte vielleicht mal im europäischen Raum vor 20-30 Jahren den 
größten Anteil. Aktuell verwendet RC5 kein im Handel befindliches 
Gerät mehr. Die Asiaten sowieso nicht, die Europäer sind schon lange von 
RC5 weg. Von wegen "größter Anteil". RC5 ist schon lange tot. Selbst 
Philipps verwendet es nicht mehr.

Ein Grund unter vielen: die Funktionen sind viel zu starr und die Menge 
der möglichen Codes sind viel zu gering. Du könntest mit RC5 noch 
nichtmals zwei funktionsähnliche Geräte (unterschiedlicher Hersteller) 
gleichzeitig in einem Raum betreiben, ohne dass Du versehentlich mit der 
Fernbedienung A das Gerät B steuerst und umgekehrt.

Fazit: RC5 ist viel zu starr, der Funktionsumfang zu gering und damit 
den heutigen Anforderungen (3-7 Fernbedienungen im Wohnzimmer) überhaupt 
nicht gewachsen.

Aber das hätte ich schon vor 10 Jahren schreiben können... Auf welchem 
Planeten wohnst Du?

P.S.
Lies mal IRMP - zumindest die Einleitung.

: Bearbeitet durch Moderator
von Philipp K. (philipp_k59)


Lesenswert?

Hab mich damit letztens auch auseinandergesetzt.

1. Raspberry mit Lirc
2. IRScrutinizer mit Arduino und Girslite.

Hab da erst ne VM mit Anleitung gebastelt.
http://huntingforbeer.de/shortener2.php

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.