[RPI]树莓派监控温度及报警关机保护

编程入门 行业动态 更新时间:2024-10-28 04:17:29

[RPI]树莓派监控<a href=https://www.elefans.com/category/jswz/34/1769107.html style=温度及报警关机保护"/>

[RPI]树莓派监控温度及报警关机保护

最近把树莓派用作了Aria2下载机+无线路由,24小时不间断工作,生怕机子有时会过热烧坏,所以写了个脚本做温度记录,以及在温度过高时能自动关机保护。下面直接上Shell脚本(/data/temperature.sh):

#!/bin/sh# 高温阈值
hot_temp=80.0# 低温阈值
cold_temp=-70.0# 过热预警连续出现次数
hot_cnt=0# 过冷预警连续出现次数
cold_cnt=0while (true) dotemp=`/opt/vc/bin/vcgencmd measure_temp|awk -F= '{print $2}'|awk -F\' '{print $1}'`echo $temp# 网上有实验表明,树莓派温度达到 -78°C 的低温下会停止工作# .htmlif [ `expr "$temp < $cold_temp"` ]; thenif [ $cold_cnt > 3 ]; thenecho "太冷了,我不会是在太空中吧!" >&2halt -pbreakelselet cold_cnt+=1fielif [ `expr "$temp > $hot_temp"` ]; thenif [ $hot_cnt > 3 ]; thenecho "太热了,需要关机休息一下!" >&2halt -pbreakelselet hot_cnt+=1fielse# 需要连续出现温度预警才会关机hot_cnt=0cold_cnt=0if [ `expr "$temp < 0.0"` ]; then # 有点冷echo "警告:当前温度有点冷,小心受凉!" >&2elif [ `expr "$temp < 40.0"` ]; then # 待机温度sleep 0.1elif [ `expr "$temp < 70.0"` ]; then # 正常工作温度sleep 0.1elif [ `expr "$temp < $hot_temp"` ]; then # 挖矿温度?echo "警告:我有点热,注意控制温度!" >&2fifisleep 10
done

另外,还可以写个服务配置文件(/etc/systemd/system/temperature.service):

[Unit]
Description=Temperature Monitor
After=network.target[Service]
ExecStart=/data/temperature.sh > /data/temperature.log &
Restart=on-abort[Install]
WantedBy=multi-user.target

最后执行一下systemctl enable temperature,这样每次开机时就会自动启动温度监控脚本。

更多推荐

[RPI]树莓派监控温度及报警关机保护

本文发布于:2024-02-13 01:46:47,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1690232.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:温度   RPI   树莓派

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!