1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | 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 #如果你想使用华氏温度,打开注释 #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) #如果你想使用华氏温度,打开注释 # return float(1.8* gpu_temp)+32 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | #!/usr/bin/env python # -*- coding: utf-8 -*- #导入 SAKS SDK 模块 from sakshat import SAKSHAT import time import commands #Declare the SAKS Board,定义一个SAKS对象 SAKS = SAKSHAT() #返回浮点型的CPU温度 def get_cpu_temp(): tempFile = open( "/sys/class/thermal/thermal_zone0/temp" ) cpu_temp = tempFile.read() tempFile.close() return float(cpu_temp) / 1000 #如果你想使用华氏温度,打开注释 #return float(1.8*cpu_temp)+32 #主程序入口 if __name__ == "__main__": while True: t = get_cpu_temp() #如果你希望实时温度的数值输出在屏幕上请取消下面的注释 #print("%.2f" % t) #调用SAKS的数码管对象(digital_display),让他按照指定格式显示(show)温度数值 SAKS.digital_display.show("%.2f" % t) #这里暂时设定为50度警报响起 if t > 50: #调用SAKS的蜂鸣器对象(buzzer),让他按照按照一定的频率发出警报(beepAction),下面的参数是以2毫秒的间隔鸣响30次 SAKS.buzzer.beepAction(0.02,0.02,30) time.sleep(1) input("Enter any keys to exit...") |
1 2 3 4 | git clone https://github.com/spoonysonny/SAKS-tutorials.git cd SAKS-tutorials cd CPU-temperature-display sudo python main.py |
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) | Powered by Discuz! 7.0.0 |