很多人一直以为树莓派(Raspberry Pi)只是创客圈子里的小玩具——一块信用卡大小的开发板,用来点亮 LED、跑个 Python 脚本、或者给中学生上一堂入门编程课。然而,事实远比想象震撼:树莓派已经悄悄完成了从“教学演示”到“工业级主力”的华丽转身,正在产线、机房、实验室甚至外太空里 7×24 小时不间断服役。
如果你和我一样,你的树莓派总是运行着某些东西:可能是备份、网络监控,或者只是一个简单的脚本。但是每天重复同样的任务很快就会让人厌烦。这时Python就派上用场了。只需几个简单的脚本,你的树莓派就能自动处理这些无聊的事情。我测试了许多脚本,并挑选出了其中最有用的几个。
Python脚本可以在树莓派上用于自动化功能任务,如备份、监控、警报和设备控制,只需几行代码即可实现。与bash脚本相比,它们更容易编写、阅读和扩展,尤其是在使用库或Web API时。
在本文中,我将分享一些我最常用的Python脚本,这些脚本让我的树莓派变得更智能、更省心。你会发现一些想法、代码片段和提示,你可以立即应用它们,不需要高级技能。
空闲屏幕关闭/节能器
你是否让树莓派一直运行并连接着屏幕?如果是这样,即使没有人使用,屏幕也可能一直亮着。随着时间的推移,这会浪费电力并缩短显示器的使用寿命。
树莓派操作系统包含一个基本的屏幕空白功能,该功能会在10到15分钟不活动后将屏幕变黑。但是,此功能仅将屏幕变黑,而不会禁用HDMI输出。
通过一个简单的Python脚本,你可以监控鼠标和键盘活动,并在设定的时间后自动关闭显示器。我们还可以使用vgencmd禁用HDMI输出的电源,这比默认的屏幕变黑功能节省更多的电力。
要监控键盘和鼠标活动,你需要pynput库。你可以使用以下命令安装它:
pip?install pynput
然后你可以使用Python脚本来监控键盘和鼠标的使用情况:
import?time
from?pynput?import?mouse, keyboard
def?reset_timer(x=None):
? ??global?last_input_time
? ? last_input_time = time.time()
# Set up listeners for keyboard and mouse
keyboard_listener = keyboard.Listener(on_press=reset_timer)
mouse_listener = mouse.Listener(on_move=reset_timer, on_click=reset_timer, on_scroll=reset_timer)
keyboard_listener.start()
mouse_listener.start()
随后,你可以继续监控不活动时间。如果时间超过某个阈值,你可以使用vgencmd禁用HDMI输出。
while?True:
? ? idle_duration = time.time() - last_input_time
? ??if?idle_duration > IDLE_TIME?and?not?screen_off:
? ? ? ? subprocess.run(["/usr/bin/vcgencmd",?"display_power",?"0"])
? ? ? ? screen_off =?True
? ? ? ??print("Screen turned OFF due to inactivity.")
? ??elif?idle_duration <= IDLE_TIME?and?screen_off:
? ? ? ? subprocess.run(["/usr/bin/vcgencmd",?"display_power",?"1"])
? ? ? ? screen_off =?False
? ? ? ??print("Activity detected. Screen turned ON.")
? ? time.sleep(5)
你可以通过~/.bashrc、rc.local或systemd服务在后台自动运行此脚本。这个脚本可以显著节省电力,因为显示器通常消耗最多的电力。
如果觉得文章不错记得点赞,推荐,分享~ 我们很乐意为您提供工业树莓派的解决方案,项目有需求请联系我们~?www.edatec.cn/cn