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.