让我们开始今天的内容!
如果你和我一样,你的树莓派总是运行着某些东西:可能是备份、网络监控,或者只是一个简单的脚本。但是每天重复同样的任务很快就会让人厌烦。这时Python就派上用场了。只需几个简单的脚本,你的树莓派就能自动处理这些无聊的事情。我测试了许多脚本,并挑选出了其中最有用的几个。
Python脚本可以在树莓派上用于自动化功能任务,如备份、监控、警报和设备控制,只需几行代码即可实现。与bash脚本相比,它们更容易编写、阅读和扩展,尤其是在使用库或Web API时。
在本文中,我将分享一些我最常用的Python脚本,这些脚本让我的树莓派变得更智能、更省心。你会发现一些想法、代码片段和提示,你可以立即应用它们,不需要高级技能。
设备可达性检查器
如果您在家中有智能家居设备、打印机,甚至另一台树莓派,您可能想知道何时有设备离线。这对于远程管理您的创新工具非常有用。
一个 Python 脚本可以定期检查您的网络设备(路由器、打印机或智能家居控制器)是否可达。通过在设定的时间间隔内 ping 它们的 IP 地址,脚本可以检测是否有设备离线,并在发生这种情况时发送通知。
使用 ping 检查设备的可达性可以轻松通过以下代码实现:
import osimport time# List of devices to monitor (name, IP address)devices = {"Router": "192.168.1.1","Printer": "192.168.1.100","NAS": "192.168.1.50"}def is_reachable(ip):return os.system(f"ping -c 1 -W 2 {ip} > /dev/null 2>&1") == 0while True:for name, ip in devices.items():if not is_reachable(ip):print(f" {name} ({ip}) is offline!")# Add optional alert hereelse:print(f" {name} is reachable.")time.sleep(300) # Wait 5 minutes
您可以跟踪所有设备,如果任何设备离线,您可以使用Pushbullet或通过向自己发送电子邮件来通知自己,如前几节所示。
通过Pushbullet发送通知的函数示例如下所示:
import requestsdef send_alert(device_name, ip):token = "your_pushbullet_token"msg = f"{device_name} ({ip}) is offline!"requests.post("https://api.pushbullet.com/v2/pushes",headers={"Access-Token": token},json={"type": "note", "title": "Device Alert", "body": msg})
使用这个脚本,您可以在外出度假时监控家中所有智能设备的状态。
但是,你如何确保你的树莓派本身保持下去呢?
这也可以使用心跳通知来完成;您可以修改相同的Python脚本来定期生成心跳通知。
import timeimport requestsdef send_heartbeat():token = "your_pushbullet_token"message = {"type": "note","title": "Raspberry Pi Heartbeat","body": "I'm still online. Time: " + time.strftime("%Y-%m-%d %H:%M:%S")}requests.post("https://api.pushbullet.com/v2/pushes", headers={"Access-Token": token}, json=message)while True:send_heartbeat()print(" Heartbeat sent.")time.sleep(3600) # Every hour
您可以结合这些 Python 脚本来检测家中所有连接的智能设备以及树莓派本身的状态。这样,您可以在外出时放心,确保一切正常运行。
您还可以添加网络速度监控,以检测家庭网络与互联网的总体连接情况,并在连接速度低于某个阈值时发出警报。
https://raspberrytips.com/monitor-internet-speed-raspberry-pi/
对于通过树莓派对连接的服务器进行更高级的系统管理,可以考虑使用 Nagios。
https://raspberrytips.com/nagios-raspberry-pi/
很多人一直以为树莓派(Raspberry Pi)只是创客圈子里的小玩具——一块信用卡大小的开发板,用来点亮 LED、跑个 Python 脚本、或者给中学生上一堂入门编程课。然而,事实远比想象震撼:树莓派已经悄悄完成了从“教学演示”到“工业级主力”的华丽转身,正在产线、机房、实验室甚至外太空里 7×24 小时不间断服役。
如果觉得文章不错记得点赞,推荐,分享~ 我们很乐意为您提供工业树莓派的解决方案,项目有需求请联系我们~ www.edatec.cn/cn
986