433Mhz Wassermelder decodieren

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Ich habe vor langer Zeit mal diesen Wassermelder gekauft:

    Wassermelder

    Beim verbinden der beiden Kontakte beim Wassermelder fängt an der Basisstation die entsprechende LED zu blinken an und es ertäunt ein akkustische Signal.

    Nun habe ich versucht das Funksignal zu decodieren. Dazu habe ich meinem 433Mhz Empfänger an die Soundkarte meines PC angeschlossen und mit Audacity das Signal aufgenommen. Dabei stellte ich fest, dass in regelmäßigen Abständen das hier gesendet wird:
    Signal

    Wie kann ich das deuten?
    Ist das 1 00 00 00 0000 00 0 00
    Ich vermute mal eher nicht, oder?


  • Wie kann ich das deuten?


    Ohne zu wissen was da genau für ein Protokoll gesprochen wird, gar nicht.

    Die ersten beiden Zustandswechsel könnten eine Art Startbedingung sein, welche den Empfänger synchronisiert. Der
    Rest sagt mir nichts. Was auffällt ist das die "low" Signale, bis auf den Anfang, immer kurz sind.

    Versuch mal über eine Suche mehr über das Protokoll herauszufinden. Gib bei der Suche auch nicht nur "raspberry pi" als Begriff ein sondern stattdessen "Arduino" oder "mikrocontroller". Mit einer kombination aus "raspberrypi arduino mikrocontroller <produkt bezeichnung> <hersteller> 433mhz protokol" findest du bestimmt einiges Interessantes.


    Was noch interessant wäre ist wie sich das Signal bei geschlossenem Kontakt verändert. Weil wenn sich dieses Signal nicht verändert reicht es ja aus wenn ein Programm auf genau dieses Muster wartet und daraufhin etwas ausführt. Das Protokoll könnte dir in diesem Fall egal sein.
    Vielleicht werden aber ja neben dem Zustand des Schalters noch Zusatzinformationen wie z.B. Batteriestatus oder ein Zeit abhängiger Code,... mit übertragen. Besser ist es also wenn du dich einfach mal schlau machst.


    Das das "ultimative" Ziel wird ja sein wird das Signal mit dem Raspi auszuwerten. Da dieser aber nicht über einen Soundeingang verfügt und dafür eine Soundkarte nachzurüsten ich für übtrieben halte, würde ich eher dazu tendieren das Signal enweder direkt über einen GPIO auszuwerten. Oder vermutlich noch einfacher hättest du es wenn du die LED oder den Lautsprecher direkt "anzuzapfst".

    Joh

    DON'T PANIC!

    Einmal editiert, zuletzt von joh.raspi (9. November 2014 um 17:14)

  • Zitat

    Was noch interessant wäre ist wie sich das Signal bei geschlossenem Kontakt verändert.


    Das ist das Signal bei geschlossenem Kontakt.
    Bei offenem Kontakt habe ich erhlich gesagt noch nicht probiert ob ein Signal gesendet wird.

    Zitat

    ... würde ich eher dazu tendieren das Signal enweder direkt über einen GPIO auszuwerten.


    Da habe ich bisher überhaupt nichts zu Stande gebracht. Mit welchen Programm könnte das klappen?

    Zitat

    Oder vermutlich noch einfacher hättest du es wenn du die LED oder den Lautsprecher direkt "anzuzapfst".


    Möglicherweise die einfachere Lösung, aber mich interessiert das Ganze einfach.

    Einmal editiert, zuletzt von prinzmi (9. November 2014 um 18:08)


  • Da habe ich bisher überhaupt nichts zu Stande gebracht. Mit welchen Programm könnte das klappen?


    Was hast du denn jetzt genau vor?

    Willst du wirklich wissen was da genau gesendet wird oder reicht es nicht wenn dir einfach nur die Information "Schalter geschlossen" auf dem Raspi zur Verfügung steht?
    Ersteres macht in diesem Fall aber imho keinen Sinn. Es kann auch gut sein dass du keinerlei Informationen zum verwendeten Protokoll bzw. der Codierung findest. Dann müsstest du anfangen das ganze zu "Reverse Engineeren" :)

    Wie hast du eigentlich den Empfänger mit der Soundkarte verbunden und wo hast du das Signal am Empfänger abgegriffen?

    DON'T PANIC!

    Einmal editiert, zuletzt von joh.raspi (9. November 2014 um 19:38)

  • Also mir reicht die Information, dass der Schalter geschlossen ist.

    Ich habe GND mit der Spitze und Data an den linken bzw rechten Kanal am Klinenstecker verbunden. Die Stromversorgung für den Empfänger kam vom Raspi. (VCC und GND)
    Danach mit Audacity über den LineIn meiner externen Soundkarte "aufgenommen".

  • Ich habe nun mit einem kleinen Python Programm versucht den GPIO Port auszulesen:

    Ergebnis: 0 und 1 in einem regelmäßigen Muster. Eigentlich sollten da doch, wenn nichts empfangen wird, lauter 0 stehen, oder??? Wenn ich den Port, an dem ein Taster angeschlossen ist abfrage, dann werden lauter 0 ausgegeben bis ich den Taster drücke - dann lauter 1 - wenn ich ihn los lasse wieder lauter 0.
    :@

  • Könnte mir vielleicht von euch jemand auf die Sprünge helfen, wie ich da jetzt ein Pyhon Script schreibe, dass genau auf dieses Signalmuster reagiert.
    Die Längen der einzelnen HIGH bzw LOW Signals kenne ich nun auch, da ich die Samples in Audacity gezählt habe. (Anzahl der Samples geteilt durch die Samplerate)
    :helpnew:

  • Danke, aber mir ist immer noch nicht klar wie ich GENAU DIESES Signal, welches ja aus einer ganz bestimmten Abfolge aus LOW und HIGH zusammengesetzt ist, erkennen kann. Es sind ja auch nicht alle LOW und HIGH gleich lang.

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!