#!/usr/bin/env python import os import time # show raspberry temperature,CPU,memory def getCPUtemp(): temp = os.popen('vcgencmd measure_temp').readline() tempfloat = float(temp.replace('temp=','').replace('\'C\n','')) print 'CPU Temperature is now %.1f Centigrade' %tempfloat if tempfloat > 60: print 'CPU Temperature is too high, pls cool it down' def getCPUusage(): #calculate CPU with two short time, time2 - time1 time1 = os.popen('cat /proc/stat').readline().split()[1:5] time.sleep(0.2) time2 = os.popen('cat /proc/stat').readline().split()[1:5] deltaUsed = int(time2[0])-int(time1[0])+int(time2[2])-int(time1[2]) deltaTotal = deltaUsed + int(time2[3])-int(time1[3]) cpuUsage = float(deltaUsed)/float(deltaTotal)*100 print 'CPU Usage is now %.1f' %cpuUsage +'%' def getRAM(): #get RAM as list,list[7],[8],[9]:total,used,free RAM = os.popen('free').read().split()[7:10] #convert kb in Mb for readablility RAM0 = float(RAM[0])/1024 print 'RAM Total is %.1f MB' %RAM0 RAM1 = float(RAM[1])/1024 percent = RAM1/RAM0*100 print 'RAM Used is %.1f MB, %.2f' %(RAM1,percent) +'%' RAM2 = float(RAM[2])/1024 print 'RAM Free is %.1f MB' %RAM2 def getDisk(): #get Disk information,DISK[8],[9],[10],[11]:Size, Used. free, Used % DISK = os.popen('df -h /').read().split()[8:12] print 'Disk total space is %s ' %DISK[0] print 'Disk Used space is %s ' %DISK[1] +'and is %s' %DISK[3] print 'Disk Free space is %s ' %DISK[2] while True: print '\n-------------SysInfo-----------------\n' getCPUtemp() getCPUusage() getRAM() getDisk() print '\n-------------------------------------\n' time.sleep(5)