Hallo, ich würde gerne einem Gerät das mit einem ESP Modul ausgestattet ist die Möglichkeit geben, die aktuelle Uhrzeit aus dem Web zu beziehen. Gibt es eine Seite, von der man die Uhrzeit und das Datum garantiert und immer auch in Zukunft in immer exakt der gleichen Codierung auslesen kann und zwar ohne dort Megabyteweise Datentraffic zu generieren und kann man den eigenen Standort dort irgendwie ebenfalls mit verifizieren, damit man "die richtige" Uhrzeit erfährt? Vielleicht gibt es ja ein Projekt, welches sich dieser Aufgabe angenommen hat und eine entsprechende Standardisierung vorgenommen hat?
ESP8266 schrieb: > Vielleicht gibt es ja ein Projekt, welches sich dieser Aufgabe > angenommen hat und eine entsprechende Standardisierung vorgenommen hat? https://de.wikipedia.org/wiki/Network_Time_Protocol http://www.pool.ntp.org/zone/de
Offset zu UTC (GMT+1) und Umschaltung Sommer-/Winterzeit nicht vergessen.
ESP8266 schrieb: > Gibt es eine Seite, von der man die Uhrzeit und das Datum garantiert und > immer auch in Zukunft in immer exakt der gleichen Codierung auslesen > kann in der Absolutheit sicher nicht, früher dachte man auch das es immer Nachtwächter geben wird die die Zeit ansagen.
Je nach Framework das du für deinen ESP verwendest, und deiner Netzwerk-Umgebung reicht ein "sntp.sync()". Falls du statt UDP lieber TCP willst, dir das alles eh zu kompliziert ist, und du sowieso schon mit HTTP rumwerkelst: HEAD www.google.com --> "Date:" Header in der Antwort auswerten. Ist dann aber viel String-geschnippsel, "Date: Wed, 25 Jan 2017 13:49:13 GMT"
Ist nicht die PTB in Deutschland für die amtliche Uhrzeit zu ständig? Ehrlich, die sollten doch auch nen NTP-Server betreiben.
M.N. schrieb: > PTB in Deutschland https://www.ptb.de/cms/ptb/fachabteilungen/abtq/fb-q4/ag-q42/zeitsynchronisation-von-rechnern-mit-hilfe-des-network-time-protocol-ntp.html ptbtime1.ptb.de ptbtime2.ptb.de ptbtime3.ptb.de die sind aber auch in den entsprechenden Pools drinnen.
Falls Du NodeMCU/LUA nutzt ... https://nodemcu.readthedocs.io/en/master/en/modules/sntp/
:
Bearbeitet durch User
Hi Oder, Du richtest Dir einen eigenen Server ein, Der Deinen Steinchen im fernen Ausland die aktuelle Uhrzeit sagt. Netter Nebeneffekt: Du kannst direkt Update anbieten ;) Und wenn Deine Steinchen nicht nach 4 Wochen 'daheim angerufen haben' - werden Sie halt ehlendig langsam. Wer jetzt Parallelen zu einem Betriebssystem aus Redmond sieht - Die könnten zumindest die Haus-eigene-Uhrzeit verteilen. Wie man aber wirklich zukunftssicher immer 'ankommt', ist wohl noch nicht raus. Der Umweg über eine beliebige Suchmaschine nach 'aktuelle Uhrzeit' sollte aber auf Länger funktionieren. Vor Allem, da man ja 'zwischendurch' auch nach Suchmaschinen suchen kann - wenn die 'Voreingestellte' nicht erreichbar ist, hat man zumindest Alternativen zum Suchen der Uhrzeit. MfG
Jeder Webserver liefert beim Abruf einer Webseite im HTTP-Header seine lokale Uhrzeit und Datum mit. Google sollte es z.B. noch ein paar Jahre geben und deren Serverzeit ist sicher ziemlich genau. Mach also einen Request auf google.com und brich die Datenübertragung einfach nach dem Header ab ... dürften so um die 50...100 Bytes pro Request in beiden Richtungen sein. Der Rest ist etwas Parsing und die Korrektur auf Ortszeit ...
:
Bearbeitet durch User
Frank E. schrieb: > Google sollte es z.B. noch ein paar Jahre geben und deren Serverzeit ist > sicher ziemlich genau. Mach also einen Request auf google.com und brich > die Datenübertragung einfach nach dem Header ab ... dürften so um die > 50...100 Bytes pro Request in beiden Richtungen sein. Genau das meinte ich mit: Εrnst B. schrieb: > HEAD www.google.com > --> > "Date:" Header in der Antwort auswerten. Nur dass der HEAD-Request von sich aus den Response-Body unterdrückt, und deshalb kein gewaltsamer Verbindungsabbruch nötig ist.
M.N. schrieb: > Ist nicht die PTB in Deutschland für die amtliche Uhrzeit zu ständig? > Ehrlich, die sollten doch auch nen NTP-Server betreiben. Die betreiben doch einen NTP-Server. Und dort kann man schon seit Jahren die Zeit beziehen.
#include <NTPClient.h> #include <ESP8266WiFi.h> #include <WiFiUdp.h> const char *ssid = "****"; const char *password = "****"; WiFiUDP ntpUDP; NTPClient timeClient(ntpUDP); void setup() { Serial.begin(115200); WiFi.begin(ssid, password); while ( WiFi.status() != WL_CONNECTED ) { delay ( 500 ); Serial.print ( "." ); } Serial.println ( "verbunden" ); timeClient.begin(); } void loop() { timeClient.update(); Serial.println(timeClient.getMinutes()); delay(60000); } Sowas?
ESP8266 schrieb: > Gibt es eine Seite, von der man die Uhrzeit und das Datum garantiert und > immer auch in Zukunft in immer exakt der gleichen Codierung auslesen > kann und zwar ohne dort Megabyteweise Datentraffic zu generieren und > kann man den eigenen Standort dort irgendwie ebenfalls mit verifizieren, > damit man "die richtige" Uhrzeit erfährt? Ja, stellt dir einen eigenen Server hin, der seine Uhr mit einem Zeitserver synchronisiert und sie deinen Clients zur Verfügung stellt. Dann weisst du wenigstens, wen du in den Ar..h treten musst, wenn es nicht klappt. Falls du ganz sicher gehen willst, dass dein Server immer eine halbwegs aktuelle Zeit hat, bietet sich als Fall-Back bei Internetausfall ein Rubidium Frequenznormal (FE-5680A o.ä. für unter 200€) an.
Hallo, Ich weiß, der Artikel ist schon etwas älter. Aber ich stelle gerade von NTP auf http://worldtimeapi.org/api/ip oder https://ip-api.com/ um ... Muss ich erst mal vergleichen, und ein paar andere gibts auch noch. Da habe ich die Systemzeit + Localtime Info + Timezone und mehr. So kann ich meine Locale Zeit anzeigen lassen, aber intern mit der Systemzeit arbeiten.
> bei Internetausfall ein Rubidium Frequenznormal Wenn es wirklich einigermassen genau sein soll, waere ein Wasserstoff-Maser eindeutig die bessere Quelle! Aber natuerlich nicht > für unter 200€ Sparbroetchen nehmen einen gut abgeglichenen OCXO. Aber selbst (Router-)Consumertechnik schafft < 2 sec in 7 Tagen.
Ich nutze inzwischen GPS-Module, gibs für Arduino o.ä. (RS232) ab ca. 8,- Funzt auch ohne Internet und liefert sogar den Ort für die Timezone ...
Frank E. schrieb: > Funzt auch ohne Internet und liefert sogar den Ort für die Timezone ... Die Bestimmung der Zonenzeit ist damit aber nicht gelöst, weil sich sowohl Zeitzone als auch gesetzliche Zeit per Abstimmung in Brüssel oder auf Grund anderer Entwicklungen jederzeit ändern können. (Soviel zum Thema "... garantiert und immer auch in Zukunft")
> für Arduino o.ä. (RS232) ab ca. 8,-
Wenn es nicht fuer "Arduino" sein muss, auch fuer weniger als die
Haelfte.
Das ist wohl wie mit Internetshops, die bei einem detektierten Mac
auf die Preise 100% automatisch aufschlagen.
Further so!
Wolfgang schrieb: > ESP8266 schrieb: > >> Gibt es eine Seite, von der man die Uhrzeit und das Datum garantiert und >> immer auch in Zukunft in immer exakt der gleichen Codierung auslesen >> kann und zwar ohne dort Megabyteweise Datentraffic zu generieren und >> kann man den eigenen Standort dort irgendwie ebenfalls mit verifizieren, >> damit man "die richtige" Uhrzeit erfährt? > > Ja, stellt dir einen eigenen Server hin, der seine Uhr mit einem > Zeitserver synchronisiert und sie deinen Clients zur Verfügung stellt. > Dann weisst du wenigstens, wen du in den Ar..h treten musst, wenn es > nicht klappt. > Falls du ganz sicher gehen willst, dass dein Server immer eine halbwegs > aktuelle Zeit hat, bietet sich als Fall-Back bei Internetausfall ein > Rubidium Frequenznormal (FE-5680A o.ä. für unter 200€) an. Das ist ja so ziemlich der teuerste Ratschlag den man geben kann, du verkaufst wohl Server Hardware und Internetleitungen. Du brauchst für so etwas eine redundante Internetanbindung, ausfallsichere Server mit Notstromversorgung und das für einen popeligen NTP Server wovon es im Internet bereits tausende gibt. Mit Wartung hast du da gerade einen Posten von mehreren Tausend Euro pro Monat erzeugt. Da würde ich einfach ein paar von z.B. Universitäten, dem PTB oder auch großer Linux Distributionen verwenden und fertig. Sogar die Hersteller von GPS Uhren haben teils derartige Server bzw rüsten Universitäten damit aus. Alternativ kann man unter Linux auch einfach GPS Module anbinden, bis zur Sekunde hin ist das mittlerweile geschenkt. DCF77 wäre je nach Markt auch eine Option.
Onkel Ted schrieb: > Alternativ kann man unter Linux auch einfach GPS Module anbinden, bis > zur Sekunde hin ist das mittlerweile geschenkt. DCF77 wäre je nach Markt > auch eine Option. Wer weiss, ob der TO überhaupt ausreichend guten GPS-Empfang in seinem Schaltschrank (oder wo auch immer) hat.
my2ct schrieb: >> Alternativ kann man unter Linux auch einfach GPS Module anbinden, bis >> zur Sekunde hin ist das mittlerweile geschenkt. DCF77 wäre je nach Markt >> auch eine Option. > > Wer weiss, ob der TO überhaupt ausreichend guten GPS-Empfang in seinem > Schaltschrank (oder wo auch immer) hat. So ist das, GPS lehne ich generell ab, weil es eine Außenantenne benötigt. DCF hat auch seine Fallen, aber ist im Haus nur selten problematisch. Es bleibt eine sinnlose Leichnfledderung: ESP8266 schrieb: > 25.01.2017 14:29
NTP liefert UTC. Würde problemlos über jede erdenkliche Software-Lebensdauer als Zeitstempel und Referenz funktionieren, wenn schlechte Programmierung nicht mit Schaltsekunden in üble Konflikte käme. Nur weil Programmierer-Nerds nicht mit real-world-Problemen belästigt werden möchten, (Haben wir fast alle erlebt: Die Zeitrechnung war mit 1999 nicht vorbei...) sollen die Schaltsekunden abgeschafft werden. Selbst Menschen mit etwas weiterem Horizont (war das die heise-Redaktion?) kamen schon mit solchem Unsinn daher. Ein paar international vereinbarte Regeln für's Handling könnten in einer kleinen pseudo-code-bib zusammengefasst werden, die auch an 20 Jahre alter Rechner-Hardware nicht scheitern dürfte. Nur an schlechten kurzsichtigen Programmierern.
Es gibt sogar noch das in Klartext (notfalls per Telnet) abfragbare Daytime-Protocol aus den Anfängen von TCP/IP. Allerdings muss man den Service üblicherweise serverseitig explizit einschalten. Bei Windows steckt das in den optionalen "Simple TCP/IP Services". https://de.wikipedia.org/wiki/Daytime
:
Bearbeitet durch User
Hallo, danke allen für eure Komentare. Mein Ziel war es, die "Systemzeit" und Zeitzone / Lokale Zeit zu erhalten. Meine daten speichere ich mit der Systemzeit + Lokalen offset. Anzeigen tue ich die Lokale Zeit. Bisher hatte ich auf einen Server ein eigenes Programm laufen, das diese Info lieferte. Aber damit kann ich mir das sparen. Synkronisieren der Zeit braucht nicht so genau sein, deshalb reicht mir das. Sonst kann man noch immer auf NTP setzen. Und aus der worldtimeapi hole ich mir gelegtlicht die anderen Info. Das ganze setze ich auf einen ESP32 + Display ein.
UDP client für NTP entwickeln: Z.B. https://lettier.github.io/posts/2016-04-26-lets-make-a-ntp-client-in-c.html
:
Bearbeitet durch User
Schade das NTP keine Zusatzfelder wie Offset zur Systemzeit hat. Weil eine FritzBox kann auch NTP server spielen, und die wüsste auch die Zeitzone + Offset.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.