ntptime — простой NTP-клиент

Этот модуль предоставляет небольшой клиент для протокола сетевого времени (NTP), полезный для получения текущего времени UTC с интернет-сервера времени и, при необходимости, для установки встроенных часов реального времени. Он выполняет один UDP-запрос к NTP-серверу и декодирует возвращённую 64-битную временную метку.

Этот модуль требует работающего сетевого соединения. Его 32-битная передаваемая по сети временная метка автоматически корректируется для перехода через 2036 год (NTP rollover), что позволяет реализации оставаться корректной до февраля 2160 года.

Функции

ntptime.time() int

Запрашивает настроенный NTP-сервер (host) и возвращает текущее время UTC в виде целого числа секунд с начала эпохи MicroPython.

Эпоха MicroPython определяется во время выполнения с помощью time.gmtime(). Поддерживаются обе эпохи: 1970 (Unix) и 2000; любая другая эпоха вызывает исключение Exception.

Сетевые ошибки передаются вызывающему коду; используемый сокет всегда закрывается перед возвратом.

ntptime.settime() None

Получает текущее время с помощью time() и устанавливает встроенные RTC соответствующим образом через machine.RTC.

Обратите внимание, что MicroPython не поддерживает часовые пояса: RTC всегда устанавливаются в UTC.

Константы

ntptime.host: str

Имя хоста NTP-сервера для запроса. По умолчанию "pool.ntp.org". Переназначьте во время выполнения для переопределения, например ntptime.host = "time.google.com".

ntptime.timeout: int

Тайм-аут сокета в секундах, применяемый к UDP-запросу NTP. По умолчанию 1. Увеличьте для медленных сетей или сетей с высокой задержкой.