树莓派4-温控风扇
=
## 1.准备材料杜邦线,三极管,风扇,络铁等

**E接风扇黑线,B接杜邦线,C接树莓派GNO接口(14)**
## 2.开始焊接,手工活



## 3.python3脚本
**安装python3 gpio库**
```python
sudo apt-get update
sudo apt-get install python3-rpi.gpio
# pyhton2 : sudo apt-get install python-rpi.gpio
#创建一个文件fan
mkdir fan
cd fan
```
```
**编写python3 脚本**
**创建文件auto_fs.py**
```language
nano auto_fs.py
```
**auto_fs.py**
```python
#!/usr/bin/python3
# -*-coding:utf-8-*-
# 树莓派 根据温度自动启动或停用风扇
import RPi.GPIO as GPIO
import time
FAN=14 #BCM引脚编号
GPIO.setmode(GPIO.BCM)
GPIO.setup(FAN,GPIO.OUT)
GPIO.output(FAN,GPIO.HIGH)
# 设置风扇
def set_fan(value):
print('设置风扇(BCM14)电平状态:',value)
GPIO.output(FAN,value)
pass
def main():
while True:
file = open("/sys/class/thermal/thermal_zone0/temp")
# 读取结果,并转换为浮点数
temp = float(file.read()) / 1000
# 关闭文件
file.close()
print("温度: %.1f" %temp)
if temp>45:
set_fan(0)#低电平,为开启风扇
elif temp<=42:
set_fan(1)#高电平,为关闭风扇
time.sleep(10)
if __name__ == '__main__':
main()
```
```language
#添加执行权限
sudo chmod +x auto_fs.py
```
## 4.开机启动
**方法一**
修改 /etc/rc.local文件 exit 0 之前添加
```language
#风扇温控脚本
python3 /home/pi/fan/auto_fs.py &
```
**方法二**
创建fan.service
```language
[Unit]
Description = Temperature control
After = rc-local.service
[Service]
Type = simple
User = root
Group = root
WorkingDirectory = /home/pi/fan/
ExecStart = /usr/bin/sudo python3 auto_fs.py
Restart = always
[Install]
WantedBy = multi-user.target
```
```language
#添加执行权限
sudo chmod +x fan.service
```
```language
#添加开机启动
sudo systemctl enable fan.service
#启动服务
sudo systemctl start fan.service
#查看服务状态
sudo systemctl status fan.service
```
## 5.重启测试
```language
sudo reboot
```
=
## 1.准备材料杜邦线,三极管,风扇,络铁等

**E接风扇黑线,B接杜邦线,C接树莓派GNO接口(14)**
## 2.开始焊接,手工活



## 3.python3脚本
**安装python3 gpio库**
```python
sudo apt-get update
sudo apt-get install python3-rpi.gpio
# pyhton2 : sudo apt-get install python-rpi.gpio
#创建一个文件fan
mkdir fan
cd fan
```
```
**编写python3 脚本**
**创建文件auto_fs.py**
```language
nano auto_fs.py
```
**auto_fs.py**
```python
#!/usr/bin/python3
# -*-coding:utf-8-*-
# 树莓派 根据温度自动启动或停用风扇
import RPi.GPIO as GPIO
import time
FAN=14 #BCM引脚编号
GPIO.setmode(GPIO.BCM)
GPIO.setup(FAN,GPIO.OUT)
GPIO.output(FAN,GPIO.HIGH)
# 设置风扇
def set_fan(value):
print('设置风扇(BCM14)电平状态:',value)
GPIO.output(FAN,value)
pass
def main():
while True:
file = open("/sys/class/thermal/thermal_zone0/temp")
# 读取结果,并转换为浮点数
temp = float(file.read()) / 1000
# 关闭文件
file.close()
print("温度: %.1f" %temp)
if temp>45:
set_fan(0)#低电平,为开启风扇
elif temp<=42:
set_fan(1)#高电平,为关闭风扇
time.sleep(10)
if __name__ == '__main__':
main()
```
```language
#添加执行权限
sudo chmod +x auto_fs.py
```
## 4.开机启动
**方法一**
修改 /etc/rc.local文件 exit 0 之前添加
```language
#风扇温控脚本
python3 /home/pi/fan/auto_fs.py &
```
**方法二**
创建fan.service
```language
[Unit]
Description = Temperature control
After = rc-local.service
[Service]
Type = simple
User = root
Group = root
WorkingDirectory = /home/pi/fan/
ExecStart = /usr/bin/sudo python3 auto_fs.py
Restart = always
[Install]
WantedBy = multi-user.target
```
```language
#添加执行权限
sudo chmod +x fan.service
```
```language
#添加开机启动
sudo systemctl enable fan.service
#启动服务
sudo systemctl start fan.service
#查看服务状态
sudo systemctl status fan.service
```
## 5.重启测试
```language
sudo reboot
```


