mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Challenge: 433MHz Funk-Protokoll entschlüsseln


Autor: Leo B. (luigi)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

ich könnte ein wenig Unterstützung gebrauchen und wende mich mit einem 
kleinen Rätsel an euch. Wenn ihr lust habt, seht es als 'Challenge' ;)


Hintergrund
Ich möchte ein paar Funksteckdosen (von Silver Crest) in meiner Wohnung 
verteilen. Nun reichen mir nur die 4 Kanäle der Fernbedienungen nicht 
aus und ich würde sie zusätzlich gerne mit einem Mikrocontroller 
steuern. Jedenfalls habe ich nun das Protokoll der 433MHz 
Datenübertragung mitgeschnitten. (Direkt aus der Fernbedienung um 
Messfehler zu vermeiden.) Nur leider sitze ich jetzt vor einem kleinen 
Problem. Ich verstehe das Protokoll nicht und vermute eine 
Verschlüsselung. Aber vielleicht könnt ihr mir helfen das Protokoll 
dennoch zu verstehen.

Nun, zu dem was ich bereits herausgefunden habe:
Es gibt wohl 2 verschiedene Sync Sequenzen:
 's' einzel Puls: 0,388 ms'high', 2,34 ms'low' |¯|___
 'S' einzel Puls: 3,180 ms'high', 7,47 ms'low' |¯¯¯|_____

Im Anschluss an diese Sync Sequenzen folgen 24 Bits:
 '1' einzel Puls: 1,180 ms'high', 0,394 ms'low' |¯¯¯|_
 '0' einzel Puls: 0,394 ms'high', 1,180 ms'low' |¯|___

Übertragen wird immer Pakete in folgender Struktur:
 4x(s<24-bit Daten>)4x(S<24-bit Daten>)
 Vermutlich wird es klarer im angehängten Bild 'Paket format.png'

Drückt man eine Taste mehrmals oder bleibt darauf, dann wiederholen sich 
die Pakete mit zyklisch 4 verschiedenen Inhalten. Innerhalb eines Pakets 
bleibt der Inhalt jedoch konstant. Diese Inhalte habe ich jetzt 
aufgelistet und versuche sie zu entschlüsseln, und an dieser Stelle 
komme ich an meine Grenzen...

Das Problem
Ich habe im Anhang eine Tabelle mit allen Paketen, die beim Drücken 
einer Taste gesendet werden. Allerdings scheine ich auf ein paar 
verschlüsselte Daten gestoßen zu sein und bräuchte eine Methode zur 
Entschlüsselung.
Ein paar Ähnlichkeiten zwischen den Daten konnte ich schon finden, aber 
ich durchschaue es noch nicht.

An dieser Stelle wende ich mich an euch und hoffe ein paar kluge Köpfe 
zu finden, die mir beim entschlüsseln helfen können und vor allem auch 
wollen.

Für alles was euch auffällt oder helfen könnte das Geheimnis zu lüften, 
bin ich höchst dankbar!

Vielen Dank,
Leo

Autor: Georg A. (georga)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Leo B. schrieb:
> Für alles was euch auffällt oder helfen könnte das Geheimnis zu lüften,
> bin ich höchst dankbar!

Der erste Schritt: Sender und Steckdosen aufschrauben und nach dem Chip 
suchen. Es gibt da zwar viele (chinesische) Firmen, aber es ist vom 
Prinzip her fast immer gleich. Sogar die Chips haben oft identische 
Ziffern...

https://cdn-shop.adafruit.com/datasheets/PT2262.pdf
https://www.maltepoeggel.de/data/usbfunk/sc5262.pdf

Dein Sync-Pattern (Duty 1/8) kommt da schon hin.

Je nach Decoder-Chip (oft irgendein Suffix in der Bezeichnung) werden 
die obersten Bits dann entweder zur parallelen Übertragung mehrerer Bits 
bzw. als weitere Adressbits benutzt. Die Adressebits können aber 
eigentlich drei Stati, wird meistens aufgrund der Dipschalter für die 
Adressen aber nicht benutzt.

Die einzig relevanten Unterschiede der diversen Dosen sind neben der 
Belegung der Adressbits die Baudrate, die über den Widerstand 
eingestellt wird.

Autor: Wolfgang (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Leo B. schrieb:
> Ich verstehe das Protokoll nicht und vermute eine Verschlüsselung.

Das wäre eine schlechte Verschlüsselung, bei der es zu 5 Steuerkommandos 
nur 20 verschiedene Übertragungscodes gibt. Ziel einer Verschlüsselung 
ist es, dass man ohne Kenntnis des Schlüssels nicht auf den übertragenen 
Inhalt zurückschließen kann.

Autor: MaWin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Leo B. schrieb:
> Allerdings scheine ich auf ein paar verschlüsselte Daten gestoßen zu
> sein

Ich nehme an, die sind zum anlernen. Knoof lange drücken, Empfänger 
akzeptiert weil er decodiert dass er von 'seinem' Sender beschickt wird.

Ansonsten sieht das nach Pt2262 mit einem manchmal um 1 bit vetschobenen 
Ingalt aus.

https://www.sweetpi.de/blog/329/ein-ueberblick-ueber-433mhz-funksteckdosen-und-deren-protokolle
https://wiki.fhem.de/wiki/Intertechno_Code_Berechnung

Autor: Georg M. (g_m)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Leo B. schrieb:
> Drückt man eine Taste mehrmals oder bleibt darauf, dann wiederholen sich
> die Pakete mit zyklisch 4 verschiedenen Inhalten. Innerhalb eines Pakets
> bleibt der Inhalt jedoch konstant.

"Es sind durchaus gewisse Zusammenhänge zu erkennen."
Beitrag "Decodiernug 433MHz Signal Funksteckdosen"


MaWin schrieb:
> Ich nehme an, die sind zum anlernen.

Ja, nach dem Einstecken wartet die Steckdose auf den Code vom Handsender 
und speichert ihn (im EEPROM des µC).

Autor: Leo B. (luigi)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Vielen Dank für die Tips. Die gängigen Chips (PT2262/HX2262) habe ich 
allerdings schon verglichen. Die scheinen schon vom Layout nicht zu 
passen, da VCC und GND an sehr anderen Positionen sitzen.

Ich habe jetzt auch den Empfänger zerlegt um evtl einen Hinweis zu 
bekommen, doch leider ist dem nicht so. Die haben die interessanten 
chips anonymisiert...
Kein Aufdruck auf den chips, wie auf den Bilder (nicht) zu erkennen :(

Wolfgang schrieb:
> Das wäre eine schlechte Verschlüsselung, bei der es zu 5 Steuerkommandos
> nur 20 verschiedene Übertragungscodes gibt.

Vermutlich hast du recht und ich habe mich falsch ausgedrückt. Eine 
wirklich gute Verschlüsselung kann es nicht wirklich sein. Aber ein 
irgendwie gearteter Kopierschutz ist es wohl. Wie das kind heißt ist 
auch nahezu egal, die Bits sind schwer zu interpretieren.

Autor: Leo B. (luigi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Keine weiteren Vorschläge, Ideen oder Tips, wie ich es entschlüsseln 
könnte?

So ein "How to decode" oder so fände ich gut ;)

Nein ich stehe irgendwie in einer Sackgasse und könnte jede Hilfe 
brauchen.

Autor: Karl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Reinhard R. (reirawb)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leo,
ich hatte mich vor fast 6 Jahren mal mit den Funkstechdosen beschäftigt,
allerdings auf der Empfängerseite. Ich habe damals einen 
4-Kanalempfänger gebaut, siehe 
Beitrag "Re: Zeigt her eure Kunstwerke (2)"

Informationen lieferte u.a. dieser Link: 
http://avr.börke.de/Funksteckdosen.htm
ich habe noch 3 andere Links in meinen Lesezeichen, die sind aber leider
alle tot :-(
In µC.net wirst du ja sicher schon gesucht haben, hier findet man z.B. 
eine Variante der Schaltung von den Steckdosen: 
Beitrag "Re: [AVR][GCC]: Ansteuerung für Funkschalterset"

Viel Erfolg noch.

Gruß Reinhard

Autor: MiMa (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Leo B. schrieb:
> Drückt man eine Taste mehrmals oder bleibt darauf, dann wiederholen sich
> die Pakete mit zyklisch 4 verschiedenen Inhalten. Innerhalb eines Pakets
> bleibt der Inhalt jedoch konstant.

Wenn der Inhalt immer konstant ist, dann kannst du doch einfach die paar 
Steckdosen einzeln anlernen und jeweils den übertragenen Code mitloggen?

Autor: Reinhard R. (reirawb)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So habe ich das sinngemäß in meinem Empfänger umgesetzt. Der wird in den 
Programmiermodus versetzt, der zu programmierende Kanal wird vorgewählt 
und der Modus* wird festgelegt. Dann wird ein Fernbedienungssender 
aktiviert und der betreffende Kanal ist auf diese gedrückte Taste 
programmiert. Das Ganze für jeden der 4 Kanäle völlig unabhängig.

*) Jeder Kanal kann auf folgende 3 Modi eingestellt werden:
1. Tastfunktion - Ausgang ist solange Ein, wie die Taste gedrückt ist. 1 
Taste je Kanal.
2. Stromstossschalter - Beim ersten Tastendruck Ein, beim nächsten 
Tastendruck Aus u.s.w. 1 Taste je Kanal.
3. Ein - Aus - Funktion - Das ist die normale Steckdosenfunktion, eine 
Taste für Ein und 1 Taste für Aus . 2 Tasten je Kanal.

Wie ich Leo aber verstanden habe, will er an der Senderseite basteln, 
weil ihm die 4 Kanäle der Originalteile nicht reichen.

Reinhard

Autor: Joachim S. (oyo)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
In diesem Thread hier:
https://electronics.stackexchange.com/questions/385919/a-curious-433-mhz-signal-to-decode

...wird ein Protokoll beschrieben, das auf den ersten Blick identisch zu 
sein scheint.
Das dort beschriebene Protokoll wird ebenfalls von einem 
433MHz-Funksteckdosen-Set verwendet, was ja ebenfalls dafür spricht, 
dass es sich um das gleiche Protokoll handeln könnte.

Das Funksteckdosen-Set dort ist offenbar von der Marke "Voltomat" und 
wurde im "Bauhaus"-Baumarkt gekauft:
https://www.bauhaus.info/funkschalter-funkstecker/voltomat-funksteckdosen-set-31/p/22541673
Da "SilverCrest" ja glaube ich sowas wie eine Eigenmarke von LIDL(?) 
ist, gehe ich mal davon aus, dass das die gleichen Steckdosen unter 
anderem Label sind.

Der Fragesteller aus dem ersten Link hat damals allerdings auch keine 
Antwort erhalten, um welches Protokoll es sich dabei handelt, aber 
vielleicht hilft Dir der Name "Voltomat" bei der Suche nach dem 
verwendeten Protokoll ja weiter.

Ich selbst habe vor einiger Zeit mal ein ähnliches (aber nicht 
identisches) Protokoll bei anlernbaren 433MHz-Funksteckdosen der Marke 
"HomeEasy" gesehen, bei deren Produkten aus der HE-8xx-Reihe.
Dort wurden bei jeder Taste auch immer 4 völlig verschiedene Codes 
gesendet, bevor es nach dem vierten Code wieder von vorne los ging.

Hat mich damals halb wahnsinnig gemacht, irgendeine Logik hinter den 
vier unterschiedlichen Codes pro Taste zu erkennen.
Habe es dann irgendwann aufgegeben - aber eines Tages habe ich dann 
irgendwann doch eine Software-Implementierung zur En- und Dekodierung 
dieses Protokolls gefunden, das dort "AnBan" genannt wird.
Als ich mir die besagte Software-Implementierung angeschaut habe, war 
mir schnell klar, wieso ich ursprünglich auf Anhieb keine Logik dahinter 
erkennen konnte:
Der Algorithmus erinnert tatsächlich stark an einen Ver- bzw. 
Entschlüsselungs-Algorithmus, bei dem die Daten über mehrere Runden 
hinweg anhand irgendeiner Tabelle substituiert wurden.

Wie gesagt, das war letztlich ein anderes Protokoll, schon deshalb weil 
es 28 Bit verwendet. Aber falls der Algorithmus dennoch irgendwie 
ähnlich ist, dann wirst Du es vermutlich eher vergessen können, anhand 
so weniger Werte da selbst irgendeine Logik erkennen zu können.

In diesem Fall würde auch ich empfehlen, einfach die Codes der 
Fernbedienung mitzuschneiden und diese 1:1 zu wiederholen. Da es ja kein 
echter Rolling-Code ist, funktioniert das ja.
Dass Du mehr als 4 Kanäle brauchst, sollte ja eigentlich kein Problem 
sein, wenn ich Dich richtig verstehe:
SilverCrest verkauft die Steckdosen ja garantiert nicht einzeln ohne 
Fernbedienung, sondern immer als Set bestehend aus einer Fernbedienung 
und mehreren Steckdosen. Egal wie viele Funksteckdosen Du hast, Du 
müsstest ja also auch ausreichend viele Fernbedienungen haben, um für 
jede Steckdose unterschiedliche Codes zu loggen. Es wäre dann nur nicht 
möglich, alle Steckdosen über ein einziges "Gruppen-Signal" zu schalten.

Autor: Leo B. (luigi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich möchte mich noch einmal bei euch allen bedanken. Ich kann leider 
nichts weiter über die "Verschlüsselung" herausfinden. Ich werde wie 
scheinbar so viele andere vor mich schon aufgeben müssen.
Dafür habe ich wieder einiges gelernt und werde mich dann wohl jetzt an 
ein neues Projekt machen: Funkmodul entfernen und durch eigenes ersetzen 
;)

Besten Dank für all eure Unterstützung und Hilfe.
Ihr habt viel geholfen auch wenn ich es am ende dennoch nicht gelöst 
habe.

Vielen Herzlichen Dank!
Grüße,
Leo

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.