ntptime — einfacher NTP-Client#

Dieses Modul stellt einen kleinen Client für das Network Time Protocol (NTP) bereit, der nützlich ist, um die aktuelle UTC-Zeit von einem Internet-Zeitserver abzurufen und optional die integrierte Echtzeituhr zu stellen. Es führt eine einzelne UDP-Anfrage an einen NTP-Server durch und dekodiert den zurückgegebenen 64-Bit-Zeitstempel.

Dieses Modul ist auf eine funktionierende Netzwerkverbindung angewiesen. Sein 32-Bit-Zeitstempel auf der Leitung wird automatisch für den NTP-Überlauf von 2036 korrigiert, sodass die Implementierung bis Februar 2160 gültig bleibt.

Funktionen#

ntptime.time() int#

Fragt den konfigurierten NTP-Server (host) ab und gibt die aktuelle UTC-Zeit als ganzzahlige Anzahl von Sekunden seit der MicroPython-Epoche zurück.

Die MicroPython-Epoche wird zur Laufzeit mit time.gmtime() ermittelt. Sowohl die 1970er-Epoche (Unix) als auch die 2000er-Epoche werden unterstützt; jede andere Epoche löst eine Exception aus.

Netzwerkfehler werden an den Aufrufer weitergereicht; der zugrunde liegende Socket wird vor der Rückkehr stets geschlossen.

ntptime.settime() None#

Ruft die aktuelle Zeit mit time() ab und stellt die integrierte RTC entsprechend über machine.RTC.

Beachten Sie, dass MicroPython keine Zeitzonenunterstützung bietet: Die RTC wird immer in UTC gestellt.

Konstanten#

ntptime.host: str#

Der Hostname des abzufragenden NTP-Servers. Standardwert ist "pool.ntp.org". Zur Laufzeit neu zuweisen, um ihn zu überschreiben, z. B. ntptime.host = "time.google.com".

ntptime.timeout: int#

Socket-Timeout in Sekunden, das auf die NTP-UDP-Anfrage angewendet wird. Standardwert ist 1. In langsamen Netzwerken oder Netzwerken mit hoher Latenz erhöhen.