在这篇文章里我将为你展示如何使用Python做一个简单的程序来监视你的树莓派温度。可能你还不知道,树莓派内置了一个传感器你可以用来获取树莓派的CPU和GPU温度。
这对于保护你的设备非常有用,举个例子:你可以在树莓派温度过高的时候关掉它或者在温度过热的时候报警。
[amazon_link asins=’B07BJ53TVT,B01CZWWERC,B01FZ7UN8G’ template=’CopyOf-ProductGrid’ store=’boyd-23′ marketplace=’CN’ link_id=”]
首先,要获取树莓派的温度,你可以用下面的Python小程序:
import commands def get_cpu_temp(): tempFile = open( "/sys/class/thermal/thermal_zone0/temp" ) cpu_temp = tempFile.read() tempFile.close() return float(cpu_temp)/1000 # Uncomment the next line if you want the temp in Fahrenheit #return float(1.8*cpu_temp)+32 def get_gpu_temp(): gpu_temp = commands.getoutput( '/opt/vc/bin/vcgencmd measure_temp' ).replace( 'temp=', '' ).replace( '\'C', '' ) return float(gpu_temp) # Uncomment the next line if you want the temp in Fahrenheit # return float(1.8* gpu_temp)+32 def main(): print "CPU temp: ", str(get_cpu_temp()), "C" print "GPU temp: ", str(get_gpu_temp()), "C" if __name__ == '__main__': main()
这里面有两个方法:get_cpu_temp 和 get_gpu_temp。它们俩都返回一个float型的摄氏温度值。(如果你想使用华氏温度,打开里面的两行注释)。现在,让我们把所有信息输出到树莓派LCD屏上吧。
结果是这样的:
原作者已经把完整的Python程序上传到了dropbox上:
https://www.dropbox.com/s/e04v8vnus1hwrm0/rpy_cpu_gpu_temp.py
木有LCD屏幕?没关系,我们在命令行里运行一下,把上面的代码保存成一个py文件,例如
cpu.py
然后利用scp或者ftp上传到树梅派上,然后ssh到树梅派上,用下面的命令运行:
python cpu.py
之后就能看到结果啦。