ntptime — jednoduchý NTP klient

Tento modul poskytuje malého klienta pro Network Time Protocol (NTP), užitečného pro získání aktuálního UTC času z internetového časového serveru a volitelně pro nastavení vestavěných hodin reálného času. Provádí jediný UDP požadavek na NTP server a dekóduje vrácený 64bitový časový údaj.

Tento modul vyžaduje funkční síťové připojení. Jeho 32bitový časový údaj přenášený po síti je automaticky korigován pro přetečení NTP v roce 2036, což umožňuje, aby implementace zůstala platná až do února 2160.

Funkce

ntptime.time() int

Dotáže se nakonfigurovaného NTP serveru (host) a vrátí aktuální UTC čas jako celočíselný počet sekund od epochy MicroPythonu.

Epocha MicroPythonu je detekována za běhu pomocí time.gmtime(). Podporovány jsou jak epocha 1970 (Unix), tak epocha 2000; jakákoli jiná epocha vyvolá Exception.

Síťové chyby se propagují volajícímu; podkladový socket je vždy uzavřen před návratem.

ntptime.settime() None

Získá aktuální čas pomocí time() a podle něj nastaví vestavěné RTC přes machine.RTC.

Pamatujte, že MicroPython nemá podporu časových pásem: RTC se vždy nastavuje v UTC.

Konstanty

ntptime.host: str

Název hostitele NTP serveru, na který se má dotazovat. Výchozí hodnota je "pool.ntp.org". Pro přepsání ji za běhu přepište, např. ntptime.host = "time.google.com".

ntptime.timeout: int

Časový limit socketu v sekundách aplikovaný na NTP UDP požadavek. Výchozí hodnota je 1. Na pomalých sítích nebo sítích s vysokou latencí ji zvyšte.