ntptime — client NTP simplu

Acest modul oferă un client redus pentru Network Time Protocol (NTP), util pentru obținerea orei UTC curente de la un server de timp de pe internet și, opțional, pentru setarea ceasului în timp real (RTC) integrat. Efectuează o singură cerere UDP către un server NTP și decodează marcajul temporal pe 64 de biți returnat.

Acest modul se bazează pe o conexiune de rețea funcțională. Marcajul său temporal pe 32 de biți transmis pe fir este corectat automat pentru ciclul de resetare NTP din 2036, permițând implementării să rămână validă până în februarie 2160.

Funcții

ntptime.time() int

Interoghează serverul NTP configurat (host) și returnează ora UTC curentă ca număr întreg de secunde de la epoca MicroPython.

Epoca MicroPython este detectată la rulare folosind time.gmtime(). Sunt acceptate atât epoca 1970 (Unix), cât și epoca 2000; orice altă epocă generează Exception.

Erorile de rețea se propagă către apelant; socket-ul subiacent este întotdeauna închis înainte de returnare.

ntptime.settime() None

Obține ora curentă folosind time() și setează corespunzător RTC-ul integrat prin machine.RTC.

Rețineți că MicroPython nu are suport pentru fusuri orare: RTC-ul este setat întotdeauna în UTC.

Constante

ntptime.host: str

Numele de gazdă al serverului NTP care urmează a fi interogat. Implicit este "pool.ntp.org". Reatribuiți-l la rulare pentru a-l suprascrie, de exemplu ntptime.host = "time.google.com".

ntptime.timeout: int

Timeout-ul socket-ului în secunde aplicat cererii UDP NTP. Implicit este 1. Măriți-l pe rețele lente sau cu latență ridicată.