Ich habe ein billiges kabelloses Poolthermometer (AcuRite 617 1 ) und möchte die Temperaturdaten am Empfänger abfangen und mit einem computergestützten Datenerfassungssystem verwenden.
Praktischerweise befindet sich im Empfänger eine kleine Breakout-Platine, die an die Antenne angeschlossen ist und über digitale "V" -, "G" -, "D" - und "SH" -Pins verfügt:
Hier ist ein Segment von erfassten Daten vom "D" -Pin während einer Übertragung (diese treten einmal pro Minute auf). Vor diesem Segment scheint es Daten mit einer viel höheren Rate zu geben, aber ich glaube, das könnte Rauschen sein - dies ist der Beginn der 1,36-kHz- / 680-Hz-Daten.
Ich habe ein bisschen gegoogelt und kann keine Codierung finden, die so aussieht, aber wenn ich raten würde, was los ist, denke ich Folgendes:
- Die ersten 4 Zyklen mit 680 Hz dienen zum Synchronisieren der Uhren, enthalten jedoch keine Daten
- Die folgenden 13 Zyklen mit 1,36 kHz (2x die Anfangsrate) scheinen eine von zwei Formen zu haben: Sie fallen entweder vor dem Mittelpunkt des Zyklus oder danach auf ein niedriges Niveau - ich würde annehmen, dass eine Form eine logische und die andere ist ist eine Null.
- danach scheint es eine merkwürdige Lücke zu geben, aber wenn Sie den Teil des Tiefs, der Teil der vorhergehenden "1" ist, abrechnen, dann beträgt die verbleibende Lücke 735 µs, was eine (phasenkorrekte!) Fortsetzung der ist 680 Hz Präambel.
Schaue ich das richtig an? Gibt es einen Namen für diese Kodierung?
Einige weitere Hinweise zum Breakout Board:
- Die Platine ist mit "RF211" gekennzeichnet und sieht bemerkenswert konsistent mit dem MICRF211 "Allzweck-3V-QwikRadio-Empfänger, der mit 433,92 MHz betrieben wird" 3 aus
- Das MICRF211-Datenblatt enthält die folgende Abbildung (mit sehr wenigen Erläuterungen), die mit Ausnahme der Rechteckwelle mit doppelter Datenrate im Vergleich zu meiner Erfassung verblüffend aussieht:
14.02.2016 Update: Ich habe dieses Projekt überarbeitet und sehe so aus, als würde ein sauberer 64-Bit-Stream zwischen einer 4-Takt-Präambel und einer 1-Takt- "Postambel" erzeugt, wonach die Anzeigetafel das HF-Modul durch herunterfährt ^ SH low ziehen (oberste Zeile):
Laut dem "33/66% PWM" -Schema von Micrel (das bei Google nirgendwo sonst zu finden ist) ist das so
-_-_-_-_0000011110011000110000000000000000000000100011101000010010101010-_
Also muss ich jetzt anfangen, die Temperatur zu manipulieren, um die Bits zu dekodieren. Hier ("x") sind die Bits, die sich ohne erkennbare Änderung der Anzeige zu ändern scheinen:
0000011110011000110000000000000000000000100011101000010010101010
------------------------------------------------x----xxxx----xxx
Ich gehe davon aus, dass es sich entweder um niedrigstwertige Bits oder um den Batteriestand handelt (der nur dann als "Niedrig" angezeigt wird, wenn er erheblich abfällt).
15.02.2016 Update: Ich mache mich auf den Weg, um der neuen Stapelbörse "Reverse Engineering" einen Sprung in die richtige Richtung zu geben: /reverseengineering/12048/what-is-contained -in-diesem-Getriebe-RF-Pool-Temperatursensor-Basiseinheit-re