NTP-Synchronisation Nano ESP32

Für ein Uhrenprojekt möchte ich die ESP32-interne RTC und eine DS3231 RTC ein paar Mal pro Tag via NTP synchronisieren.

Es gibt die configTime()-Funktion, die bei aktiven WLAN über den Parameter sntp_set_sync_interval() regelmäßig die Zeit synchronisiert. Nachteil ist, dass der ESP dafür immer mit dem WLAN verbunden ist.

Da mir 1-2 mal reicht, die Zeit zu synchronisieren, würde ich WLAN nach der Aktualisierung deaktivieren und vor der nächsten Synchronisierung wieder Einschalten.

Macht man das so, oder lasst ihr den ESP32 ständig mit dem WLAN verbunden?

wenn der ESP am Stromnetz hängt, lass ich ihn auch im WLAN.

Hallo
ich sehe keine Grund das Wlan abzuschalten. Könnte man aber sicher machen.
Z.B Stromverbrauch :thinking:

Wozu die externe Rtc

Der ESP hängt am Netz.

Die externe RTC deshalb, weil das WLAN offline sein kann oder der Empfang gestört ist.

Die Idee ist: beim Einschalten wird die interne ESP32-Uhr über die RTC oder wenn verfügbar über NTP aktualisiert. Im lfd. Betrieb wird die ESP32-Uhr alle paar Minuten über die RTC DS3231 upgedated. Beide RTC-Uhren werden 1 - 2 Mal am Tag über NTP gestellt.

Damit reduziere ich den Internet-Traffic und habe trotzdem eine hochgenaue Uhr.

1 Like

Ich glaube ja das der ESp 32 auch ohne externe Rtc und WLAN genau genug läuft für einige Stunden hast du das schon mal getestet

Wenn Du ohne die Backup-Sicherheit der RTC (DS3231/3232) leben kannst und halt mal keine aktuelle Uhrzeit (auf dieser einen Uhr) hast, wenn das Netz weg ist, dann kannst Du auf die RTC verzichten.
Alle 6-12 Stunden per NTP synchronisieren genügt (je nach Anforderung an die Genauigkeit) völlig.

Gruß Tommy

Verstehe nicht warum interne RTC nutzen wen schon DS dran hängt :thinking:

Hmm - ich würde die Frage vielleicht anders herum stellen:
Warum eine externe RTC dranhängen, wenn es eine interne gibt und NTP verfügbar ist?

Ich lasse ihn verbunden. Wenn er eh' durchlaufen soll, um die Uhrzeit anzuzeigen und alle Viertelstunde die Spritpreise abzufragen, kann der Funkteil auch anbleiben.

Habe genau ein Mini-Projekt auf dem Schreibtisch, das mit einem Akku und einem ePaper-Display (Update bestenfalls alle 30min) betrieben werden soll, da will ich den ESP jeweils schlafen legen.

Ja.

Gegenargumente:

  • weniger Stromverbrauch
  • weniger Elektrosmok

In vielen Beispielen wird die Verbindung zum Router nur in setup gemacht, das genügt nicht. Besser

  1. Verbindung zum Router überprüfen, bei Bedarf wiederherstellen.
  2. Zeit aktualisieren. Dazu nutze ich meine Fritz!Box als NTP-Server, also kein Internet-Traffic.

Finde ich richtig, da die interne RTC keine Zeitpufferung hat und im Vergleich mit DS3231 ungenau ist.

Bin aktuell am Testen der Ganggenauigkeit der internen ESP-Uhr und der DS3231-RTC.

Momentan schneidet die ESP-Uhr gar nicht so schlecht ab. In 7 Stunden ging sie 1 s vor. Die DS3231 konnte die Zeit sauber halten.

Werde das mal über Nacht laufen lassen.

Ich habe eine DS3231 seit über einem Jahr nicht neu gestellt läuft jetzt 1,5min vor. Habe gerade geschaut genau sind es 1Jahr 8 Mon. und die ist im Gartenschuppen wo die Temperatur ist und war -12°C und jetzt +38° :wink:
Die Dinger sind schon sehr genau für den Preis

Die DS3231 habe ich schon mehrfach verbaut, sie ist schon recht akkurat.
Darum hänge ich so an ihr :innocent:

Von der DS3231 scheint es mindestens 2 Versionen zu geben, die sich in der Genauigkeit unterscheiden. Die genauere DS3231SN und die etwas ungenauere DS3231M.
Diskussion dazu hier.

Gruß Tommy

1 Like

Danke für die Recherche wusste gar nicht :wink:
Habe zu hause noch zwei Module muss mal schauen was da verbaut ist, nach dem was ich festgestellt habe muss im Garten eine SN verbaut sein, genaueres weis ich im Herbst wen das ganze umgebaut wird.

yep, das ist Glückssache, was einem der Händler schickt.

Bei mir werkelt die SN-Variante, zumindest lt. Aufdruck; das Umlabeln scheint jedoch für findige Anbieter kein Problem zu sein ...

Die machen es sich einfacher, die schleifen den Aufdruck ganz ab.

Gruß Tommy

Manchmal kommen die findige Chinesen an B Ware dran was irgend wie funktioniert leider nicht wie sol,l habe gerade vor ein parr Tage das erlebt mit SI4703 Modulen von 3 funktioniert nur einer wie es soll, die zwei andere gingen zurück, heißt durfte die endsorgen, Geld zurück erhalten.

Die NTP-Zeit ist ja „nur“ sekundengenau. Kann aber um etliche hundert ms von der tatsächlichen Zeit abweichen, je nachdem wann die NTP-Zeit abgegriffen wurde.

12:10:04:001 und 12:10:04.999 ergeben beides 12 Uhr, 10 Minuten und 4 Sekunden.

Das war bei DCF77 einfacher, da man dort lfd. in der loop() die DCF-Zeit im ms-Intervall abfragen konnte. Bei NTP eher schwierig.

Wie bekommt man es hin, die interne RTC bzw. eine DS3231 ms-genau zu synchronisieren?

Wenn du so genaue angaben bis in Millisekunden brauchst dann hole dir ein GPS Empfänger.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.