Hallo,
Christian J. schrieb:
> Mal einen Blick auf den Umfang geworfen? Ich dachte da so mehr an 20
> Zeilen Code..... läuft ja auf dem ESP 8266....
mit ESP8266 bist Du hier ewas falsch...
Da ist von Hause aus die POSIX time lib dabei.
1 | #include <time.h>
|
2 | ...
|
3 | setup(){
|
4 | // Start Time service.
|
5 | configTime(timezone * 3600, 0, "pool.ntp.org", "time.nist.gov");
|
6 | setenv("TZ", "CET-1CEST,M3.5.0,M10.5.0/3", 0); // Zeitzone MEZ setzen
|
7 |
|
8 | time_t now = time(nullptr);
|
9 | Serial.println(ctime(&now));
|
10 | }
|
11 | // oder eben die timeinfo Struktur füllen:
|
12 | time_t now = time(nullptr);
|
13 | struct tm * timeinfo;
|
14 | timeinfo = localtime(&now);
|
15 | Serial.printf("%02d:%02d:%02d",timeinfo->tm_hour,timeinfo->tm_min,timeinfo->tm_sec);
|
16 | Serial.println();
|
17 | }
|
20 Zeilen für die Geschichte bekomme ich nicht so recht hin, sind nur 8
Zeilen geworden... WiFi habe ich mal weggelassen...
default wird alle Stunde die Zeit vom NTP geholt, sonst läuft die Uhr
eben frei. Die routinen sind intern sehr gut kompensiert was Laufzeiten
anderer Software angeht, sie läuft damit mit der Genauigkeit des
ESP-Systemtaktes vom Quarz.
Gruß aus Berlin
Michael