读取树莓派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 #include2 #include 3 4 #include 5 #include 6 #include 7 8 #define TEMP_PATH "/sys/class/thermal/thermal_zone0/temp" 9 #define MAX_SIZE 3210 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 //延时1s23 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信息 及内存信息