Hallo Leute,
arbeite gerade bei meinem Nodemcu mit der NTP-Server Bibliothek von German Martin.
Meine Frage an euch:
Wie kontrolliert ihr ob zum einen die NTP Abfrage erfolgreich war und zum anderen die richtige Zeit übermittelt wurde, damit dann die genaue Uhrzeit ausgewertet werden kann?
Vielen Dank und liebe Grüße.
ich habe das für den ESP 8266 vor einiger Zeit hier so gesehen, ist eigentlich seit einiger Zeit alles im System enthalten. Zusätzliche lib lediglich die standard time.h Sommer/Winterzeit geht auch automatisch.
Hab das in eine Function gepackt die ich im Setup aufrufe. Ob das die richtige Zeit ist zweifele ich eigendlich nicht an. Das was angekommen ist ist ja enthalten.
dazu mal googeln
ESP configtime
ESP setenv
//------------------ NTP Server abrufen ----------
void NTPstart() {
configTime(0, 0, "192.168.178.1"); // locale Fritzbox
setenv("TZ", "CET-1CEST,M3.5.0,M10.5.0/3", 1); // locale Zeit einstellen mit Sommerzeit
Serial.println("Waiting for time");
while (!time(nullptr)) {
Serial.print(".");
delay(1000);
}
Hallo Rentner, vielen Dank für deine Antwort.
Ich verwende den Beispielsktech von der obig erwähntnen Bibliothek.
Beim Einschalten zb des Nodemcu braucht es eine gewisse Zeit, bis eine erste Zeitsycronisation stattgefunden hat. Wie kann ich diese erfolgreiche Syncronisation abfragen, sodass ich weiß dass die angezeigte Zeit aus dem Server stammt und nicht eine andere Zeit ist (von 00:00 startend). Damit dann eine Zeitauswertung vorgenommen werden kann.
Die Prüfung erfolgt ja bereits in Deinem Beispiel in processSyncEvent. Evtl. könntest Du eine globale bool Variable in dieser Funktion entsprechend setzen.
Danke für dein Interesse mir zu helfen ;D
Ja das stimpt, aber die Ausgabe der Zeit wird auch trotzdem gemacht, auch wenn er keine Zeitsycronisation gemacht hat. dann fängt er einfach bei "00:00:00 01/01/1970" an... .
ist mir schon klar.
Dann brauch ich also deiner Meinung nach nur den "processSyncEvent" auswerten und ich weiß, dass die Zeit, welche ich auswerte auch der der aktuellen entspricht?