ich habe ein fertiges Projekt mit rtc. Würde aber gerne das Modul weg lassen und NTP Zeit nutzen.
Nun haben ich folgende Zeile im Code, worauf sich das Projekt aufbaut.
DateTime now = RTC.now
weiterer Code wie now.minute ....
Ich möchte ungern den ganzen Code umschreiben, sondern NTP irgendwie in das DateTime now bringen, wenn es ohne riesigen Aufwand möglich ist.
NTP allein habe ich schon am laufen. Aber da ist das struct tm timeinfo
würde mich freuen, wenn es eine einigermaßen einfache Lösung gibt.
ganz ohne Angabe mit welchem Microcontroller / Libraries /Sketch du arbeitest ist das rumgerate.
Was passiert wenn du dein altes
DateTime now;
im Code mit einem
time(&now);
aktualisierst?
Grundsätzlich bin ich aber davon überzeugt, dass man alte Schläuche abschneiden soll, sprich die alte lib restlos entfernt und durch die neue ersetzt, besonders wenn diese vermutlich die Standard time.h ist. Allein schon deswegen, damit die Sommerzeit/Winterzeit Umstellung funktioniert.
Das tm struct ist gar keine Hexerei - und da "Standard" super dokumentiert und das Vorgehen einfach. Erst einer Variable die Lokalzeit übergeben, dann die struktur befüllen
time(&now); // read the current time
localtime_r(&now, &tm); // update the structure tm with the current time
nur eben beim Monat + 1 rechnen. Oder die Ausgabe mit strftime formatieren.