ntp.py

# Эта работа лицензирована по лицензии MIT.
# Copyright (c) 2013-2023 OpenMV LLC. All rights reserved.
# https://github.com/openmv/openmv/blob/master/LICENSE
#
# Пример NTP
#
# Этот пример показывает, как получить текущее время с помощью NTP.

import network
import socket
import struct
import time

SSID = ""  # SSID сети
KEY = ""  # Ключ сети

TIMESTAMP = 2208988800

if time.gmtime(0)[0] == 2000:
    TIMESTAMP += 946684800

# Инициализировать модуль wlan и подключиться к сети
print("Trying to connect... (This may take a while)...")
wlan = network.WLAN(network.STA_IF)
wlan.active(True)
wlan.connect(SSID, KEY)

while not wlan.isconnected():
    print('Trying to connect to "{:s}"...'.format(SSID))
    time.sleep_ms(1000)

# Теперь у нас должен быть действительный IP-адрес, полученный по DHCP
print("WiFi Connected ", wlan.ifconfig())

# Создать новый сокет
client = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)

# Получить информацию об адресе через DNS
addr = socket.getaddrinfo("pool.ntp.org", 123)[0][4]

# Отправить запрос
client.sendto("\x1b" + 47 * "\0", addr)
data, address = client.recvfrom(1024)

# Вывести время
t = struct.unpack(">IIIIIIIIIIII", data)[10] - TIMESTAMP
print("Year:%d Month:%d Day:%d Time: %d:%d:%d" % (time.localtime(t)[0:6]))

results matching ""

    No results matching ""