获取树莓派当前状态和数据(温度、CPU、内存、硬盘)
来源:互联网 发布:大塘网络平台 编辑:程序博客网 时间:2024/05/23 15:06
本篇介绍如何使用Python编写一个能输出树莓派各种状态和数据的脚本,包括CPU温度、CPU占用情况、内存占用情况和硬盘占用。
建立脚本:
1
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))
然后执行:
1
2
chmod
+x get.py
python get.py
预期输出结果如下:
1
2
3
4
5
6
7
8
9
10
CPU Temperature = 53.0
CPU Use = 13.5
RAM Total = 497.0 MB
RAM Used = 116.0 MB
RAM Free = 381.0 MB
DISK Total Space = 3.6GB
DISK Used Space = 1.8GB
DISK Used Percentage = 53%
0 0
- 获取树莓派当前状态和数据(温度、CPU、内存、硬盘)
- 获取树莓派当前状态和数据(温度、CPU、内存、硬盘)
- 树莓派:获取当前温度、CPU、内存、硬盘的状态
- 读取树莓派CPU/GPU温度,内存,硬盘使用率
- 树莓派-获取CPU和GPU温度
- python 获取CPU、内存、硬盘、进程状态信息 代码
- Python在Linux下获取CPU温度、使用率、内存使用率、硬盘使用率
- Ubuntu下查看CPU温度风扇转速和硬盘温度
- 【Java】【系统状态】获取系统信息(包括操作系统、jvm、cpu、内存、硬盘、网络、io等)
- Android获取CPU频率和温度
- Windows下获取硬件信息的编程(CPU、硬盘、内存和启动时间等)
- Windows下获取硬件信息的编程(CPU、硬盘、内存和启动时间等)
- 为ubuntu添加CPU和硬盘温度监控
- 检测笔记本的主板、CPU和硬盘的温度
- 获取当前进程的CPU使用率和内存使用
- iOS 实时获取当前应用消耗的CPU和内存
- C#获取计算机硬件信息(CPU,网卡,硬盘,内存等)
- python利用WMI等监控获取windows状态如CPU、内存、硬盘等信息
- 【翻译自mos文章】在/tmp/.oracle目录下的文件是什么?
- 慕课网 Java遇见html-servlet篇
- [转] iOS --- 基于面向协议MVP模式下的软件设计
- Error instantiating class with invalid types () or values ()
- 自我总结
- 获取树莓派当前状态和数据(温度、CPU、内存、硬盘)
- 自动化上位机软件的模块化
- iOS开发系列--Objective-C之KVC、KVO
- 欧拉函数
- python: 快速排序
- 数算实习+数算 机考总结……
- HP 性能测试工具LoadRunner 12.00 中的新增功能详解:附下载地址
- leetcode32---Longest Valid Parentheses
- 如何处理 SQL Server 安装过程中的 COM+ 检查失败问题