×

简单的MicroPython闹钟

消耗积分:0 | 格式:zip | 大小:0.15 MB | 2022-12-12

王玉兰

分享资料个

描述

网络时钟部分类似于我之前的项目Very Simple MicroPython ESP8266/ESP-12 Web Clock 主要区别在于它通过 NTP(网络时间协议)查询时间,而不是使用第三方 API。

ntptime是MicroPython的内置库,只需调用ntptime.settime() 即可轻松用于更新 ESP8266/ESP32 板的系统时间(本地时间)(请注意,您的 NTP 查询可能并不总是成功,具体取决于您的 WiFi 连接质量。)

你从NTP得到的时间是UTC+0;在代码中,变量timezone_hour可用于设置时区调整。例如,如果您的时区是 UTC+8,则设置 timezone_hour = 8。

本项目还使用了一个非阻塞的web服务器来提供闹钟设置界面(不会阻塞循环过程等待新的客户端连接,因此时钟时间仍然可以正常显示)。我写了一段代码,可以将任意名称的任意数量的参数解析为来自 URL的列表para_array 。这可能对想要构建类似项目的人有用。

 

pYYBAGOSywyAGD94AADANrFqBcY370.png
 

 

REPL 输出示例:

Connecting to WiFi...
Connected.
Web server is now online on xxx, IP: 192.168.100.155
NTP server query successful.
System time updated:  (2019, 12, 4, 7, 56, 25, 2, 338)
New client connected, IP: ('192.168.100.164', 54551)
Alarm has been set to 7:30
Alarm enabled
Sending web page...
Client connection ended.

有源压电蜂鸣器用作闹钟,倾斜开关(我使用的是 SW-520D)可用于通过摇动来关闭闹钟。0.96" OLED 显示屏显示时钟时间和闹钟时间、闹钟状态(“o”已启用,“x”未启用)以及服务器 IP(在您的本地 WiFI 网络上)。

如果没有人摇动倾斜开关,警报会在一分钟后自行关闭。

该代码已在带有 WeMos D1 mini 的 MicroPython 固件 v1.11 上进行了测试。


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !