Scripts Python pour gérer le ventilateur d'un Pi 4
Publié : 19 oct. 2024, 19:20
Bonjour,
J'ai acheté deux boitiers ventilé compatible avec le pilotage (3 fils : noir masse, rouge 5V, bleu régulation).
Le fabricant de ce boitier :
https://wiki.52pi.com/index.php?spm=a2g ... le=ZP-0140 ou
https://wiki.52pi.com/index.php?spm=a2g ... le=ZP-0141 propose un script Py que j'ai légèrement corrigé (ventilation au repos en dessous de 45°, a partir de 45° a 66%, et au dessus de 60° le ventilateur est a 100% avec une pause de 60 secondes entre chaque mesure)
A activer dans "raspi-config":
4 Performance Option -> P3 Fan -> Oui -> 14 (GPIO) -> 60 (degrés) -> Oui et Reboot
pour qu'il se lance au démarrage :
sudo nano /etc/rc.local
et coller " python3 fan_control.py " puis faire "CTRL+X" "O" "Entrer" pour enregistrer
Enfin un ventilateur qui fonctionne lorsque c'est nécessaire
Edit,
en cas d'erreur des GPIO avec le kernel 6.6
J'ai acheté deux boitiers ventilé compatible avec le pilotage (3 fils : noir masse, rouge 5V, bleu régulation).
Le fabricant de ce boitier :
https://wiki.52pi.com/index.php?spm=a2g ... le=ZP-0140 ou
https://wiki.52pi.com/index.php?spm=a2g ... le=ZP-0141 propose un script Py que j'ai légèrement corrigé (ventilation au repos en dessous de 45°, a partir de 45° a 66%, et au dessus de 60° le ventilateur est a 100% avec une pause de 60 secondes entre chaque mesure)
Code : Tout sélectionner
#fan_control.py
#!/usr/bin/python3
import RPi.GPIO as GPIO
import time
import subprocess
GPIO.setmode(GPIO.BCM)
GPIO.setwarnings(False)
GPIO.setup(14, GPIO.OUT)
pwm = GPIO.PWM(14,100)
print("\nPress Ctrl+C to quit \n")
dc = 0
pwm.start(dc)
try:
while True:
temp = subprocess.getoutput("vcgencmd measure_temp|sed 's/[^0-9.]//g'")
if round(float(temp)) >= 60:
dc = 100
pwm.ChangeDutyCycle(dc)
print("CPU Temp:",float(temp)," ventilateur a % ",dc)
time.sleep(60.0)
if round(float(temp)) >= 45:
dc = 66
pwm.ChangeDutyCycle(dc)
print("CPU Temp:",float(temp)," ventilateur a % ",dc)
time.sleep(60.0)
else:
dc = 0
pwm.ChangeDutyCycle(dc)
print("CPU Temp:",float(temp)," ventilateur au repos",dc)
time.sleep(60.00)
except KeyboardInterrupt:
pwm.stop()
GPIO.cleanup()
print("Ctrl + C pressed -- Ending program")
4 Performance Option -> P3 Fan -> Oui -> 14 (GPIO) -> 60 (degrés) -> Oui et Reboot
pour qu'il se lance au démarrage :
sudo nano /etc/rc.local
et coller " python3 fan_control.py " puis faire "CTRL+X" "O" "Entrer" pour enregistrer
Enfin un ventilateur qui fonctionne lorsque c'est nécessaire
Edit,
en cas d'erreur des GPIO avec le kernel 6.6
Code : Tout sélectionner
sudo apt remove python3-rpi-lgpio
sudo apt install python3-rpi.gpio