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:> 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"
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 ...
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.
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.
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
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.
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.