cpu频率信息 树莓派_新手学习树莓派3笔记(1)--三种方式获取树莓派CPU信息

本文是新手学习树莓派3的笔记,介绍了通过命令行、VI编译器和Python脚本获取CPU温度、内存等信息的三种方法。包括如何用cat命令读取温度文件,使用VI编辑器编写Python程序转换温度单位,以及用Python全面监控CPU、内存和硬盘状态。
摘要由CSDN通过智能技术生成

新手学习树莓派3笔记(1)--三种方式获取树莓派CPU信息

[复制链接]

本帖最后由 RCSN 于 2016-11-26 22:36 编辑

由于树莓派在家里连续已经上电了差不多4天,觉得有必要监控下CPU的温度、内存占用等信息。

再此之前,我都没深入去学习过蟒蛇,以及VI编译器,所以也是看了网友的一些经验,但是自己在操作的时候并不是那么顺畅,但也知道也一些东西。若想深入还是得深造下,消化下基础的东西。

第一种方式,通过命令打开树莓派的获取温度的临时文件。

shu3.png (211.23 KB, 下载次数: 0)

2016-11-26 21:25 上传

如上图所示,对于新手的我犯了个错误,就在于Linux命令的概念的不熟悉。就是cd和cat命令,以为cd命令也可以打开一个文件,但是显示的没有文件存在,用cat命令查看,37014,即是37.014度。

查看了下网页对这两个命令的解读如下:

cd.png (33.09 KB, 下载次数: 0)

2016-11-26 21:29 上传

cat.png (43.27 KB, 下载次数: 0)

2016-11-26 21:30 上传

一个是切换目录命令,一个是输出命令,输出到屏幕等。对概念的不熟悉,才会犯了这种错误。

最后附上命令行:

cd /sys/class/thermal/thermal_zone0/temp

cat temp

第二种方式:VI编译器编写程序,新建一个文件。对于树莓派自带的临时文件输出的并不是摄氏度,所以我们要自己弄为摄氏度。命令行:

sudo vi temp.py

写上一下代码。但是问题来了,对于新手来说,如何进入编辑模式,如何保存,如何退出都是很头大。我一开始也是很懵逼。但是基本操作几次也可以上手了。

按i 进入编辑模式

按ESC  退出编辑模式

:wq 保存文件并退出vi:w 保存文件但不退出vi

:w file 将修改另外保存到file中,不退出vi

:q 不保存文件,退出vi

最后回车即可。

vi temp.png (51.06 KB, 下载次数: 0)

2016-11-26 21:36 上传

然后在进行以下操作:

看上图 一开始我按照网友的chomd +x temp 老是提示没权限。最后前面加了sudo就好了。

网页对sudo的解读如下:

sudo是superuser do的简写,sudo是linux系统管理指令,是允许系统管理员让普通用户执行一些或者

全部的root命令的一个工具,如halt,reboot,su等等。这样不仅减少了root用户的登陆 和管理时间

,同样也提高了安全性。

最后可以得到温度为38.6度。

附上VI代码:

#!/usr/bin/python

# -*- coding: utf-8 -*-

# 打开文件

file = open("/sys/class/thermal/thermal_zone0/temp")

# 读取结果,并转换为浮点数

temp = float(file.read()) / 1000

# 关闭文件

file.close()

# 向控制台打印

print "temp : %.1f" %temp第三种方式是使用蟒蛇来进行获取信息,不过这次获取的信息相对比较多。包括温度、内存、硬盘、CPU。我也是根据网友的经验来进行获取的,网上也有很多教程,再次我根据我自身情况来说明。此部分是由nano编译器来编写的,我也很不熟悉。特别是一些命令行。跟VI不一样,但是操作起来也蛮顺手。网上的教程可能没那么详细,就是贴了代码后如何退出nano没什么说明。nano保存退出就需要ctrl+o保存文件 ctrl+x退出文件即可。

如下图所示,我要运行这个代码的时候,发现使用./并不能运行,最后使用python后才可以。这个应该是使用nano的话要运行蟒蛇的话就是使用python吧。

附上命令行 有参考了网上的教程,百度上有,我只是总结了下我自身的情况。

第一步 新建脚本:sudo nano get.py

第二步 在编译器输入代码:

import os

# Return CPU temperature as a character string

def getCPUtemperature():

res = os.popen('vcgencmd measure_temp').readline()

return(res.replace("temp=","").replace("'C\n",""))

# Return RAM information (unit=kb) in a list

# Index 0: total RAM

# Index 1: used RAM

# Index 2: free RAM

def getRAMinfo():

p = os.popen('free')

i = 0

while 1:

i = i + 1

line = p.readline()

if i==2:

return(line.split()[1:4])

# Return % of CPU used by user as a character string

def getCPUuse():

return(str(os.popen("top -n1 | awk '/Cpu\(s\):/ {print $2}'").readline().strip(\

)))

# Return information about disk space as a list (unit included)

# Index 0: total disk space

# Index 1: used disk space

# Index 2: remaining disk space

# Index 3: percentage of disk used

def getDiskSpace():

p = os.popen("df -h /")

i = 0

while 1:

i = i +1

line = p.readline()

if i==2:

return(line.split()[1:5])

# CPU informatiom

CPU_temp = getCPUtemperature()

CPU_usage = getCPUuse()

# RAM information

# Output is in kb, here I convert it in Mb for readability

RAM_stats = getRAMinfo()

RAM_total = round(int(RAM_stats[0]) / 1000,1)

RAM_used = round(int(RAM_stats[1]) / 1000,1)

RAM_free = round(int(RAM_stats[2]) / 1000,1)

# Disk information

DISK_stats = getDiskSpace()

DISK_total = DISK_stats[0]

DISK_used = DISK_stats[1]

DISK_perc = DISK_stats[3]

if __name__ == '__main__':

print('')

print('CPU Temperature = '+CPU_temp)

print('CPU Use = '+CPU_usage)

print('')

print('RAM Total = '+str(RAM_total)+' MB')

print('RAM Used = '+str(RAM_used)+' MB')

print('RAM Free = '+str(RAM_free)+' MB')

print('')

print('DISK Total Space = '+str(DISK_total)+'B')

print('DISK Used Space = '+str(DISK_used)+'B')

print('DISK Used Percentage = '+str(DISK_perc))

代码写完后按ctrl+o 再按ctrl+x即可保存退出。

第三步:代入命令行:

chmod +x get.py

python get.py

就有上图的输出了。

以上纯属都是新手操作,

。高手勿喷,高手求带。

接下来如果有空的话,就搞下根据CPU的温度利用PWM输出来调整风扇。反正也可以玩玩下IO,点点灯什么的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值