树莓派温度自动控制风扇自动启停

请注意,本文编写于 150 天前,最后修改于 150 天前,其中某些信息可能已经过时。

树莓派的风扇一直开着会比较吵,所以用三极管使树莓派能通过gpio来控制风扇的启停,然后写一个Python脚本开机启动,实现温度较高时启动风扇,较低时关闭。

  • 硬件连接

风扇电路图.png
风扇电路图.png

  • py代码
#!/usr/bin/python3
#coding:utf8
#自动风扇控制程序,使用wiringPi的gpio命令来操作GPIO
import time
import RPi.GPIO as GPIO 
#控制风扇的GPIO
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BCM)
FAN_GPIO=14
GPIO.setup(14,GPIO.OUT)
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)
    print(cpu_temp)
    #如果温度大于50`C,就启动风扇
    if cpu_temp>=50.0 :
        GPIO.output(14, GPIO.LOW) 
        
    #如果温度小于42.5`C,就关闭风扇
    if cpu_temp<42.5 :
        GPIO.output(14, GPIO.HIGH) 
    time.sleep(5)

脚本命名为fan_speed.py,放在/home/pi,然后编辑开机启动脚本:

sudo vim /ect/rc.local
/usr/bin/python3 /home/pi/fan_speed.py > /home/pi/fan_speed.log

由于寝室一般11点熄灯,设置一下cron在每天10点59分自动关机:

sudo vim /etc/crontab
59 22 * * * root /sbin/shutdown -h now

终端温度查看:

/opt/vc/bin/vcgencmd measure_temp

添加新评论