我想创建一个脚本,如果没有人在30秒内触摸Raspberry Pi触摸屏,它将关闭我的Raspberry Pi触摸屏。 (将来,我希望通过其他程序(例如REST API)重置此30秒计时器)。
这是我目前拥有的
from pynput import mouse
import time
import rpi_backlight as bl
bl.set_power(False) # Turn Off the Screen Initially
def on_move(x, y):
control_screen()
def on_click(x, y, button, pressed):
control_screen()
def control_screen():
if (bl.get_power() == False): # If the Screen is OFF
bl.set_power(True) # Turn On Screen
bl.set_brightness(200, smooth=True, duration=3)
time.sleep(30) # Wait 30 Seconds
bl.set_power(False) # Turn Screen Off Again
# Collect events until released
with mouse.Listener(
on_move=on_move,
on_click=on_click) as listener:
listener.join()
此代码的问题是屏幕进入休眠状态,然后立即再次唤醒(可能在发生这种情况时触发了on_click / on_move)?而且我也不认为sleep(30)是最好的方法,因为我希望在触摸屏幕后重新开始睡眠定时器。有提示吗?
谢谢