micropython-ntptime时间同步

该代码示例展示了如何在ESP32微控制器上通过ntptime库连接到阿里云NTP服务器,同步时间并调整为UTC+8时区。首先,设备连接到指定的WiFi网络,然后使用ntptime模块获取时间戳,通过添加8小时的偏移量来转换为北京时间,并将时间设置到RTC实时钟中。
摘要由CSDN通过智能技术生成

在ESP32上用ntptime同步时间发现怎么改都是UTC0  暂时利用time进行+8*3600解决问题

def do_connect():
    import network
    print('connecting to network...')
    wlan = network.WLAN(network.STA_IF)
    wlan.active(True)
    if not wlan.isconnected():
        print('connecting to network...')
        wlan.connect('WiFi', '******')
        while not wlan.isconnected():
            pass
    print('network config:', wlan.ifconfig())
def sync_ntp():
    print("开始同步网络时间")
    import ntptime
    import time
    from machine import RTC
    rtc = RTC()
    try:
        ntptime.NTP_DELTA = 3155644800  # 可选 UTC+8偏移时间(秒),不设置就是UTC0
        ntptime.host = 'ntp1.aliyun.com'  # 可选,ntp服务器,默认是"pool.ntp.org" 这里使用阿里服务器
        #npttime.
        ntptime.settime()  # 修改设备时间,到这就已经设置好了
        localtime_now=time.time()+8*3600
        localtime_now=time.localtime(localtime_now)
        rtc.datetime((localtime_now[0],localtime_now[1],localtime_now[2],localtime_now[6],localtime_now[3],localtime_now[4],localtime_now[5],localtime_now[7]))
    except Exception as e:
        print("同步ntp时间错误",repr(e))
    
    localtime_now=time.localtime()
    
    print("localtime_now",localtime_now)
    
do_connect()
sync_ntp()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值