Lüftersteuerung mit Python

Eigentlich ist eine Kühlung des Raspberry Pi recht überflüssig, aber eine nette Spielerei ist es trotzdem. Ich habe ein kleine Gehäuse samt Mini-Lüfter erstanden und gleich ausprobiert. Zum Gehäuse gibt’s nicht viel zu sagen: fünf Plastikscheiben die übereinander gestapelt werden mit einer Aussparung für den mitgelieferten Mini-Lüfter über dem SoC. Ist das Gehäuse zusammengebaut und der Lüfter montiert, so kann der Steckverbinder einfach auf die Pins 2 und 4 des J8-Headers gesteckt werden. Damit ist er dauerhaft mit 5 V versorgt und läuft eben auch dauerhaft. Wobei der kleine Motor auch wirklich geräuscharm und kaum hörbar ist. Doch welcher Bastler gibt sich damit zufrieden…?

Schöner ist es doch, wenn man den Lüfter nur starten lassen kann, sofern es notwendig ist. Dazu muss zuerst eine kleine Schaltung aus Widerstand und einem Transistor aufgebaut werden. Hier reicht das Wald-und-Wiesen-Bauteil-BC547 und ein 1kOhm-Transistor in der Basis. Das Ganze kann auf einem kleinen Stück Streifenrasterplatine aufgebaut werden. Nun kann auch schon das Python-Programm geschrieben werden. Ich habe dazu einen einfachen Durchlauf geschrieben, der später regelmäßig per Cronjob aufgerufen wird. Das Programm prüft ob die CPU-Temperatur größer oder gleich 50 °C beträgt. Ist dies der Fall, so wird der Lüfter für zwei Minuten eingeschaltet. Danach beendet sich das Programm wieder.

import commands, time
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BOARD)
GPIO.setup(8, GPIO.OUT)
GPIO.output(8, GPIO.LOW)

temp= commands.getoutput("/opt/vc/bin/vcgencmd measure_temp")
temp = temp[5:-2]

if float(temp) >= 50:
  GPIO.output(8, GPIO.HIGH)
  time.sleep(120)
  GPIO.output(8, GPIO.LOW)

Das Programm kann nun z.B. unter dem Namen „fan.py“ abgespeichert werden. Öffnet nun den Crontab-Editor mit

crontab -e

Sofern das Programm unter „/home/pi/“ abgelegt wird, lautet der Crontab-Eintrag wie folgt:

*/15 * * * * python /home/pi/fan.py

Mit diesem Eintrag, wird alle 15 Minuten das Python-Programm aufgerufen.

Das Gehäuse für den Raspberry Pi 2 / B+, samt Lüfter habe ich bei Amazon für knapp 15€ entdeckt. [Amazon-Link]

2 Gedanken zu „Lüftersteuerung mit Python“

    1. Hallo Markus,

      generell ja, das ist richtig.
      Bei dem im Lüfter verbauten Motor handelt es sich allerdings um ein brushless Modell. Bürstenlose Motoren haben eine interne Elektronik. Die internen Dioden reichen in der Regel aus. Da dieser Mini-Lüfter eine sehr geringe Totzeit besitzt, habe ich die Angelegenheit als unkritisch eingeschätzt.
      Sicherlich kann aber eine externe Diode nicht schaden ;-)

      Gruß
      Christoph

Kommentare sind geschlossen.