Uhrzeit und Datum ermitteln

Gast #4877898
Lesenswert?

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?
Gast #4877927
Lesenswert?

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.
#4877934
Lesenswert?

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"
Gast #4878584
Lesenswert?

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
(Firma: Q3) #4878603
Lesenswert?

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 ...
#4878853
Lesenswert?

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.
Gast #4879804
Lesenswert?

#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?
Gast #4879812
Lesenswert?

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.
Gast #7165954
Lesenswert?

> 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.
Gast #7166034
Lesenswert?

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")
Gast #7166089
Lesenswert?

> 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!
Gast #7166097
Lesenswert?

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.
Gast #7166382
Lesenswert?

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.
Gast #7166444
Lesenswert?

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
Gast #7166479
Lesenswert?

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.
#7166962
Lesenswert?

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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren