Forum: Digitale Signalverarbeitung / DSP IR Telegramm reverse-engineering


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von pascalts (Gast)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Moin!

Ich habe hier einen Westminster Pellet-Ofen den ich per IR-Fernbedienung 
steuern kann. Heißt Funktionen wie Ein / Aus, Soll-Temperatur festlegen, 
Gebläse-Stufe festlegen kann ich "programmieren" mit der Fernbedinung.

Ich würde das gern später einem uC auftragen, damit ich weitere 
Steuerungsfunkionen habe, oder z.B. von der Arbeit aus das Haus 
vorheizen kann (ESP + IR im WiFI mit Webserver...).

Leider scheite ich bereits sehr früh: Beim dekodieren des IR-Signals. 
Ich komme einfach nicht drauf, was das für eine Kodierung sein könnte... 
Da fehlt es mir Massiv an der Erfahrung.

Es gibt leider seitens des Herstellers keine mir bekannte Dokumentation 
(wie leider so oft). Aber vielleicht hat ja jemand von euch schon mal 
sowas gesehen.

Kurz zu meinem Versuchsaufbau: Die Fernbedienung richte ich auf eine 
IR-Diode, welche an einem einfach Logic-Analyzer hängt (China-Ware, aber 
bisher überraschend zuverlässig).

Könnt ihr mir zu dem Signal im Anhang irgendetwas sagen, mit dem ich 
weiter komme? Ich könnte natürlich von mir gewünschte Befehle einfach 
aufzeichen und abspielen. Aber das wäre nicht so "cool", wie z.B. eine 
Arduino-Library zu bauen, von der dann auch andere profotieren können.

Grüße

Pascal

PS: Das übertragene Signal sagt dem Ofen "Alles ausmachen".

von Johannes O. (jojo_2)


Bewertung
0 lesenswert
nicht lesenswert
Manchester Coding mit OOK (On-off-Keying).

Am Anfang hast du noch ein paar ms dauer an um den Empfänger zu wecken 
o.Ä.

Vermutlich ist da noch ein Träger aufmoduliert den du hier nicht siehts. 
Sollte im kHz Bereich sein irgendwo dort sein: 30-70 kHz
https://en.wikipedia.org/wiki/Consumer_IR (Abschnitt zur Carrier 
Frequency)

von ...-. (Gast)


Bewertung
0 lesenswert
nicht lesenswert

von pascalts (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Okay, vielen Dank erstmal.

Ich habe mal schnell einen Arduino mit IRMP aufgesetzt. Da bekomme ich 
folgendes Ergebnis:

P=SIEMENS  A=0x2AA C=0x15A R

Manchmal kommt

P=NEC42  A=0x1043 C=0x0

Siemens schein mir nicht plausibel. Da 
(https://www.mikrocontroller.net/articles/IRMP#SIEMENS_.2B_RUWIDO) steht 
"Start-Bit   275µs Puls, 275µs Pause " - das habe ich definitiv nicht.

NEC42 (https://www.mikrocontroller.net/articles/IRMP#NEC42) könnte schon 
eher hinkommen "Start-Bit   9000µs Puls, 4500µs Pause "

Aber spätetens ab der Beschreibung von 0 und 1 bit passt da nix mehr... 
Ich glaube die Jungs von Westminister haben sich das was eigenes 
einfallen lassen...

von Hp M. (nachtmix)


Bewertung
0 lesenswert
nicht lesenswert
pascalts schrieb:
> Es gibt leider seitens des Herstellers keine mir bekannte Dokumentation
> (wie leider so oft).

Hast du ihn schon mal danach gefragt?

von pascalts (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Ja. Ich habe Westinster, als auch den Hersteller der Steuerplatine in 
Italien angefragt. Ursprünglich in der Hoffnung, auf die Serielle 
Schnittstelle an der Rückseite des Ofens zugreifen zu können. Aber die 
wollten mir nicht mal sagen, ob es TTL Level, RS232 oder etwas ganz 
anderes ist.

Das Einzige was sie mir angeboten haben, ist mit ein Modul zu 
entwickeln, wenn ich es in groér Stückzahl verkaufen könne - und das war 
nicht mein Ziel.

Also leider: Keine Dokumentation.

von Gerald K. (geku)


Bewertung
0 lesenswert
nicht lesenswert
pascalts schrieb:
> Die Fernbedienung richte ich auf eine IR-Diode, welche an einem einfach
> Logic-Analyzer hängt

Ich habe einen Fototransistor verwendet. Ob man die Trägerfrequenz sicht 
oder nicht sieht hing vom Kollektorwiderstand und der Entfernung 
zwischen Fernbedienung und Fototranistor ab.

Ich baute mir eine lernfähige Fernbedienung. Dieses speicherte die 
Telegrammsequenz den Tasten zugeordnet ab und konnte später durch 
Drücken dieser wieder abgespielt werden. Das funktionierte mit 
verschiedenen Fernbedienungen, ohne das Telegramm analysiert zu haben.
Wichtig ist, auch die Modulation zu berücksichtigen.

von sid (Gast)


Bewertung
1 lesenswert
nicht lesenswert
Hast Du mal versucht über die SollTemperatur die Struktur zu ergründen?

Also Solltemperatur auf Zweierpotenzen und zweierpotenzen-1 setzen;
sodass Du eine schöne Folge von Nullen durch dieselbe Anzahl Einsen 
ersetzt;
so kann man recht schnell die Datenbits und ggf den paritätsbit 
herausfinden.

kannst Du die dann identifizieren kannst Du sie auch decodieren
(dank dem Vorwissen der eingestellten Temperatur)
So könnte man ggf den Ansatz finden die Codierung herauszufinden

'sid

von Mario M. (thelonging)


Bewertung
0 lesenswert
nicht lesenswert
pascalts schrieb:
> NEC42 (https://www.mikrocontroller.net/articles/IRMP#NEC42) könnte schon
> eher hinkommen "Start-Bit   9000µs Puls, 4500µs Pause "
>
> Aber spätetens ab der Beschreibung von 0 und 1 bit passt da nix mehr...

Passt doch gut, wenn man berücksichtigt, dass Puls = L und Pause = H 
ist.

von pascalts (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Danke, das sind gute Ansätze. Ich werde mich am Wochenende mal hinsetzen 
und schauen was ich hinbekomme. Das mit den verschiedenen Werten ist 
eine gute Idee die ich auch hatte, aber auf die Idee mit den 2er 
Potenzen bin ich nicht gekommen.

Einen Fototransistor könnte ich auch noch in der Grabbelkiste haben... 
mal sehen.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.