读取树莓派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,目前可显示与触控

树莓派4B+ Centos7 部署k3s集群工具

树莓派4B基于jenkins+jmeter+granfa+influxdb搭建接口实时监控平台

树莓派4B评测 值不值得买