使用的是从树梅派的GPIO的7脚引出控制电路
我把三极管的正负极接翻了,但它还是依然工作了。
#!/usr/bin/python
# -*-coding:utf-8 -*-
# use python 2.7
import RPi.GPIO as GPIO
import time # 导入time模块
import commands
GPIO.setmode(GPIO.BOARD) #gpio采用board编号
GPIO.setup(7, GPIO.IN) #7口输入
cpu_temp = 0 # 温度变量
gpu_temp = 0 # 温度变量
fan = "OFF" # 风扇变量
def get_cpu_temp():
file = open( "/sys/class/thermal/thermal_zone0/temp" ) # 打开CPU温度缓存文件
cpu_temp = float( file.read( ) ) / 1000 # 读取结果,并转换为浮点数/1000
file.close( ) # 关闭文件
return cpu_temp
def get_gpu_temp():
gpu_temp = commands.getoutput( '/opt/vc/bin/vcgencmd measure_temp' ).replace( 'temp=', '' ).replace( '\'C', '' )
return float(gpu_temp)
while (1): # 此处设置循环
cpu_temp = str(get_cpu_temp())
gpu_temp = str(get_cpu_temp())
if ( cpu_temp > 50 and fan == "OFF"): # 如果>50C
GPIO.setup(7, GPIO.OUT, initial=GPIO.LOW) #7口输出
fan = "ON"
elif( cpu_temp < 40 and fan == "ON" ): #如果小于40度
GPIO.setup(7, GPIO.IN) #7口输入,就是不输出了呗,因为高电平低电平都能驱动三极管。
fan = "OFF"
timenow = time.strftime( "%H:%M:%S", time.localtime( ) ) # 时间
print timenow + " CPU temp:" + cpu_temp + "C ; GPU temp:" + gpu_temp + "C ; FAN is " + fan # 时间+温度
time.sleep(10) # 间隔10秒
使用的是从树梅派的GPIO的7脚引出控制电路
#!/usr/bin/python
# -*-coding:utf-8 -*-
# use python 2.7
import RPi.GPIO as GPIO
import time # 导入time模块
import commands
GPIO.setmode(GPIO.BOARD) #gpio采用board编号
GPIO.setup(7, GPIO.IN) #7口输入
cpu_temp = 0 # 温度变量
gpu_temp = 0 # 温度变量
fan = "OFF" # 风扇变量
def get_cpu_temp():
file = open( "/sys/class/thermal/thermal_zone0/temp" ) # 打开CPU温度缓存文件
cpu_temp = float( file.read( ) ) / 1000 # 读取结果,并转换为浮点数/1000
file.close( ) # 关闭文件
return cpu_temp
def get_gpu_temp():
gpu_temp = commands.getoutput( '/opt/vc/bin/vcgencmd measure_temp' ).replace( 'temp=', '' ).replace( '\'C', '' )
return float(gpu_temp)
while (1): # 此处设置循环
cpu_temp = str(get_cpu_temp())
gpu_temp = str(get_cpu_temp())
if ( cpu_temp > 50 and fan == "OFF"): # 如果>50C
GPIO.setup(7, GPIO.OUT, initial=GPIO.LOW) #7口输出
fan = "ON"
elif( cpu_temp < 40 and fan == "ON" ): #如果小于40度
GPIO.setup(7, GPIO.IN) #7口输入,就是不输出了呗,因为高电平低电平都能驱动三极管。
fan = "OFF"
timenow = time.strftime( "%H:%M:%S", time.localtime( ) ) # 时间
print timenow + " CPU temp:" + cpu_temp + "C ; GPU temp:" + gpu_temp + "C ; FAN is " + fan # 时间+温度
time.sleep(10) # 间隔10秒