摘要:如果你和我一样,你的树莓派总是运行着某些东西:可能是备份、网络监控,或者只是一个简单的脚本。但是每天重复同样的任务很快就会让人厌烦。这时Python就派上用场了。只需几个简单的脚本,你的树莓派就能自动处理这些无聊的事情。我测试了许多脚本,并挑选出了其中最有用的
让我们开始今天的内容!
如果你和我一样,你的树莓派总是运行着某些东西:可能是备份、网络监控,或者只是一个简单的脚本。但是每天重复同样的任务很快就会让人厌烦。这时Python就派上用场了。只需几个简单的脚本,你的树莓派就能自动处理这些无聊的事情。我测试了许多脚本,并挑选出了其中最有用的几个。
Python脚本可以在树莓派上用于自动化功能任务,如备份、监控、警报和设备控制,只需几行代码即可实现。与bash脚本相比,它们更容易编写、阅读和扩展,尤其是在使用库或Web API时。
在本文中,我将分享一些我最常用的Python脚本,这些脚本让我的树莓派变得更智能、更省心。你会发现一些想法、代码片段和提示,你可以立即应用它们,不需要高级技能。
自动化系统更新脚本
保持系统更新至关重要,因为更新通常包含关键的安全补丁和错误修复。在安装新软件之前更新系统也是一个好习惯。
与大多数现代操作系统不同,树莓派操作系统没有自动或计划更新功能。通常,当我们需要更新系统时,我们会通过包管理器手动执行以下命令:
sudo apt update && sudo apt full-upgrade -y
这个过程可以使用带有subprocess库的Python脚本来自动化。以下Python代码片段可以自动更新树莓派:
你可以使用以下命令使这个Python脚本可执行:
chmod +x /home/pat/path/to/script.py
然后将其添加到你的~/.bashrc文件末尾。这样,登录树莓派时会自动在后台启动系统更新。
为了避免重复更新,你可以添加一个日志文件来记录上次更新的时间,然后在脚本中添加一行代码来检查是否已经过了最小时间间隔(例如7天)后再进行更新:
from pathlib import Path
from datetime import datetime, timedelta
#Define Log Path and the number of days required to start a new update
UPDATE_LOG = Path("/home/pi/.last_update")
UPDATE_THRESHOLD_DAYS = 7
#Check if Update is required
def needs_update:
if not UPDATE_LOG.exists:
return True
last_update = datetime.fromisoformat(UPDATE_LOG.read_text)
return datetime.now - last_update > timedelta(days=UPDATE_THRESHOLD_DAYS)
#Only run update if update is required
if needs_update:
run_update
如果你在GUI模式下运行树莓派,你可以添加通知,让你知道何时开始更新以及何时成功完成更新(或失败)。我们可以使用plyer库来实现这一点。
你可以使用以下命令安装这个库:
pip install plyer
注意:树莓派操作系统没有预装通知守护进程。因此,你必须从官方仓库安装dunst才能看到通知。你可以使用以下命令安装dunst:
sudo apt install dunst
然后我们可以在Python脚本中使用它来显示通知,每当更新开始和成功完成时都会显示通知:
from plyer import notification
def show_notification(title, message):
notification.notify(
title=title,
message=message,
timeout=5
)
show_notification("System Update", "Starting update...")
设置完成后,每次开始和完成系统更新时,它都会显示一个屏幕通知,如下所示:
很多人一直以为树莓派(Raspberry Pi)只是创客圈子里的小玩具——一块信用卡大小的开发板,用来点亮 LED、跑个 Python 脚本、或者给中学生上一堂入门编程课。然而,事实远比想象震撼:树莓派已经悄悄完成了从“教学演示”到“工业级主力”的华丽转身,正在产线、机房、实验室甚至外太空里 7×24 小时不间断服役。下面这几篇文章或许会让你彻底刷新对树莓派的固有印象:
工业树莓派的高光时刻!树莓派工业级 HMI 列阵!
2025年树莓派最值得关注的事,树莓派CM5工业级进化!
老工厂逆袭记:破旧工厂加块屏,直接进击工业 4.0 !
这个工业触摸屏,一开始我是拒绝的,用了之后就真香了!
树莓派 PLC 提供「控制+采集+通信」三位一体的开放式解决方案!
把树莓派CM5塞进IP65相机?树莓派硬核工业相机形态曝光!
树莓派5/CM5秒变工业大脑?
树莓派官方都没告诉你的散热黑科技!
传统PLC计数模块为何被淘汰?
一块树莓派CM5抗下整条产线?工业计算机主板全面解析!
hhttps://mp.weixin.qq.com/s/5jwiM9Rjw3F_DzI02vllNA
来源:上海晶珩电子科技