671|1

109

帖子

25

TA的资源

一粒金砂(高级)

楼主
 

【得捷电子Follow me第1期】任务3:同步网络时间 [复制链接]

 

驱动WiFi并同步时间

Pico W自带WiFi模组,可以连接互联网,从而校准rtc时间,时间服务器用cn.pool.ntp.org会报超时错误,使用国内阿里云的就没问题。

import time
import network
ssid = ' YOUR NETWORK NAME' #wifi名称
password = ' YOUR NETWORK PASSWORD' #wifi密码

wlan = network.WLAN(network.STA_IF)
wlan.active(True)
wlan.connect(ssid, password)

#尝试联网
max_wait = 10
while max_wait > 0:
    if wlan.status() < 0 or wlan.status() >= 3:
        break
    max_wait -= 1
    print('等待连接')
    time.sleep(1)
    
#判断联网状态
if wlan.status() != 3:
    raise RuntimeError('联网失败')
else:
    print('网络已连接')
    status = wlan.ifconfig()
    print('ip = ' + status[0])
    
#访问互联网测试
import urequests
r = urequests.get("https://www.digikey.cn/zh")
print(r.status_code)
print(r.headers)
r.close()

def show_local_time(timezone=8):
    rtc = RTC()
    now = time.time()
    now += timezone * 3600
    t = time.localtime(now)
    print(f'{t[0]} - {t[1]:02d}-{t[2]:02d} {t[3]:02d}:{t[4]:02d}:{t[5]:02d}')
    
#NTP网络校时演示
from machine import RTC
import ntptime

#先手动设置一个错误时间,模拟系统时间不准
rtc = RTC()
rtc.datetime((2020, 1, 1, 3, 9, 0, 0, 0))   #年、月、日、星期、时、分、秒、亚秒
print('校时前系统时间:')
show_local_time()

#NTP校时
print('开始NTP校时...')
ntptime.host = 'ntp1.aliyun.com'
ntptime.settime()
print(f'校时后系统时间:')
show_local_time()

最新回复

我拍OLED屏,总是有条纹,拍的图像缺失东西,楼主有遇到过不?   详情 回复 发表于 2023-7-2 08:33
点赞 关注
 
 

回复
举报

7047

帖子

11

TA的资源

版主

沙发
 

我拍OLED屏,总是有条纹,拍的图像缺失东西,楼主有遇到过不?

 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表