DCF77-Emulator mit ESP8266

Begonnen von Billy, 22 Januar 2020, 18:34:06

Vorheriges Thema - Nächstes Thema

Wernieman

Ich weiß nur nicht, ob solche Sender "legal" währen .....
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

turo

#16
Das ist ja eine geniale Idee! Ich habe mich schon lange geärgert, dass meine schöne ELV Binäruhr langsam immer einige Sekunden abdriftet, weil sie an ihrer normalen Position kein DCF Signal bekommt. Da sie direkt unter dem Fernsehen steht, fällt die Ungenauigkeit auch wirklich auf. (Jedenfalls mir.)

Ein D1 mini braucht nur einen Widerstand und einen Transistor als externe Beschaltung, um den in der ELV Binäruhr verbauten DCF Empfänger mit Open Collector Ausgang vollständig zu ersetzen (und ist sogar billiger).

Am Wochenende habe ich das gleich erfolgreich realisiert.

An dem Programm hat mir nur nicht gefallen, dass es nicht "genau" ist (steht ja auch im Kommentar). Also habe ich es "ein wenig" umgebaut. Anbei meine Version mit folgenden Änderungen:
- Es verwendet jetzt die ezTime Library: Genaue und fortlaufende Synchronisation
- Das Timing basiert jetzt nicht mehr auf einem 100ms Ticker, sondern auf Events der ezTime Library: Die Pulse kommen jetzt genau zur Sekunde.
- Das Programm sendet jetzt fortlaufend: Immer in der Sekunde 59 wird das Zeittelegramm für die nächste Minute berechnet.
- Die Pulse starten sofort, sobald NTP synchronisiert ist. (Erst mal nur "0" Bits, aber eine angeschlossene Uhr kann damit eventuell etwas schneller synchronisieren.)
- Die Fehlerbehandlung bei WiFi ist auf "ewiges Warten" umgestellt. (Es gibt eh keine andere Wahl, wenn das Teil erst mal eingebaut ist...)
- Die Zeitzone wird jetzt von der ezTime Library berechnet und die Bits für MESZ und MEZ sollten damit immer richtig sein.
- Das Bit für "Zeitumschaltung am Ende der laufenden Stunde" wird jetzt auch entsprechend gesetzt. (Ob es eine DCF-Uhr gibt, die das auswertet?)

Damit keine Missverständnisse aufkommen: Das alte Programm hat natürlich auch einwandfrei funktioniert und eine Heizung profitiert nicht wirklich von genauen Sekundenpulsen. Aber ich war in Bastellaune... Man könnte jetzt noch die Unterstützung für Schaltsekunden einbauen... Oder die ersten 14 Bits noch mit der Meteotime Information, gespeist von einer beliebigen Vorhersage, füllen - dann könnte man vielleicht sogar eine Meteotime Wetterstation betreiben...

Gruss,
Turo
3xRaspberry PI, Homematic, SELVE Rollos, 1-wire, Logitech Harmony, Alexa, Fussbodenheizung (ESP8266), Netatmo

turo

Uh, oh. Peinlich. Auch noch mit Fehler: Die eztime Library liefert das Jahr ab 1970. Da meine Uhr keine Jahreszahlen anzeigt, war mir das beim Testen nicht aufgefallen.

Anbei eine korrigierte Version.

Gruss,
Turo
3xRaspberry PI, Homematic, SELVE Rollos, 1-wire, Logitech Harmony, Alexa, Fussbodenheizung (ESP8266), Netatmo

Billy

@turo
Wollte dich gerade loben für deine neue Version. ;)
Kann es sein dass du deine ino entfernt hast?

Billy

Sorry, da hat sich wohl was überschnitten! Also vielen Dank für deine Version!
FHEM immer akt. auf 3 BeagleBoneBlack: 2xHMLAN 2xJeelink ;10x HM-CC-TC, 13x HM-CC-VD, 1x HM-ES-PMSw1-Pl, 3x HM-LC-SW1-PL2, viele ESP8266, Tasmota Scripting, Mqtt*

turo

Wollt Ihr mehr?

Irgendwie habe ich mich da rein verbissen und den Code im Wesentlichen noch mal neugeschrieben (waren mir zu viele Zeilen...).

Es gibt jetzt noch ein paar Varianten:
- mit WifiManager.h
- mit OTA
- mit IoT Library zum Einstellen der Parameter (Delay, Zeitzone etc.) über Webinterface - diese Version stolpert aber noch bei der Ausgabe und ist daher nicht zu gebrauchen ;-)
- mit Ansteuerung eines Sis5351 zur direkten Generierung des 77.5 kHz Signals (ist noch ungetestet - den SiS5351 habe ich heute bekommen)

In Arbeit ist eine "Low Power Version", da ich einen Einsatz mit Batterien im Auge habe - da sollte der Chip dann nur aufwachen, wenn die Uhr auch synchronisieren will.

Da ich nicht mit allem einfach das Forum vollschreiben will: Meldet Euch, wenn Ihr eine Variante braucht!

Gruss,
Turo
3xRaspberry PI, Homematic, SELVE Rollos, 1-wire, Logitech Harmony, Alexa, Fussbodenheizung (ESP8266), Netatmo