讀取樹莓派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信息 及內存信息

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM