TrashNotes

2025-04-08 12:44:22
Вот как можно добавить NTP для синхронизации времени:



import rtc
import adafruit_ntp

# Инициализация RTC
rtc_obj = rtc.RTC()

def sync_time_with_ntp():
    global rtc_obj
    try:
        print("Synchronizing time with NTP...")
        ntp = adafruit_ntp.NTP(wifi.radio)
        ntp.set_time(rtc_obj)
        print("Time synchronized with NTP.")
    except Exception as e:
        print(f"Error synchronizing time with NTP: {e}")

# Замените вызов fetch_time на sync_time_with_ntp в synchronize_time
async def synchronize_time():
    """Синхронизирует время с сервером NTP."""
    global sync_timestamp, last_monotonic_time, connected
    while True:
        if connected:
            sync_time_with_ntp()
            # Обновите sync_timestamp и last_monotonic_time после синхронизации
            sync_timestamp = int(time.time())
            last_monotonic_time = time.monotonic()
            print(f"Synchronized time: {format_time(sync_timestamp)}")
        await asyncio.sleep(3600)  # Синхронизируем время каждые 3600 секунд (1 час)
← Previous Next →
Back to list