读取树莓派4B处理器(CPU)的实时温度
讀取樹(shù)莓派4B處理器(CPU)的實(shí)時(shí)溫度
樹(shù)莓派發(fā)布4B后,性能提升了不少,但是溫度也是高的不行,所以最好配置一個(gè)小風(fēng)扇和散熱片還是比較好的
倆種辦法都可以實(shí)現(xiàn)
1.Shell命令讀取
打開(kāi)終端
cd /sys/class/thermal/thermal_zone0
查看溫度
cat temp
樹(shù)莓派的返回值
53069
返回值除以1000為當(dāng)前CPU溫度值。即當(dāng)前溫度為53攝氏度。如下圖所示
2.編寫(xiě)一段c語(yǔ)言程序讀取
在這里,我基本抄的https://blog.csdn.net/xukai871105/article/details/38349209的代碼,
修改了下增加了循環(huán)1s中讀取打印一次,總共打印了100次程序退出,這樣的話看得時(shí)候方便實(shí)時(shí)刷新
程序源代碼
溫度是在 /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 //延時(shí)1s
23 sleep(1);
24
25 //打開(kāi)文件
26 fd = open(TEMP_PATH,O_RDONLY);
27 if(fd < 0)
28 {
29 fprintf(stderr,"Failed to open thermal_zone0/temp
");
30 return - 1;
31 }
32
33 //讀取文件
34 if(read(fd,buffer,MAX_SIZE) < 0)
35 {
36 fprintf(stderr,"Failed to read temp
");
37 return -1;
38 }
39
40 //計(jì)算溫度值
41 temp = atoi(buffer) / 1000.0;
42
43 //打印輸出溫度
44 printf("Temp:%.4f
",temp);
45
46 //關(guān)閉文件
47 close(fd);
48 }
49 }
編寫(xiě)代碼
創(chuàng)建程序文件ReadTemp.c 并打開(kāi)編寫(xiě)代碼
編譯運(yùn)行結(jié)果
gcc -o ReadTemp ReadTemp.c 編譯程序出現(xiàn)三個(gè)警告,可以不用管它,生成可以執(zhí)行文件ReadTemp 輸入./ReadTemp運(yùn)行程序
(我安裝了風(fēng)扇和散熱片以及外殼,大概平均在53攝氏度左右)
硬件信息
cpu信息 及內(nèi)存信息
總結(jié)
以上是生活随笔為你收集整理的读取树莓派4B处理器(CPU)的实时温度的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 深入到系统组件是否白盒测试_2019年系
- 下一篇: 信用卡被盗刷能追回吗?银行会赔吗?