蒹葭苍苍,白露为霜。
所谓伊人,在水一方。

树莓派风扇控制:使用 Python 脚本控制 GPIO 风扇

我们会使用 Python 脚本控制 GPIO 风扇,然后用 systemd 设置开机自启服务。


✅ 第一步:Python 脚本

将以下脚本保存为:
/home/pi/fan_control.py

#!/usr/bin/env python3
import RPi.GPIO as GPIO
import time

FAN_PIN = 18 # 根据你的接线调整 GPIO 引脚
TEMP_THRESHOLD = 45.0 # 触发风扇的温度(摄氏度)

GPIO.setmode(GPIO.BCM)
GPIO.setup(FAN_PIN, GPIO.OUT)

def get_cpu_temp():
with open("/sys/class/thermal/thermal_zone0/temp", "r") as f:
return int(f.read()) / 1000

try:
while True:
temp = get_cpu_temp()
if temp >= TEMP_THRESHOLD:
GPIO.output(FAN_PIN, GPIO.HIGH)
else:
GPIO.output(FAN_PIN, GPIO.LOW)
time.sleep(5)
except KeyboardInterrupt:
pass
finally:
GPIO.cleanup()

给脚本执行权限:

chmod +x /home/pi/fan_control.py

✅ 第二步:创建 systemd 服务

创建一个 systemd 单元文件:

sudo nano /etc/systemd/system/fancontrol.service

粘贴以下内容:

[Unit]
Description=GPIO Fan Control Service
After=multi-user.target

[Service]
ExecStart=/usr/bin/python3 /home/pi/fan_control.py
Restart=always
User=pi

[Install]
WantedBy=multi-user.target

✅ 第三步:启用并启动服务

sudo systemctl daemon-reexec
sudo systemctl daemon-reload
sudo systemctl enable fancontrol.service
sudo systemctl start fancontrol.service

✅ 检查状态

systemctl status fancontrol.service

如果看到 Active: active (running),说明脚本已经运行。


✅ 附加说明

  • 风扇接 GPIO18 和 GND;
  • 可以根据需要修改脚本中的 GPIO 引脚和温度;
  • 如果你用的不是 pi 用户,需要修改 service 中的 User= 行。
赞(0) 打赏
未经允许不得转载:酷居科技 » 树莓派风扇控制:使用 Python 脚本控制 GPIO 风扇

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

锦瑟无端五十弦,一弦一柱思华年

酷居科技联系我们

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏