ntptime — cliente NTP simples

Este módulo fornece um pequeno cliente para o Network Time Protocol (NTP), útil para obter a hora UTC atual de um servidor de horário na internet e, opcionalmente, ajustar o relógio de tempo real embarcado. Ele realiza uma única requisição UDP a um servidor NTP e decodifica o carimbo de tempo de 64 bits retornado.

Este módulo depende de uma conexão de rede funcional. Seu carimbo de tempo de 32 bits transmitido na rede é corrigido automaticamente para o rollover do NTP em 2036, permitindo que a implementação permaneça válida até fevereiro de 2160.

Funções

ntptime.time() int

Consulta o servidor NTP configurado (host) e retorna a hora UTC atual como um número inteiro de segundos desde a época (epoch) do MicroPython.

A época (epoch) do MicroPython é detectada em tempo de execução usando time.gmtime(). Tanto a época de 1970 (Unix) quanto a de 2000 são suportadas; qualquer outra época levanta Exception.

Erros de rede se propagam para o chamador; o socket subjacente é sempre fechado antes do retorno.

ntptime.settime() None

Obtém a hora atual usando time() e ajusta o RTC embarcado de acordo, por meio de machine.RTC.

Observe que o MicroPython não tem suporte a fusos horários: o RTC é sempre ajustado em UTC.

Constantes

ntptime.host: str

O nome de host do servidor NTP a ser consultado. O padrão é "pool.ntp.org". Reatribua em tempo de execução para sobrescrever, por exemplo, ntptime.host = "time.google.com".

ntptime.timeout: int

Tempo limite (timeout) do socket em segundos aplicado à requisição UDP do NTP. O padrão é 1. Aumente em redes lentas ou de alta latência.