Aus Raspberry Pi Geek 05/2014

Gewächshaus mit dem Raspberry Pi automatisieren (Seite 4)

Um zu prüfen, ob die Installation von Apache und PHP erfolgreich war, erzeugen Sie mit der Zeile aus Listing 8 ein kleines PHP-Testskript. Über die URL http://RasPI-IP/phpinfo.php kontrollieren Sie danach die Installation. Die IP-Adresse verrät Ihnen entweder ipconfig oder zur Not die Bildschirmausgabe beim Booten des Raspbian-Systems.

Listing 8

 

$ echo '<?php phpinfo();?>' | sudo tee -a /var/www/phpinfo.php

Skripte und Cronjobs

Zum Abschluss gilt es nun, das Zusammenspiel aller Komponenten zu orchestrieren. Die Arbeit übernehmen einige durch Cronjobs getriggerte PHP-Skripte, die Sie auf der Heft-DVD finden und von dort nach /var/www/ kopieren. Alternativ holen Sie sich die Skripte per wget aus unserem Download-Bereich und entpacken sie direkt in das Datenverzeichnis des Webservers (Listing 9).

Listing 9

 

$ wget ftp://ftp.raspi-geek.de/2014/05/raspi-greenhouse.tar.gz
$ sudo tar xzf raspi-greenhouse.tar.gz -C /var/www/
$ sudo www-data:www-dara /var/www/*.php

Die von uns entwickelten Skripte umfassen sensor.php, das jede Minute die Sensordaten ausliest und in die Datenbank schreibt. Ein zweiter Cronjob ruft alle fünf Minuten luefter.php zum Steuern der am Dach angebrachten Lüfter auf.

Der Algorithmus arbeitet nach einer recht einfachen Logik: Erreicht die Temperatur im Glashaus einen im Skript definierten maximalen Wert, starten die Lüfter auf Minimaldrehzahl. Liegt die Temperatur beim nächsten Durchlauf des Skripts immer noch zu hoch, steigern wir die Drehzahl der Lüfter. Sobald die Temperatur den unteren Grenzwert unterschreitet, stoppen wir die Lüfter komplett: Das Gewächshaus soll ja nicht unnötig auskühlen.

In luefter.php tragen Sie die PWM-Werte ein, die Sie zuvor beim Test der Lüfter ermittelt haben. Auch die kritische Temperatur, ab der die Lüfter anlaufen sollen, müssen Sie an die lokalen Gegebenheiten anpassen.

Damit die Pflanzen nicht verdursten, sorgen zwei weitere Cronjobs und die damit verbundenen Skripte für eine regelmäßige Bewässerung. Das allabendliche Ausführen von pumpean.php startet die Pumpe, pumpeaus.php stellt sie nach ein paar Minuten wieder ab. Damit unsere Greenhouse-IT nicht einfach nur stumm vor sich hin werkelt, bietet Ihnen die index.php eine Übersicht der aktuellen Klimadaten des Gewächshauses sowie eine kleine Historie mit den Daten des Vortags an.

Für Letzteres startet jede Nacht history.php durch einen letzten Cronjob. Das Skript schreibt für jede Stunde einen gemittelten Datensatz in die Datenbanktabelle history. Danach löscht es die ursprünglich minütlich gesammelten Daten. Dieses Verfahren reduziert das Datenaufkommen pro Sensor und Tag von 1440 auf 24 Datensätze, um den Speicherplatz im RasPi nicht zu überfluten.

Die genannten Cronjobs tragen Sie am besten gesammelt als raspi-greenhouse-cron unter /etc/cron.d ein. Listing 10 lädt das Cron-Skript aus dem Netz, schiebt die Datei in den richtigen Ordner und macht sie ausführbar. Passen Sie die Schaltzeiten der Pumpe bitte an die Bedürfnisse Ihrer Pflanzen an. Die Wikipedia erklärt Ihnen sehr gut die Syntax eines Cronjobs [4].

Ein wenig eleganter wäre es, nicht für jeden Aufruf Root-Rechte zu nutzen, da nur loldht eine erhöhte Berechtigung erfordert. Diese Vereinfachung sei uns aber aufgrund der geringen Sicherheitsanforderungen an eine Gewächshaussteuerung vergeben.

Listing 10

 

$ wget ftp://ftp.raspi-geek.de/2014/05/raspi-greenhouse-cron
$ sudo mv raspi-greenhouse-cron /etc/cron.d
$ sudo chmod +x /etc/cron.d/raspi-greenhouse-cron

Ausblick

Nachdem nun Hard- und Software harmonieren und unser Raspberry Pi seinen grünen Daumen beweisen darf, machen wir uns Gedanken, in welche Richtung wir unser RasPi-Gartenhaus weiterentwickeln.

So ließe sich die Statusseite noch ein wenig schicker und informativer gestalten. Sicherlich wäre es auch keine schlechte Idee, die Drehzahl der Motoren zu überwachen und eine Warnung zu generieren, falls einer der Lüfter ausfällt. Eine Webcam könnte das Wachsen der Pflanzen von Tag zu Tag im Bild festhalten.

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 6 HeftseitenPreis €0,99
(inkl. 19% MwSt.)
RASPBERRY PI GEEK KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS Raspberry Pi Geek bei Google Play Readly Logo
Nach oben