• 正文
  • 相关推荐
申请入驻 产业图谱

自动化树莓派教程:空闲屏幕关闭/节能器!

08/22 10:13
475
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

很多人一直以为树莓派Raspberry Pi)只是创客圈子里的小玩具——一块信用卡大小的开发板,用来点亮 LED、跑个 Python 脚本、或者给中学生上一堂入门编程课。然而,事实远比想象震撼:树莓派已经悄悄完成了从“教学演示”到“工业级主力”的华丽转身,正在产线、机房、实验室甚至外太空里 7×24 小时不间断服役。

如果你和我一样,你的树莓派总是运行着某些东西:可能是备份、网络监控,或者只是一个简单的脚本。但是每天重复同样的任务很快就会让人厌烦。这时Python就派上用场了。只需几个简单的脚本,你的树莓派就能自动处理这些无聊的事情。我测试了许多脚本,并挑选出了其中最有用的几个。

Python脚本可以在树莓派上用于自动化功能任务,如备份、监控、警报和设备控制,只需几行代码即可实现。与bash脚本相比,它们更容易编写、阅读和扩展,尤其是在使用库或Web API时。

在本文中,我将分享一些我最常用的Python脚本,这些脚本让我的树莓派变得更智能、更省心。你会发现一些想法、代码片段和提示,你可以立即应用它们,不需要高级技能。

空闲屏幕关闭/节能器

你是否让树莓派一直运行并连接着屏幕?如果是这样,即使没有人使用,屏幕也可能一直亮着。随着时间的推移,这会浪费电力并缩短显示器的使用寿命。

树莓派操作系统包含一个基本的屏幕空白功能,该功能会在10到15分钟不活动后将屏幕变黑。但是,此功能仅将屏幕变黑,而不会禁用HDMI输出。

通过一个简单的Python脚本,你可以监控鼠标和键盘活动,并在设定的时间后自动关闭显示器。我们还可以使用vgencmd禁用HDMI输出的电源,这比默认的屏幕变黑功能节省更多的电力。

要监控键盘和鼠标活动,你需要pynput库。你可以使用以下命令安装它:

pip?install pynput

然后你可以使用Python脚本来监控键盘和鼠标的使用情况:

import?timefrom?pynput?import?mouse, keyboarddef?reset_timer(x=None):? ??global?last_input_time? ? last_input_time = time.time()# Set up listeners for keyboard and mousekeyboard_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

相关推荐