ntptime — enkel NTP-klient

Den här modulen tillhandahåller en liten klient för Network Time Protocol (NTP), användbar för att hämta aktuell UTC-tid från en tidsserver på internet och valfritt ställa in den inbyggda realtidsklockan. Den utför en enstaka UDP-förfrågan till en NTP-server och avkodar den returnerade 64-bitars tidsstämpeln.

Den här modulen är beroende av en fungerande nätverksanslutning. Dess 32-bitars tidsstämpel på ledningen korrigeras automatiskt för NTP-överflödet 2036, vilket gör att implementationen förblir giltig fram till februari 2160.

Funktioner

ntptime.time() int

Fråga den konfigurerade NTP-servern (host) och returnera aktuell UTC-tid som ett heltal antal sekunder sedan MicroPython-epoken.

MicroPython-epoken detekteras vid körning med hjälp av time.gmtime(). Både 1970 (Unix) och 2000 stöds som epoker; alla andra epoker ger upphov till Exception.

Nätverksfel propageras till anroparen; det underliggande uttaget stängs alltid innan funktionen returnerar.

ntptime.settime() None

Hämta aktuell tid med time() och ställ in den inbyggda RTC:n därefter via machine.RTC.

Observera att MicroPython inte har stöd för tidszoner: RTC:n ställs alltid in i UTC.

Konstanter

ntptime.host: str

Värdnamnet för den NTP-server som ska frågas. Standardvärdet är "pool.ntp.org". Tilldela om vid körning för att åsidosätta, t.ex. ntptime.host = "time.google.com".

ntptime.timeout: int

Uttagets timeout i sekunder som tillämpas på NTP-UDP-förfrågan. Standardvärdet är 1. Öka det på långsamma nätverk eller nätverk med hög latens.