zoukankan      html  css  js  c++  java
  • 读取树莓派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
    ");
    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         //计算温度值
    41         temp = atoi(buffer) / 1000.0;
    42         
    43         //打印输出温度
    44         printf("Temp:%.4f
    ",temp);
    45 
    46         //关闭文件
    47         close(fd);
    48     }
    49 }

    编写代码

    创建程序文件ReadTemp.c 并打开编写代码

     编译运行结果

    gcc -o ReadTemp ReadTemp.c  编译程序出现三个警告,可以不用管它,生成可以执行文件ReadTemp   输入./ReadTemp运行程序

    (我安装了风扇和散热片以及外壳,大概平均在53摄氏度左右) 

     

    硬件信息

    cpu信息 及内存信息

  • 相关阅读:
    DirectX11 With Windows SDK--14 深度测试
    DirectX11 With Windows SDK--12 深度/模板状态、平面镜反射绘制
    DirectX11--深入理解HLSL常量缓冲区打包规则
    JS学习笔记7_表单脚本
    JS学习笔记6_事件
    JS学习笔记5_DOM
    JS学习笔记4_BOM
    JS学习笔记3_函数表达式
    JS学习笔记2_面向对象
    JS学习笔记1_基础与常识
  • 原文地址:https://www.cnblogs.com/JiYF/p/11440050.html
Copyright © 2011-2022 走看看