Alle Anleitungen ohne Gewähr! Verwendung auf eigenen Gefahr!
Immer wieder mal verbaue ich einenRaspberry Pi in ein enges (warmes) Gehäuse. Hier wird eine einfache Lüftersteuerung erläutert, die ab einer bestimmten Boardtemperatur einen Lüfter schaltet. Es werden keinerlei zusätzlichen Bibliotheken verwendet, ein „Raspbian-Lite-Image“ reicht völlig.
Anschluss
5V Raspberry (USB o. GPIO-Pin) → Lüfter (+)
GND Raspberry (GPIO-Pin) → Transistoremitter
Transistorcollector → Lüfter (-)
GPIOx (3,3V) → über Widerstand → Transistorbasis
Die 5 Volt können entweder von der GPIO-Leiste oder auch von einem USB-Port gezapft werden, der GPIO schafft das locker bei einem kleinen Lüfter…
Die ganze Steuerung übernimmt ein einziges Shellskript, dass beim Start geladen wird und endlos durchläuft. Die einzigen Parameter, die man anpassen kann, sind:
sudo nano /home/pi/lueftersteuerung.sh
#!/bin/sh
#Bei Strg-C Cleanup fuer verwendeten GPIO
trap 'echo --- Lueftersteuerung beendet ---; echo "21">/sys/class/gpio/unexport; exit 1' 2
# GPIO setzen (21)
echo "21">/sys/class/gpio/export
echo "out">/sys/class/gpio/gpio21/direction
#Initiales Ein- und Ausschalten des Luefters (kleiner Funktionstest beim einschalten des Pi)
echo "1">/sys/class/gpio/gpio21/value #Luefter ein
sleep 5s #5 Sekunden laufen lassen
echo "0">/sys/class/gpio/gpio21/value #Luefter aus
meldetemp=50 #Ab dieser Temperatur Luefter einschalten
while true # Endlos laufen
do
boardtemp=`vcgencmd measure_temp | cut -c6,7` #Boardtemperatur als ganze Zahl lesen
if [ $boardtemp -ge $meldetemp ] #wenn Boardtemperatur ueber Limit
then
echo "Boardtemperatur: $boardtemp -> Luefter ein!"
echo "1">/sys/class/gpio/gpio21/value
fi
if [ $boardtemp -le $meldetemp ] #wenn Boardtemperatur unter Limit
then
echo "Boardtemperatur: $boardtemp -> Luefter aus!"
echo "0">/sys/class/gpio/gpio21/value
fi
sleep 15s #neuer Durchlauf in 15 Sekunden, Minimumlaufzeit des Lüfters
done
Skript ausführbar machen: sudo chmod +x /home/pi/lueftersteuerung.sh
Danach das Skript starten lassen beim Systemstart, am einfachsten z.B. sudo crontab -e → @reboot /home/pi/lueftersteuerung.sh