Inhaltsverzeichnis

Raspberry Lüftersteuerung

Vorwort

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.

Hardware

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…

Shellskript

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