ESP32 Uhrzeit Frage

Guten morgen,
ich habe gerade eine Uhrzeit in meinen ESP32 einprogrammiert.
Die Uhrzeit wird von der Fritzbox (WLAN) geholt.
Jetzt muss ich alle sec die Uhrzeit abfragen um sie dann auf ein TFT
auszugeben. geht das auch anders ? Einmal abfragen und dann ?

Ich habe mal ein Demo geladen mit einer Clock und im Display war die richtige Uhrzeit drin.
Wie kann das sein ? Woher hat dieses Demo die richtige Uhrzeit her. ?

mfg

also wenn du die Uhrzeit mit dem ESP Core gemacht hast dann läuft die interne RTC weiter und du brauchst nur die interne RTC Zeit abfragen. Der ESP kümmert sich selber um ein periodisches NTP update.

Meine Zusammenfassung für NTP am ESP32:

https://werner.rothschopf.net/microcontroller/202103_arduino_esp32_ntp_en.htm

Das Beispiel von @noiasca kann ich sehr empfehlen.
Wenn du noch mehr mit dem ESP32 machen möchtest, dann schau hier mal rein. und hier weitere Erklärungen.
Link nachgetragen.

Ja ich möchte noch mehr damit machen, aber C/C++ ist eine schwere Sprache die ich
erlernen muss, (Ich komme aus der Pascal ecke)

Danke für die Infos

mfg

Wenn es nicht flackern soll, empfehle ich die Bibliothek TFT_eSPI mit Sprites.

TFT_eSPI
Die habe ich installiert und es schaut gut aus mit der Zeit Anzeige.

mfg

Dann passt es doch.
Und dazu lernen, muss man bei jeder Sprache.

Keine Sprache ist schwer wenn man die Logik dahinter verstanden hat.

Wo blockiert es Dich?

Grüße Uwe

@noiasca
ich habe dein Demo getestet
https://werner.rothschopf.net/microcontroller/202103_arduino_esp32_ntp_en.htm

läuft super. Ist es richtig was ich gerade denke ? Du holst die Zeit einmal unter setup
ab. zb so

void setup() 
{
  configTime(0, 0, MY_NTP_SERVER);  // 0, 0 because we will use TZ in the next line
  setenv("TZ", MY_TZ, 1);            // Set environment variable with your time zone
  tzset();

Und fragst dann dem ESP mit diesen Code jedesmal ab ?

void showTime() {
  time(&now); // read the current time
  localtime_r(&now, &tm); 

mfg

im setup steht nur die Konfiguration drinnen.
die NTP abfragen laufen im Hintergrund. Das siehst du nicht (außer du erweiterst die beschriebenen Callback Funktion dafür).

der RTC im ESP32 läuft im Hintergrund weiter

in showTime wird dann die interne RTC Uhrzeit abgefragt und mit der (im setup) definierten Zeitzone erhältst du die lokale Zeit.

lass es übernacht laufen und du wirst sehen, dass die Uhrzeit morgen in der Früh auch sehr genau sein wird.