4895| 2
|
[入门教程] 【掌控】mpython-16…匆匆——珍惜时间,好好读书 |
燕子去了,有再来的时候;杨柳枯了,有再青的时候;桃花谢了,有再开的时候。但是,聪明的,你告诉我,我们的日子为什么一去不复返呢?——是有人偷了他们罢:那是谁?又藏在何处呢?是他们自己逃走了罢:现在又到了哪里呢? …… 聪明的,你告诉我,我们的日子为什么一去不复返呢? 用朱自清先生的《匆匆》开始今天的帖子。感谢盛思掌控研发团队,因为掌控编程工坊,10月13-14日,去魔都,参加创客嘉年华。 幸好去了,虽然匆匆,但是再次见到谢作如老师、吴俊杰老师、李梦军老师,见到了好多平日聊创客却从未谋面的网友,DF团队的小伙伴,掌控团队的小伙伴。 如果没去,将会是怎样的遗憾呢。 感谢掌控团队唐柳锋工程师,提供了一个很好的例程,可以用来写一节很好玩的普惠课。 一个时钟,一个网络授时的时钟。 【功能】 它在上电时候,在网络上抓取时间戳,网络授时。 然后micropython 有个time.localtime()本地时钟。 只要开始设置下时间,后面只要读取time 就行了。 开机时联网获取时间,只要不断电就可以精准运行的时钟。 从论坛里泡久了,曾经想做一个时钟的项目,没想到就这样轻松实现了,掌控,你联网后怎么可以这样强大。 【效果图】 【效果视频】 如果再加个3D或者纸模外壳,帅得不要不要的。 【程序】 [mw_shl_code=python,true]#代码作者:掌控团队唐柳锋工程师 from mpython import * # 导入掌控库 from machine import Timer import time # 导入时间库 import ntptime # 导入网络时间库 import network # wifi参数 SSID = "xxx" # wifi名称 PASSWORD = "xxxxx" # 密码 # 本函数实现wifi连接 def connectWifi(ssid, passwd): global wlan wlan = network.WLAN(network.STA_IF) wlan.active(True) wlan.disconnect() wlan.connect(ssid, passwd) print('connecting to network...') while(wlan.ifconfig()[0] == '0.0.0.0'): time.sleep_ms(500) print('.', end="") print('WiFi Connection Successful,Network Config:%s' %str(wlan.ifconfig())) connectWifi(SSID, PASSWORD) ntptime.settime() def get_time(): t = time.localtime() print("%d年%d月%d日 %d:%d:%d"%(t[0], t[1], t[2], t[3]+8, t[4], t[5])) # 北京时区东八区加8小时 display.DispChar("{}年{}月{}日" .format(t[0], t[1], t[2]), 20, 8) display.DispChar("{}:{}:{}" .format(t[3]+8, t[4], t[5]), 38, 25) display.DispChar("河南 汝州", 38, 42) display.show() display.fill(0) tim1 = Timer(1) tim1.init(period=1000, mode=Timer.PERIODIC, callback=lambda t: get_time()) [/mw_shl_code] 程序的解释等我后面理解更多后再更新哈。 【学习资源】 %d 是做什么的? 字符串格式化 http://www.runoob.com/python3/python3-string.html 有空了解下python的基础语法。 本帖子很好玩,但是要搞明白,还是要化大量时间的。继续努力吧。 【拓展】 1、建议结合3D建模或者纸模做个漂亮外壳。 2、给时钟加上定时闹铃功能。 3、其它好玩的想法。 【小提示】这个代码有了很大的优化,后面有了网络授时数字时钟的帖子出来,专门写它。 |
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed