欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

获取当前(温度、CPU、内存、硬盘)Raspberry Pi 的保姆级实用教程!

最编程 2024-04-12 09:44:53
...

在这里插入图片描述
本篇介绍如何使用Python编写一个能输出树莓派各种状态和数据的脚本,包括CPU温度、CPU占用情况、内存占用情况和硬盘占用。

step1 建立脚本:(我是在 /home/pi 目录建立的)

sudo nano get.py

step2 贴入如下代码:

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))

step3 然后执行:

chmod +x get.py
python get.py

step4 预期显示

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%

step5 给命令设置快捷方式

   通过sudo nano或者vim更改~/.bashrc或/etc/bashrc
   两者的区别,前者是针对单用户,后者针对全局用户。
sudo nano ~/.bashrc

在.bashrc里面添加如下命令:

alias wd='python3 /home/pi/get.py'

记得ctrl+o保存 确认回车后 ctrl+x退出

source ~/.bashrc #重新加载配置文件使之生效

step6 预期结果

wd #回车
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%

有参考https://shumeipai.nxez.com/2014/10/04/get-raspberry-the-current-status-and-data.html