我在我的树莓派3上制作了一个RGB LED变色脚本用于我的设置,但是我希望它能够在晚上11点制作,灯光停止并在上午9点重新开始。我怎样才能做到这一点? 谢谢, PhantomX
答案 0 :(得分:0)
在python中使用time
库,有一个time.localtime()
函数,它将当前时间作为结构返回。
你可以检查时间是23(晚上11点),然后关灯,然后让它睡36000秒(10小时),然后重新开灯。
或者,每隔几分钟检查一小时为9(9AM),并在脚本可能在夜间重启的情况下打开灯
示例:
import time
while True:
if time.localtime().tm_hour == 23:
lights_off()
time.sleep(3600) # No need to check for at least 1 hour
elif time.localtime().tm_hour == 9:
lights_on()
time.sleep(3600)
time.sleep(60) # Checks every minute
时间文档:https://docs.python.org/3.6/library/time.html#time.localtime
答案 1 :(得分:0)
这是一种更加幂等的解决方案,可以保证灯光处于正确的状态,无论您何时启动脚本或是否被中断。
from datetime import time, datetime
from time import sleep
morning = time(9,0,0)
evening = time(23,0,0)
while True:
while morning < datetime.now().time() < evening:
print 'lights on...'
sleep(1)
print 'lights off...'
sleep(1)