【前言】

任何的电子设备在工作过程中必定会产生发热的现象,而不控制好设备的温度的话,很有可能会损坏设备,或者照成设备的性能下降,本文将通过学习如何读取树莓派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文件夹中。

3、通过python语言编程获得cpu温度值

选定一个目录,并在目录中创建cpu_temp.py文件,将以下代码输入:

#! /usr/bin/python

#! -*- 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获得数据更为简便!

喜欢 (1)or分享 (0)

python获取cpu温度_如何获得树莓派CPU实时温度值相关推荐

  1. python获取计算机配置_利用python写一段读取电脑配置信息的程序

    展开全部 主要利用python的wmi模块,提供非常多的信息.import wmi def sys_version(): c = wmi.WMI() # 操作系统版本,版本号,32位/64位 prin ...

  2. python获取屏幕文字_详解:四种方法教你对Python获取屏幕截图(PyQt , pyautogui)...

    前言: 今天为大家带来的内容是详解:四种方法教你对Python获取屏幕截图(PyQt , pyautogui)本文具有不错的参考意义,希望能够帮助到大家! Python获取电脑截图有多种方式,具体如下 ...

  3. python 获取硬盘信息_使用python获取电脑的磁盘信息方法

    使用Python获取电脑的磁盘信息需要借助于第三方的模块psutil,这个模块需要自己安装,纯粹的CPython下面不具备这个功能. 在iPython交互界面中进行如下演示: 查看电脑的磁盘分区: I ...

  4. python获取交易软件数据_几行Python代码,轻松获取美股阿里巴巴的交易数据

    原创: 野马 菜鸟学Python 学Python可以干很多事情,比如爬虫,数据分析,机器学习,但是有一个非常小众的分支,不仅结合了两大高薪行业,而且还薪水非常诱人,就是量化金融岗位.目前Python已 ...

  5. amd4200温度_解决AMD 64x2 CPU温度高自动关机终级方法

    今天客户又拿来一台AMD 5200+的机子,说老是自动关机.经检测,确认是CPU温度过高,自动保护关机问题.开机CPU进系统63度,3分钟后到85度,打开"植物大战僵尸"小游戏,不 ...

  6. python 获取屏幕快照_如何获取Windows登录屏幕的屏幕快照:2个怪异技巧

    python 获取屏幕快照 There are ways to run a screen capture utility – or any other program – from the welco ...

  7. python获取当前窗口句柄_人生苦短,我学python之python+selenium 多窗口、句柄(handle)...

    转载自 http://www.cnblogs.com/yoyoketang/p/6128611.html 前言 有些页面的链接打开后,会重新打开一个窗口,对于这种情况,想在新页面上操作,就得先切换窗口 ...

  8. cpu使用率_漫话性能:CPU使用率

    序言 CPU 使用率是最直观和最常用的系统性能指标,更是我们在排查性能问题时,通常会关注的第一个指标. 节拍率 为了维护 CPU 时间,Linux 通过事先定义的节拍率(内核中表示为 HZ),触发时间 ...

  9. linux查询服务器cpu核数_查看linux服务器CPU数量

    首先,要区分两个概念:物理CPU和逻辑CPU. 物理CPU就是服务器上实际安装的CPU.但是一个物理CPU可以有多个核.例如,一个 i5 760 是双核,而一个 i5 2250 是四核.如果开启了In ...

最新文章

  1. 动感灯箱制作流程培训_向客户推荐灯箱,这16种灯箱你一定要知道
  2. VC控件自绘制三步曲
  3. 模4余1的素数一定能表示为两正整数的平方和
  4. ArrayList的add(E e)方法与扩容
  5. QT中图表类QChart之各种缩放/平移
  6. Android Studio中解决jar包重复依赖导致的代码编译错误
  7. 我的助理辞职了!——给不听话的下属看看~
  8. 安全成Win10进军企业级市场的最大卖点?
  9. Android WebView重定向问题,Android Webview重定向问题解决方法
  10. plsql 64连接32oracle,32位plsql developer连接64位oracle的方法
  11. 激光雷达点云数据处理
  12. 图形学笔记(四)——Harris 角点检测器延申
  13. Java基本语法-Scanner类的应用_计算两个整数和
  14. Elasticsearch blocked by: [SERVICE_UNAVAILABLE/1/state not recovered / initialized];
  15. Zookeeper实现注册中心
  16. os.path.isfile() 判断问题
  17. Consumer接口和Supplier接口
  18. m1 Mac zshrc 环境变量
  19. 行业研究报告-全球与中国PH/ORP变送器市场现状及未来发展趋势
  20. Shopee大规模毁约offer,今年的大厂装都不装了

热门文章

  1. react中配置less-loader报错
  2. java百度天气接口解析_Java调用天气接口(百度天气)解析返回的JSON数据
  3. 计算机系大一开学需要带什么,大一新生上学要不要带电脑?辅导员给出建议,家长可以参考...
  4. The valid characters are defined in RFC 7230 and RFC 3986
  5. 2022超级好用的接口自动化测试框架:基于python+requests+pytest+allure实现
  6. k8s部署prometheus + grafana
  7. opencv-python给图片添加半透明mask
  8. 1.1.3操作系统的发展与分类(多道批处理 单道批处理系统 分时操作系统 实时操作系统)
  9. iOS 更改webView文字颜色丶文字大小丶背景色的方法
  10. p5.js创意绘图(2)自画像