MicroPython 特定的库 (MicroPython-specific)-ntptime

MicroPython的ntptime模块用于通过NetworkTimeProtocol(NTP)同步设备时间,确保与UTC保持精确。ntptime.settime()函数用于设置时区和授时服务器,然后调整系统时间。示例展示了如何连接WiFi,设置时区和服务器,以及同步时间的过程。
摘要由CSDN通过智能技术生成

MicroPython 特定的库 (MicroPython-specific)-ntptime

以下库中提供了特定于 MicroPython 实现的功能。

  • bluetooth — 低级蓝牙
  • btree – 简单的 BTree 数据库
  • cryptolib——加密密码
  • framebuf — 帧缓冲区操作
  • machine — 与硬件相关的函数
  • micropython – 访问和控制 MicroPython 内部
  • neopixel — WS2812 / NeoPixel LED 的控制
  • network — 网络配置
  • ntptime — 时间同步
  • uctypes——以结构化方式访问二进制数据

ntptime - 时间同步

该模块用于时间同步,提供准确时间,国际标准时间(UTC)。
Network Time Protocol(NTP)是用来使计算机时间同步化的一种协议,它可以使计算机对其服务器或时钟源(如石英钟,GPS等等)做同步化。它可以提供高精准度的时间校正。

ntptime.settime()
同步本地时间,以下为默认值。

  • timezone - 时区时间差,默认为东八区,补偿8小时
  • server - 可自行指定授时服务器,server为字符串类型。默认授时服务器为"pool.ntp.org"。

ntptime.host
授时服务器

ntptime.NTP_DELTA
ntp 的秒数是从 1900/01/01 开始起算,而 MicroPython 是从 2000/01/01 起算,所以要做差值才能正确的计算。

示例中先连上指定的 WiFi,取得网络连线,接著设定时区、授时服务器,接著 ESP32-CAM 同步授时服务器的时间。

原始代码

import time, network, ntptime

print("同步前本地时间:%s" %str(time.localtime()))
wlan = network.WLAN(network.STA_IF)
wlan.active(True)
wlan.connect('your-ssid', 'your-password')
while not wlan.isconnected():
    pass

ntptime.NTP_DELTA = ntptime.NTP_DELTA - 8*60*60 # UTC+8 
ntptime.host = 'ntp.ntsc.ac.cn'
ntptime.settime()
print("同步后本地时间:%s" %str(time.localtime()))

输出结果为:

同步前本地时间:(2023, 3, 2, 17, 23, 54, 3, 61)
True
同步后本地时间:(2023, 3, 2, 17, 23, 56, 3, 61)

参考资料

  • mPython help documentation, https://mpython.readthedocs.io/en/master/index.html
  • MicroPython 文档, http://micropython.86x.net/en/latet/index-2.html
  • MicroPython documentation, https://docs.micropython.org/en/latest/index.html
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值