📅  最后修改于: 2023-12-03 15:24:16.605000             🧑  作者: Mango
在树莓派上运行 CPU 相关任务时,了解 CPU 温度对于避免过热非常重要。本文将介绍如何在 Linux 终端上使用 Shell / Bash 脚本来获取树莓派的 CPU 温度。
Raspberry Pi 包含用于获取 CPU 信息的命令行工具。
在终端中输入以下命令:
vcgencmd measure_temp
输出结果将类似于:
temp=50.0'C
这表明 CPU 温度为 50 摄氏度。
可以将此命令包含在脚本中,并使用以下方式获取结果:
temp=$(vcgencmd measure_temp | egrep -o '[0-9]*\.[0-9]*')
echo $temp
这将提取结果中的数字,并将其存储在名为 “temp” 的变量中。然后可以使用 echo 命令显示温度。
sysfs 接口是 Linux 内核提供的一个伪文件系统,可以让用户空间访问内核内部数据结构的接口。
在树莓派上,CPU 温度可以通过 sysfs 接口访问。这需要使用以下命令:
cat /sys/class/thermal/thermal_zone0/temp
输出结果将类似于:
50436
这表示温度为 50.436 摄氏度。
此命令可以通过以下方式包含在 Shell / Bash 脚本中:
temp=$(cat /sys/class/thermal/thermal_zone0/temp)
echo "scale=1; $temp/1000" | bc
这里使用了“bc”命令将温度值从千分之一摄氏度转换为摄氏度,并将其显示到终端上。
为了避免 CPU 过热,可以定期监控 CPU 温度,如果温度变高,则可以采取措施来降低 CPU 温度。
以下是一个示例 Shell / Bash 脚本:
#!/bin/bash
while true; do
temp=$(cat /sys/class/thermal/thermal_zone0/temp)
temp_c=$(echo "scale=1; $temp/1000" | bc)
if [[ $(echo "$temp_c >= 60" | bc) -eq 1 ]]; then
echo "WARNING: CPU temperature is $temp_c°C"
fi
sleep 5s
done
此脚本将每五秒钟检查一次 CPU 温度。如果温度超过 60 摄氏度,则将显示一个警告消息。
使用 Shell / Bash 脚本在树莓派上获取 CPU 温度非常简单。你可以使用 Raspberry Pi 命令行工具或 sysfs 接口来获取 CPU 温度。从而可以根据温度变化来采取必要的措施,防止过热的情况发生。