📜  获取 temp linux raspberry pi (1)

📅  最后修改于: 2023-12-03 15:27:48.137000             🧑  作者: Mango

获取 Raspberry Pi 上的 Linux 系统的温度

介绍

Raspberry Pi 是一款流行的单板计算机,常常被用于物联网和嵌入式系统开发。在开发时,我们经常需要监测系统的温度信息,以保证设备正常运行并且不过热。本篇文章将介绍如何在 Raspberry Pi 上获取 Linux 系统的温度信息。

方法一:使用vcgencmd命令

vcgencmd 是 Raspberry Pi 上用于控制 VideoCore (一种 Broadcom 芯片)的命令行工具。该工具可以通过命令获取系统的温度信息。

vcgencmd measure_temp

该命令将返回形如 temp=46.5'C 的字符串,其中包含了系统的当前温度信息。我们可以通过 Bash 脚本获取该信息并进行进一步处理。

#!/bin/bash

temp=$(vcgencmd measure_temp | egrep -o '[0-9]*\.[0-9]*')
echo "${temp} °C"

该脚本可以输出系统的温度信息,格式为带有 °C 后缀的浮点数。我们可以将该脚本保存为一个文件,如 temp.sh,并在 Raspberry Pi 上执行该脚本以获取系统的温度信息。

方法二:读取/sys/class/thermal/thermal_zone0/temp文件

Raspberry Pi 系统会将温度信息存储在 /sys/class/thermal/thermal_zone0/temp 这个文件中。该文件中包含了当前系统的温度,但需要进行进一步的处理才能得到正确的结果。该文件中存储的温度是以 1000 分之一摄氏度为单位的整数值。

cat /sys/class/thermal/thermal_zone0/temp

执行该命令将返回一个整数值,表示当前系统的温度。我们可以使用如下脚本将其转换为浮点数并添加温度单位。

#!/bin/bash

temp=$(cat /sys/class/thermal/thermal_zone0/temp)
echo "scale=1; ${temp} / 1000" | bc -l | awk '{printf("%.1f °C\n", $0)}'

该脚本可以输出格式为带有 °C 后缀的浮点数的温度信息。我们可以将该脚本保存为一个文件,如 temp2.sh,并在 Raspberry Pi 上执行该脚本以获取系统的温度信息。

结论

本文介绍了两种在 Raspberry Pi 上获取 Linux 系统的温度信息的方法,分别是使用 vcgencmd 命令和读取 /sys/class/thermal/thermal_zone0/temp 文件。我们可以将其封装为脚本并在需要时调用,以便快速方便地获取系统温度信息。

以上代码均为 Bash 脚本,可以在 Raspberry Pi 系统中直接执行。