ntptime — semplice client NTP

Questo modulo fornisce un piccolo client per il Network Time Protocol (NTP), utile per recuperare l’ora UTC corrente da un server orario su internet e, facoltativamente, impostare l’orologio in tempo reale integrato. Esegue una singola richiesta UDP a un server NTP e decodifica il timestamp a 64 bit restituito.

Questo modulo richiede una connessione di rete funzionante. Il suo timestamp a 32 bit trasmesso sulla rete viene corretto automaticamente per il rollover NTP del 2036, consentendo all’implementazione di rimanere valida fino a febbraio 2160.

Funzioni

ntptime.time() int

Interroga il server NTP configurato (host) e restituisce l’ora UTC corrente come numero intero di secondi a partire dall’epoch di MicroPython.

L’epoch di MicroPython viene rilevato a runtime usando time.gmtime(). Sono supportati sia l’epoch 1970 (Unix) sia quello 2000; qualsiasi altro epoch solleva Exception.

Gli errori di rete vengono propagati al chiamante; il socket sottostante viene sempre chiuso prima del ritorno.

ntptime.settime() None

Recupera l’ora corrente usando time() e imposta di conseguenza l’RTC integrato tramite machine.RTC.

Si noti che MicroPython non supporta i fusi orari: l’RTC viene sempre impostato in UTC.

Costanti

ntptime.host: str

Il nome host del server NTP da interrogare. Il valore predefinito è "pool.ntp.org". Riassegnalo a runtime per sovrascriverlo, ad es. ntptime.host = "time.google.com".

ntptime.timeout: int

Il timeout del socket in secondi applicato alla richiesta UDP NTP. Il valore predefinito è 1. Aumentalo su reti lente o ad alta latenza.