Ich suche ein kompaktes Beispiel das folgendes machen soll:
lokal (in einer Variable/Structur) zur Laufzeit Uhrzeit Datum zur Verfügung stellen
eine periodische NTP Abfrage, z.b. einmal in der Stunde
die NTP Abfrage ohne Delays
DLS / Sommerzeit Erkennung mit Boardmitteln unter Verzicht von weiteren TimeLib's. Ein Beispiel hätte ich gefunden in der Art von jurs #2RTC mit Sommerzeit - #3 by jurs - Deutsch - Arduino Forum, mit der Einschräkung auf EU und 2099 kann ich leben.
Zu vermeiden wären:
keine langen Delays
kein RTC
keine großen Libs
Wozu wirds verwendet:
für einen (menschenlesbaren) Zeitstempel einer Logdatei im SPIFFS.
Target also ein ESP/NodeMCU, aber wenn wer sowas schon mit AVR+Ethernet gemacht hat, nehme ich das auch.
Gegoogelt hab ich auch schon fleißig, aber außer jurs' Beispiel habe ich nich viel gefunden.
Hat vieleicht ein anderer User etwas auf seiner Platte, das er teilen kann?
Warum Du die Sommerzeitumschaltung nochmal selbst erfinden willst und nicht die Lib von Jurs nimmst, erschließt sich mir nicht.
Der Rest ist in meinem Weihnachtsstern enthalten (der braucht ja keine Sommerzeit).
D:\daten\Arduino\downloads\HW_esp\TimeNTP_ESP8266WiFi\TimeNTP_ESP8266WiFi.ino: In function 'time_t getNtpTime()':
TimeNTP_ESP8266WiFi:136: error: no matching function for call to 'ESP8266WiFiClass::hostByName(const char [16], IPAddress&, int)'
WiFi.hostByName(ntpServerName, ntpServerIP, 1000);
^
D:\daten\Arduino\downloads\HW_esp\TimeNTP_ESP8266WiFi\TimeNTP_ESP8266WiFi.ino:136:51: note: candidate is:
In file included from C:\Users\werner\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\libraries\ESP8266WiFi\src/ESP8266WiFiSTA.h:28:0,
from C:\Users\werner\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\libraries\ESP8266WiFi\src/ESP8266WiFi.h:34,
from D:\daten\Arduino\downloads\HW_esp\TimeNTP_ESP8266WiFi\TimeNTP_ESP8266WiFi.ino:18:
C:\Users\werner\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\libraries\ESP8266WiFi\src/ESP8266WiFiGeneric.h:99:13: note: int ESP8266WiFiGenericClass::hostByName(const char*, IPAddress&)
int hostByName(const char* aHostname, IPAddress& aResult);
^
C:\Users\werner\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\libraries\ESP8266WiFi\src/ESP8266WiFiGeneric.h:99:13: note: candidate expects 2 arguments, 3 provided
exit status 1
no matching function for call to 'ESP8266WiFiClass::hostByName(const char [16], IPAddress&, int)'
wird sich die nächsten Tage zeigen, was ich mir damit noch einhandle, aber soweit mal ok bis auf:
Original Beispiel TimeNTP_ESP8266WiFi.ino mit 115200 mit 2.3.0
Der Sketch verwendet 229781 Bytes (21%) des Programmspeicherplatzes. Das Maximum sind 1044464 Bytes.
Globale Variablen verwenden 32260 Bytes (39%) des dynamischen Speichers, 49660 Bytes für lokale Variablen verbleiben. Das Maximum sind 81920 Bytes.
Original Beispiel TimeNTP_ESP8266WiFi.ino mit 115200 mit 2.4.0
Der Sketch verwendet 255579 Bytes (24%) des Programmspeicherplatzes. Das Maximum sind 1044464 Bytes.
Globale Variablen verwenden 33540 Bytes (40%) des dynamischen Speichers, 48380 Bytes für lokale Variablen verbleiben. Das Maximum sind 81920 Bytes.
wenn Listings unbedingt im Forum bleiben sollen, dann sollten die admins endlich mal das Limit der Posts auf mindestens 32k Zeichen raufsetzen. 9k sind wirklich lächerlich.
Anhänge als zip sind viel zu umständlich zum schnell mal reingucken - ich lade die NIE runter und gucke da also auch nie rein.
Falls also kein deutlich höheres Limit, kann man das nur interpretieren als "lange Postings hier im Foum nicht erwünscht, postet sie anderswo"
OT: ich respektiere die Entscheidung eines Limits. Ist halt ein Kompromis zwischen Vollständigkeit und Lesbarkeit. Ähnliches gilt für einen externen Link, man kann ihn folgen - man muss aber nicht. In diesem Sinne - schön' Samstag abend