读取树莓派4B处理(CPU)的实时温度
树莓派发布4B后,性能提升了不少,但是温度也是高的不行,所以最好配置一个小风扇和散热片还是比较好的
俩种办法都可以实现
1.命令读取
打开终端
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
2 #include
3
4 #include
5 #include
6 #include
7
8 #define TEMP_PATH "/sys/class/thermal/thermal_zone0/temp"
9 #define MAX_SIZE 32
10
11 int main(void)12 {13 intfd;14 double temp = 0;15 charbuffer[MAX_SIZE];16 inti;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运行程序