读取树莓派4B处理器(CPU)的实时温度
Posted jiyf
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了读取树莓派4B处理器(CPU)的实时温度相关的知识,希望对你有一定的参考价值。
读取树莓派4B处理(CPU)的实时温度
树莓派发布4B后,性能提升了不少,但是温度也是高的不行,所以最好配置一个小风扇和散热片还是比较好的
俩种办法都可以实现
1.Shell命令读取
打开终端
cd /sys/class/thermal/thermal_zone0
查看温度
cat temp
树莓派的返回值
53069
返回值除以1000为当前CPU温度值。即当前温度为53摄氏度。如下图所示
2.编写一段c语言程序读取
在这里,我基本抄的https://blog.csdn.net/xukai871105/article/details/38349209的代码,
修改了下增加了循环1s中读取打印一次,总共打印了100次程序退出,这样的话看得时候方便实时刷新
程序源代码
温度是在 /sys/class/thermal/thermal_zone0/temp 文件下看的
1 #include<stdio.h> 2 #include<stdlib.h> 3 4 #include<sys/types.h> 5 #include<sys/stat.h> 6 #include<fcntl.h> 7 8 #define TEMP_PATH "/sys/class/thermal/thermal_zone0/temp" 9 #define MAX_SIZE 32 10 11 int main(void) 12 13 int fd; 14 double temp = 0; 15 char buffer[MAX_SIZE]; 16 int i; 17 18 while(i < 100) 19 20 i+=1; 21 22 //延时1s 23 sleep(1); 24 25 //打开文件 26 fd = open(TEMP_PATH,O_RDONLY); 27 if(fd < 0) 28 29 fprintf(stderr,"Failed to open thermal_zone0/temp\\n"); 30 return - 1; 31 32 33 //读取文件 34 if(read(fd,buffer,MAX_SIZE) < 0) 35 36 fprintf(stderr,"Failed to read temp\\n"); 37 return -1; 38 39 40 //计算温度值 41 temp = atoi(buffer) / 1000.0; 42 43 //打印输出温度 44 printf("Temp:%.4f\\n",temp); 45 46 //关闭文件 47 close(fd); 48 49
编写代码
创建程序文件ReadTemp.c 并打开编写代码
编译运行结果
gcc -o ReadTemp ReadTemp.c 编译程序出现三个警告,可以不用管它,生成可以执行文件ReadTemp 输入./ReadTemp运行程序
(我安装了风扇和散热片以及外壳,大概平均在53摄氏度左右)
硬件信息
cpu信息 及内存信息
以上是关于读取树莓派4B处理器(CPU)的实时温度的主要内容,如果未能解决你的问题,请参考以下文章
树莓派(Raspberry Pi)4B无界面安装Kali系统篇
树莓派(Raspberry Pi)4B无界面安装Kali系统篇
树莓派4B刷入OpenHarmony 3.0,目前可显示与触控