扫码加入

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

自动化树莓派教程:资源使用记录器!

2025/08/21
1074
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

前言:

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

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

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

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

资源使用记录器

你是否想知道你的树莓派是否运行过热或使用了过多内存?如果你的树莓派突然变慢,有一个性能日志可以帮助你找出原因。

虽然有几种工具可用于监控树莓派的健康状况,但大多数工具都需要你现场操作。你可以使用psutil库开发一个Python脚本来跟踪CPU、内存和磁盘使用情况,并在任何指标超过设定限制时发出警告。

你可以使用以下命令安装psutil库:

pip install psutil

然后你可以使用psutil的内置函数获取CPU、RAM和磁盘使用情况,如下所示:

import psutil cpu = psutil.cpu_percent()ram = psutil.virtual_memory().percentdisk = psutil.disk_usage('/').percent

另一个需要监控的重要统计数据是树莓派的CPU温度。CPU温度也可以通过读取

/sys/class/thermal/thermal_zone0/temp

文件中的值来获取。你也可以将其转换为Python代码:

# Function to get CPU temperaturedef get_cpu_temp():    try:        with open("/sys/class/thermal/thermal_zone0/temp", "r") as f:            temp_str = f.readline()            return round(int(temp_str) / 1000, 1)    except FileNotFoundError:        return None

然后你可以将所有这些数据保存到一个带有日期和时间戳的CSV文件中,创建一个日志,以便稍后查看以分析系统性能。

你还可以通过使用Pushbullet在离开时发送通知来增强这个脚本,如果任何指标变得过高(例如CPU温度过高)。

注意:确保你的PC或手机上安装并配置了Pushbullet以接收通知。

你可以使用如下所示的Python脚本向所有连接的设备发送Pushbullet通知:

import requestsPUSHBULLET_TOKEN = "your_token_here"def send_alert(msg):    requests.post(        "https://api.pushbullet.com/v2/pushes",        headers={"Access-Token": PUSHBULLET_TOKEN},        json={"type": "note", "title": "Raspberry Pi Alert", "body": msg}    )if temp and temp > TEMP_LIMIT:    send_alert(f"CPU temperature is high: {temp}°C")

现在,每当你的树莓派过热时,它都会自动通知你,即使你不在它旁边:

Pushbullet通知也可以在手机上接收。

如果你的树莓派经常过热,请参考这篇关于树莓派温度的全面指南:限制、监控、冷却等。

https://raspberrytips.com/raspberry-pi-temperature/

如果觉得文章不错记得点赞,收藏,关注,转发~

我们很乐意为您提供工业树莓派的解决方案,项目有需求请联系我们~ 

官方网站:www.edatec.cn/cn

相关推荐