讀取樹莓派4B處理器(CPU)的實時溫度

讀取樹莓派4B處理器(CPU)的實時溫度

樹莓派發布4B後,性能提高了很多,可是溫度也是高的不行,因此最好配置一個小風扇和散熱片仍是比較好的性能

倆種辦法均可以實現spa

1.Shell命令讀取

打開終端.net

 cd /sys/class/thermal/thermal_zone0 3d

查看溫度code

cat tempblog

樹莓派的返回值 內存

53069io

返回值除以1000爲當前CPU溫度值。即當前溫度爲53攝氏度。以下圖所示編譯

 2.編寫一段c語言程序讀取

在這裏,我基本抄的https://blog.csdn.net/xukai871105/article/details/38349209的代碼,class

修改了下增長了循環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信息 及內存信息

相關文章
相關標籤/搜索