众所周知,我们一般给Pi装的散热时都是自己插在电源上的,要转就一直转。最近一直在Pi上开个MC的服务器,Pi2的CPU温度在不开风扇时经常飙到50+,而一直开着风扇有太吵,所以就有了这个让树莓派自动控制风扇的东西。
原理
硬件上用三极管使树莓派能通过gpio来控制风扇的启停。然后在Pi上写一个很简单的Python小程序,实现温度较高时启动风扇,较低时关闭。
硬件连接
如图所示
软件部分
#!/usr/bin/python2
#coding:utf8
#自动风扇控制程序,使用wiringPi的gpio命令来操作GPIO
import commands, time
#控制风扇的GPIO
FAN_GPIO=15
commands.getoutput('sudo gpio mode '+str(FAN_GPIO)+' output')
while True:
# 获取CPU温度
tmpFile = open( '/sys/class/thermal/thermal_zone0/temp' )
cpu_temp_raw = tmpFile.read()
tmpFile.close()
cpu_temp = round(float(cpu_temp_raw)/1000, 1)
#如果温度大于45`C,就启动风扇
if cpu_temp>=45.0 :
commands.getoutput('sudo gpio write '+str(FAN_GPIO)+' 0')
#如果温度小于42`C,就关闭风扇
if cpu_temp<42.0 :
commands.getoutput('sudo gpio write '+str(FAN_GPIO)+' 1')
time.sleep(5)
温度判断部分使用了双阈值,防止老在临界点徘徊
0