树莓派自控风扇


简介

树莓派4b的自控风扇

主要信息

系统: Debian-Pi-Aarch64 2020-06-22-v2020-2.0-U4-Release BaseOS Plus++
三极管:S8050 NPN
连接线:杜邦线公对母,母对母

连接方式

风扇正极->5V
风扇负极->S8050 C
S8050-B-> Pi Pin12
S8050-E-> Pi GND

安装相应包

sudo apt-get install python-pip python-dev

pip install RPi.GPIO spidev

控制程序

#!/usr/bin/env python
# encoding: utf-8
import RPi.GPIO as GPIO
import time
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BOARD)
GPIO.setup(12, GPIO.OUT)
pwm = GPIO.PWM(12, 100)
GPIO.setwarnings(False)
speed = 0
now_temp = 0
pwm.start(100)
logfile=open('/tmp/auto_temp.log','a')

def get_temp():
    tmpFile = open( '/sys/class/thermal/thermal_zone0/temp')
    temp=float(tmpFile.read())/1000
    tmpFile.close()
    return temp

while True:
    now_temp=get_temp()
    logfile.write(time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time()))+"   now_temp: "+str(now_temp)+"  speed:")
    if now_temp>=34:
        speed=min(int(now_temp-34)*5,100)
        logfile.write(str(speed)+'\n')
        logfile.flush()
        pwm.ChangeDutyCycle(speed)
    time.sleep(5)

开机自启

/etc/systemd/system/auto_temp.service

[Unit]
Description=Auto temp Service
After=network.target

[Service]
Type=simple
User=pi
ExecStart=python /home/pi/auto_temp.py
Restart=on-failure
SuccessExitStatus=3 4
RestartForceExitStatus=3 4

[Install]
WantedBy=multi-user.target
systemctl daemon-reload

systemctl enable auto_temp

systemctl start auto_temp

文章作者: xyzz
文章链接: http://www.xyzzpwn.top
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 xyzz !
 上一篇
debian10关于dhcp renew失败的修复 debian10关于dhcp renew失败的修复
简介更换了新的宿主机之后,发现debian的dhcp 在renew的环节中会出现问题以下是修复方案 dhclient进程系统的dhclient进程命令为 /sbin/dhclient -4 -v -i -pf /run/dhclient.e
2020-10-10
下一篇 
esxi迁移虚拟机 esxi迁移虚拟机
简介原来的esxi进行淘汰处理,需要将里面数据迁移出来,等新的服务器到了迁移过去esxi: 122t raid6备份机器: 7t hdd新esxi:82t raid6 虚拟机先发现资源池和vm ovftool vi://root:{
2020-09-28
  目录