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

Цей модуль надає невеликий клієнт для протоколу мережевого часу (NTP), корисний для отримання поточного UTC-часу з інтернет-сервера часу та необов’язкового встановлення вбудованого годинника реального часу. Він виконує один UDP-запит до NTP-сервера та декодує повернуту 64-бітну мітку часу.

Цей модуль потребує активного мережевого з’єднання. Його 32-бітна мітка часу автоматично коригується для переповнення NTP 2036 року, що дозволяє реалізації залишатися дійсною до лютого 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

Таймаут сокета в секундах, що застосовується до NTP UDP-запиту. За замовчуванням 1. Збільшіть для повільних мереж або мереж з великою затримкою.