ntptime — cliente NTP simples

Este módulo fornece um pequeno cliente para o Protocolo de Tempo de Rede (NTP), útil para obter a hora UTC atual a partir de um servidor de tempo na internet e, opcionalmente, definir o relógio de tempo real integrado. Efetua um único pedido UDP a um servidor NTP e descodifica o timestamp de 64 bits devolvido.

Este módulo requer uma ligação de rede funcional. O timestamp de 32 bits transmitido na rede é corrigido automaticamente para o rollover NTP de 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 devolve a hora UTC atual como um número inteiro de segundos desde a época do MicroPython.

A época do MicroPython é detetada em tempo de execução usando time.gmtime(). As épocas de 1970 (Unix) e de 2000 são suportadas; qualquer outra época gera Exception.

Os erros de rede são propagados para o chamador; o socket subjacente é sempre fechado antes de retornar.

ntptime.settime() None

Obtém a hora atual usando time() e define o RTC integrado via machine.RTC.

Note que o MicroPython não tem suporte para fusos horários: o RTC é sempre definido em UTC.

Constantes

ntptime.host: str

O nome do servidor NTP a consultar. Por omissão é "pool.ntp.org". Pode ser reatribuído em tempo de execução para substituir, por exemplo, ntptime.host = "time.google.com".

ntptime.timeout: int

Tempo limite do socket em segundos aplicado ao pedido UDP NTP. Por omissão é 1. Aumente em redes lentas ou com alta latência.