Tchibo Wetterstation 433 MHz - Dekodierung mal ganz einfach

erni-berni:
Hallo jurs,
super ! Musste ich natürlich direkt mit meinem Sensor ausprobieren. Hier die ersten Datensequenzen, wie sie auf dem seriellen Monitor ausgegeben werden. Hat auf Anhieb geklappt.

So dachte ich mir das, dass es eben möglichst universell funktioniert und Daten verschiedener Sensoren zur Anzeige bringt.

Danke für die Rückmeldung!

erni-berni:
Die Daten meiner Fernbedienung für Funksteckdosen werden allerdings nicht dekodiert - die Anzeige bleibt leer.

Hast Du geprüft, ob die Fernbedienung auch auf 433 MHz sendet?

Hm, also bei mir funktioniert es mit einer Fernbedienung für ein "Quigg" Funksteckdosen-Set, und danach habe ich die Variable für die untere Datenbitzahl auf 20 gesetzt. Möglicherweise gibt es Funksteckdosen, die weniger als 20 Bit senden. Vielleicht mal probieren:
#define MINPULSECOUNT 14
oder eine andere Zahl unter 20. Da Funksteckdosen nur ein/aus Befehle erhalten könnte es sein, dass es vielleicht auch bei einem Hersteller weniger als 20 übertragene Datenbits sind.

Wie teuer waren die Funksteckdosen? Wenn sie überdurchschnittlich viel gekostet haben, bestünde auf 433 MHz auch die Möglichkeit, dass sie ihr Signal mit Frequenzmodulation statt mit Amplitudenmodulation modulieren. In dem Fall würde man zum Empfangen andere Empfänger benötigen (FM Receiver). Und auch mit Amplitudenmodulation sind andere Übertragungsverfahren denkbar, die ohne das extralange Startbit im Funkprotokoll auskommen, da müßte mein Sketch dann ebenfalls passen.

Ist vielleicht irgendein Hersteller erkennbar, der Deine Funksteckdosen produziert hat?
(Manchmal kann man Details dann im Internet googeln.)

Shojo:
Um Funksteckdosen auszulesen und anzustreuern nutze ich immer RCSwitch (GitHub - sui77/rc-switch: Arduino lib to operate 433/315Mhz devices like power outlet sockets.)
Da kommt dann sowas raus http://www.the-intruder.net/funksteckdosen-von-rev-uber-arduino-ansteuern/
Klappt bis jetzt immer! :wink:

REV-Funksteckdosen scheinen das Nexa-Protokoll zu verwenden, das hier dargestellt wird:
http://svn.telldus.com/svn/rf_ctrl/nexa_2_6_driver/trunk/NexaProtocol.txt

Dieses Protokoll kann von meinem Sketch gleich aus mehreren Gründen momentan nicht erkannt werden:
a) Das Protokoll startet nicht mit einem besonders langen LOW Impuls als Startbit
b) Die kürzesten LOW-Impulse im Protokoll sind nur 350 us lang, ich gehe standardmäßig von mindestens 450 us Bitdauer aus
#define MINBITPULSE 450

Mit einigen Änderungen müßte es machbar sein, auch die REV-Datenpakete irgendwie einzufangen. Die haben zwar keinen extralangen LOW-Impuls am Anfang, dafür aber einen extralangen LOW-Impuls am Ende des Datenpakets. Da die Datenpakete viermal wiederholt werden, könnte man so den Sync-Impuls am Ende des ersten Pakets als Startbit des zweiten Pakets auffassen. So bekäme man dann zwar nur maximal 3 der 4 gesendeten Pakete eingefangen, aber immerhin sollte es möglich sein.

Leider habe ich keine Möglichkeiten zum Testen, wenn ich die notwendigen Änderungen einbauen würde.

erni-berni, sind Deines vielleicht REV-Funksteckdosen (oder kompatible wie Nexa, Proove oder ARC Technology)?