Hallo,
nachdem das DCF77 Signal an meiner Heizung nicht mehr ankommt habe ich nach anderen Möglichkeiten gesucht.
ich bin dabei auf diesen Artikel gestoßen --> DCF77-Emulator mit ESP8266 DCF durch Internet-Zeit ersetzen
https://www.elektormagazine.de/magazine/elektor-201803/41314 (https://www.elektormagazine.de/magazine/elektor-201803/41314)
Meine Frage: hat jemand von Euch dieses Modul am laufen?
leider habe ich das Problem, dass ich beim compilieren der Ino Fehlermeldungen bekomme.
* Immer die richtige Zeit
* verbunden mit dem Internet
* Ersetzt DCF77-Empfangsmodule
* ESP8266-basiert
In Anlage noch ein paar Informationen.
Das unbestückte Board gibt es zu kaufen!
Vielleicht kann mal jemand der mehr versteht wie ich prüfen wie man die Ino zum laufen bekommt.
mit der neuen Ino in Anlage und der passenden Lib --> Time-master in Anlage konnte ich kompilieren.
Jetzt werde ich erstmal testen. ;)
---------------------------------------------
Update 23.01.2020:
Neueste ino angehängt!
Test bestanden, kompilierte Version auf Wemos D1 mini pro geflasht.
An D4 gpio2 kommt das DCF Signal an . Siehe Bild Anlage.
Habe das Signal direkt auf meinen Heizungs DCF Eingang (vermutlich TTL) eingespeist.
Nach ca. 2Min war die Synchronisation erledigt. d.h. volle Funktion bei mir ohne jegliche
weitere Platine
Billy
Hallo Billy,
dann stell die ino doch mal ein.
LG
Papa Romeo
Wenn dein dcf nicht mehr ankommt wird auch der Temperatur Fühler platt sein. Zumindest bei mir war das so
Zitat von: Papa Romeo am 22 Januar 2020, 19:46:59
Hallo Billy,
dann stell die ino doch mal ein.
LG
Papa Romeo
Ist jetzt oben eingestellt, dachte dass die im Link zum download waren.
Link ist jetzt auch eingestellt! :'(
LG Billy
Zitat von: herrmannj am 22 Januar 2020, 20:39:29
Wenn dein dcf nicht mehr ankommt wird auch der Temperatur Fühler platt sein. Zumindest bei mir war das so
Nein, mein Temperaturfühler ist ok!
Deswegen will ich den Außenfühler ja behalten und könnte den DCF77-Emulator mit ESP8266 dann im Heizraum direkt am DCF77 Eingang anklemmen.
Habe den Sketch jetzt am Laufen.
Kleine Änderungen in der ino und richtige Time Lib.
Habe das im ersten Beitrag mal geändert vielleicht ist dieses Projekt ja auch für andere interessant.
Billy
Ich würde aber als Zeitserver nicht einen ntp-pool-Server aus dem Netz nehmen, sondern Deinen Router, sofern er die Zeit bereitstellen kann (Fitte kann es, die meisten alternativen router auch), alternativ jeder andere Unix (Linux) Rechner. Sogar ein Pi kann es "nebenbei".
a) Geht schneller als erst durch Netz und wenn der router "weg" ist, dürfte auch das Netz "weg" sein. Alternativ geht jeder andere Unix-Server.
b) geht wegen a) auch Resourcenschonender bezüglich des ESP
c) wenn Du mehrere Geräte mit der gleichen NTP-Quelle versorgst, sind die Logfiles vergleichbar ...
...
x) Ist einfach Netter gegenüber den Leuten, die die Pool-Server betreiben. Wenn ich z.B. alle Anfragen zuhause gegen die Pool-Server laufen lassen würde, würde ich mindestens das 20fache der jetzigen Last produzieren. So ist der Time-Server mein "Ich mache mehr als FHEM"-Server
Update 23.01.2020: auch im ersten post.
In der ino Änderung eingefügt.
//DayLightSaving bit
if (Dls == 1)
ArrayImpulsi[17+ArrayOffset] = 2;
else
ArrayImpulsi[18+ArrayOffset] = 2;
Test bestanden, kompilierte Version auf Wemos D1 mini pro geflasht.
Vorschlag von Wernieman Fritzbox als Zeitserver natürlich umgesetzt. ;)
An D4 gpio2 kommt das DCF Signal an . Siehe Bild Anlage.
Habe das Signal direkt auf meinen Heizungs DCF Eingang (vermutlich TTL) eingespeist.
Die Pulse mit 3,2 V reichen bei meiner Heizung aus.
Nach ca. 2Min war die Synchronisation erledigt. d.h. volle Funktion bei mir ohne jegliche
weitere Platine.
Die blaue LED blinkt am Wemos immer dann im Sekundentakt wenn ein Datenpacket gesendet wird.
Leider hatte ich schon von ELV das DCF-Empfangsmodul und den Bausatz DCF-ET1 eingesetzt. :'(
Den werde ich dann wohl zum halben Preis zeitnah anbieten.
Billy
Hi Leute!
Aufgrund ungünstiger räumlicher Gegebenheiten und entsprechender Empfangsprobleme an einer LCD-Funkuhr und einem LCD-Radiowecker, interessiere ich mich auch für so ein Modul.
Verstehe ich das richtig?
Wenn ich eine DCF77-Uhr habe, kann ich die Spule bzw. den Ferritkern mit der Spule auslöten und stattdessen dieses Modul einlöten und dann bekomme ich die Zeit per WLAN aus der Fritzbox oder aus dem Netz, je nachdem, welchen Zeitserver ich einstelle?
Falls ja, gibt es das Modul auch fix und fertig zu kaufen, sodass man es nur noch einlöten muss?
Und wie bindet man es im einem WLAN ein?
Oder stellt dieses Modul einen eigenen DCF77-Sender dar (z.B. mit ein paar Metern Reichweite), den ich quasi näher an die fraglichen Geräte stellen kann, um somit den Empfang zu verbessern?
Zitat von: madmax25 am 30 März 2020, 03:04:58
Verstehe ich das richtig?
Wenn ich eine DCF77-Uhr habe, kann ich die Spule bzw. den Ferritkern mit der Spule auslöten und stattdessen dieses Modul einlöten und dann bekomme ich die Zeit per WLAN aus der Fritzbox oder aus dem Netz, je nachdem, welchen Zeitserver ich einstelle?
Nein, Du musst das DCF-Modul in der Uhr suchen und auslöten. Das was Du beschreibst ist nur die Antenne. Also, nachsehen wo die Drähte der Antenne angelötet sind und ob sich das DCF Modul separieren lässt.
Zitat von: madmax25 am 30 März 2020, 03:04:58
Falls ja, gibt es das Modul auch fix und fertig zu kaufen, sodass man es nur noch einlöten muss?
Und wie bindet man es im einem WLAN ein?
Es gibt eine fertige Platine von elektor, die aber selber bestückt werden muss. Ich habe jetzt nicht in den Code geschaut, aber entweder musst Du die Anmeldedaten im Code hinterlegen, oder es wird ein eigener Hotspot aufgebaut, an den Du Dich dann mit dem SmartPhone anmelden musst. Dort kannst Du dann die Anmeldedaten Deines WLAN hinterlegen.
Zitat von: madmax25 am 30 März 2020, 03:04:58
Oder stellt dieses Modul einen eigenen DCF77-Sender dar (z.B. mit ein paar Metern Reichweite), den ich quasi näher an die fraglichen Geräte stellen kann, um somit den Empfang zu verbessern?
Siehe oben, Ist kein eigener Sender, sondern ein WLAN-Ersatz für das DCF Modul in der Uhr.
Grüße Jörg
Zitat von: JoWiemann am 30 März 2020, 08:34:43
Ist kein eigener Sender
OT on :
Das wäre doch auch mal was für die Bastelecke : Eigener DCF Langwellensender auf ESP Basis , dann ginge mehr als 1000km von Frankfurt entfernt im Urlaub auch der blöde Wecker meiner Frau den man leider nicht manuell stellen kann :)
OT off
OT on:
Du willst doch nur bestimmen, wann ihr aufstehen wollt ;)
OT off:
Trotz zweimaligem Durchlesen habe ich es noch nicht kapiert: was brauche ich denn nun an Hardware für den hier vorgeschlagenen DCF77-Emulator?
a. Elektorplatine mit ESP01?
oder
b. Elektorplatine mit ESP01 und Wemos D1?
oder
c. nur den Wemos D1?
Variante "c" wäre natürlich am besten.
Zitat von: rih am 30 März 2020, 10:33:53
Trotz zweimaligem Durchlesen habe ich es noch nicht kapiert: was brauche ich denn nun an Hardware für den hier vorgeschlagenen DCF77-Emulator?
a. Elektorplatine mit ESP01?
oder
b. Elektorplatine mit ESP01 und Wemos D1?
oder
c. nur den Wemos D1?
Variante "c" wäre natürlich am besten.
Entweder Elektorplatine mit ESP01
oder nur den Wemos D1.
Zu beachten ist: (Auszug aus der Original Beschreibung)
Before the sketch will work for your DCF clock, there are
three things that (may) need modification:
1. The credentials of your WiFi network
2. The URL of the time server used for
synchronization
3. The polarity of the DCF output
The ESP8266 Will login on your local WiFi network and
collect correct time information from an NTP server. The
credentials for the WiFi connection must be entered!
@Wzut
ZitatDas wäre doch auch mal was für die Bastelecke : Eigener DCF Langwellensender auf ESP Basis , dann ginge mehr als 1000km von Frankfurt entfernt im Urlaub auch der blöde Wecker meiner Frau den man leider nicht manuell stellen kann
Da gibt es schon Lösungen:
https://hackaday.com/2018/09/10/no-signal-for-your-radio-controlled-watch-just-make-your-own-transmitter/
https://www.youtube.com/watch?v=6SHGAEhnsYk
Billy
Nach meinem Beitrag habe ich ein Angebot für so DCF77-Modul gesehen. Da war auch noch eine Platine mit dran.
Das heißt, wenn der Umbau gelingen soll, muss diese ganze Einheit raus, was aber nur geht, wenn die auf einer eigenen Platine sitzt.
Andernfalls kann man ein solches Projekt vergessen.
Ein DCF77-Sender müsste, sofern machbar, ja nur eine Reichweite von höchstens ein paar Metern haben,
um das an der ungeeigneten Position der Uhr bzw. des Weckers herrschende "Empfangsloch" zu überwinden.
Ich weiß nur nicht, ob solche Sender "legal" währen .....
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
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
@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!
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