如何获得树莓派CPU实时温度值 | 您所在的位置:网站首页 › 查看实时温度 › 如何获得树莓派CPU实时温度值 |
通过shell操作: # 进入目录 $ cd /sys/class/thermal/thermal_zone0 # 查看温度 $ cat temp # 树莓派返回 48692 【1】树莓派的CPU温度信息位于文件 /sys/class/thermal/thermal_zone0/temp中,该文件为一个只读文件。 【2】根据网上的资料和实际情况,返回的温度参数应该除以1000,单位为摄氏度。 --------------------- 方法一 pi@RaspberryPi:~ $ /opt/vc/bin/vcgencmd measure_temp temp=51.5'C 方法二 pi@RaspberryPi:~ $ cat /sys/class/thermal/thermal_zone0/temp 50464 此处,除以1000,单位是℃。 ---------------------
如何获得树莓派CPU实时温度值 【前言】 任何的电子设备在工作过程中必定会产生发热的现象,而不控制好设备的温度的话,很有可能会损坏设备,或者照成设备的性能下降,本文将通过学习如何读取树莓派CPU温度值,方便后期对树莓派做一些相应的控制措施。 在树莓派操作系统中,有一个读取温度值的入口,通过读取这个入口返回的值来获得树莓派实时的温度值,具体入口为:/sys/class/thermal/thermal_zone0/temp 本文将通过3种操作方式来获取该温度值: 1、shell编程操作 2、C语言文件操作 3、python文件操作
【具体操作】 1、通过shell编程获得cup温度值 进入树莓派中断控制台,依次输入以下指令获取实时温度值: #进入根目录 cd / #读取temp文件,获得温度值 cat sys/class/thermal/thermal_zone0/temp #系统返回实时值 40622
[说明] 1)通过cat命令读取存放在sys/class/thermal/thermal_zone0目录下的温度文件temp获得返回值 2)返回值为一个5位数的数值,实际温度为将该值除以1000即可!单位为摄氏度!
2、通过C语言编程获得cpu温度值 #选定一个目录,并在目录中创建cpu_temp.c文件,将以下代码输入: #include #include //导入文件控制函数库 #include #include #include #define TEMP_PATH "/sys/class/thermal/thermal_zone0/temp" #define MAX_SIZE 20 int main(void) { int fd; double temp = 0; char buf[MAX_SIZE]; // 以只读方式打开/sys/class/thermal/thermal_zone0/temp fd = open(TEMP_PATH, O_RDONLY); //判断文件是否正常被打开 if (fd < 0) { fprintf(stderr, "failed to open thermal_zone0/temp\n"); return -1; } // 读取内容 if (read(fd, buf, MAX_SIZE) < 0) { fprintf(stderr, "failed to read temp\n"); return -1; } // 转换为浮点数打印 temp = atoi(buf) / 1000.0; printf("temp: %.3f\n", temp); // 关闭文件 close(fd); } #编译C代码,输入以下指令: gcc -o cpu_temp cpu_temp.c #运行程序 ./cpu_temp #系统返回实时值 temp : 40.622
程序解读: 1)关于open()、read()、close()函数使用,可看:【fcntl.h函数库的常用函数使用】。 2)atoi(buf)函数是将buf中的字符串数据转换层整形数。 3)gcc -o cpu_temp cpu_temp.c :gcc为编译器、 -o参数表示将cpu_temp.c文件编译成可执行文件并存放到 cpu_temp文件夹中。
2、通过python语言编程获得cpu温度值 #选定一个目录,并在目录中创建cpu_temp.py文件,将以下代码输入: # -*- coding: utf-8 -*- # 打开文件 file = open("/sys/class/thermal/thermal_zone0/temp") # 读取结果,并转换为浮点数 temp = float(file.read()) / 1000 # 关闭文件 file.close() # 向终端控制台打印 print "temp : %.3f" %temp #执行脚本 Python cpu_temp.py #系统返回实时值 Temp : 41.163
【小结】 以上3总方式都可获取树莓派cpu实时的温度值,通过访问目录下的temp文件获取返回值,在程序上对返回值稍作转换变成我们需要的数,在以上的3种方式中,通过python获得数据更为简便! --------------------- |
今日新闻 |
推荐新闻 |
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 |