Cách này đơn giản nhất, chỉ cần thêm cấu hình vào file /boot/firmware/config.txt.
Quạt sẽ tự bật khi nhiệt độ vượt ngưỡng bạn đặt (ví dụ 60°C)
Mở file cấu hình:
sudo nano /boot/firmware/config.txt
Thêm dòng sau vào cuối file:
dtoverlay=gpio-fan,gpiopin=14,temp=60000
Lưu file → khởi động lại:
sudo reboot
Giải thích:
gpio-fan = driver điều khiển quạt của Pi
gpiopin=14 = chân GPIO điều khiển (có thể đổi: 14, 15, 18…)
temp=60000 = 60°C (đơn vị: millidegree → 60000 = 60°C)
Nếu muốn quạt bật ở nhiệt độ khác:
50°C → temp=50000
70°C → temp=70000
vcgencmd measure_temp
Chạy trong một vòng lặp (while true):
while true; do
vcgencmd measure_temp
sleep 3
done
Hoặc dùng watch:
màn hình cập nhật liên tục 2 giây/lần:
watch vcgencmd measure_temp
Cập nhật 1 lần/giây:
watch -n 1 vcgencmd measure_temp
Cách này linh hoạt nếu bạn muốn bật quạt theo nhiều mức nhiệt.
1. Tạo script:
sudo nano /usr/local/bin/fan-control.sh
Dán nội dung:
#!/bin/bash
PIN=14
gpio -g mode $PIN out
while true; do
TEMP=$(vcgencmd measure_temp | egrep -o '[0-9]*\.[0-9]*')
if (( $(echo "$TEMP >= 55" | bc -l) )); then
gpio -g write $PIN 1
elif (( $(echo "$TEMP <= 50" | bc -l) )); then
gpio -g write $PIN 0
fi
sleep 5
done
2. Cho phép chạy:
sudo chmod +x /usr/local/bin/fan-control.sh
3. Tạo service để script chạy tự động:
sudo nano /etc/systemd/system/fan-control.service
Nội dung:
[Unit]
Description=Fan Control Service
[Service]
ExecStart=/usr/local/bin/fan-control.sh
[Install]
WantedBy=multi-user.target
4. Kích hoạt service:
sudo systemctl daemon-reload
sudo systemctl enable fan-control
sudo systemctl start fan-control