de gb

 

Bewässerungssystem - Seite 2

Raspberry Pi - Fortsetzung

Script / Programmcode

Jede Zeile vom Code zu erklären würde etwas den Rahmen sprengen. Deshalb beschreibe ich nur die Funktionen der einzelnen Dateien:

Dateiname Beschreibung
boot.py Ich hatte manchmal das Problem, das nach einem Neustart manche Relais unter einer Restspannung stehen. Mit dieser Datei werden sämtliche Relais stromlos gemacht. Außerdem wird die LED bei korrektem Datum ausgeschaltet.
led.py

Schaltet die Warn-LED, falls vorhanden. Wenn der Raspberry das aktuelle Datum samt Uhrzeit nicht aus dem Internet beziehen kann, befindet er sich im Jahre 1970 um 1:00 Uhr. Dies würde früher oder später zwar zu einer Bewässerung führen, jedoch nicht zu den gewünschten bzw. angegebenen Zeiten. Diese Datei prüft (stündlich, mittels crontab) den aktuellen Zeitpunkt und schaltet die LED ggf. AN. Während eines Neustarts leuchtet die LED ebenfalls, solange bis die Datei "boot.py" sich um die LED kümmert.

Man kann diese Datei erweitern, beispielsweise wenn man einen Füllstand Sensor für den Wasserbehälter verwenden will - bei niedrigem Wasserstand soll die LED leuchten. Mittels RGB-LED könnte man auch unterschiedliche Farben (gelb=fast leer; rot=leer) verwenden.

sensorkal.py

Dient zum Kalibrieren der Sensoren. Um den Prozentwert der Bodenfeuchtigkeitssensoren richtig zu berechnen ist es erforderlich den Maximalwert vom Sensor zu kennen. Dieser ist in der Theorie 1023, kann jedoch durch erhöhten Widerstand (Kabellänge, Lötstellen, usw.) kleiner sein. Einen Bodenfeuchtigkeitssensor in die Luft halten, so wird der geringste Widerstand ermittelt und der höchste Wert ausgegeben. Den Wert muss man dann in der Datei "waterpi.py" festlegen. Bei mir ist der Wert 918.

waterpi.py Der Kernstück des Bewässerungssystems! Ich habe in der Datei viele Kommentare gesetzt, somit sollte man (wenn man lesen kann) sich zurecht finden. Werte (z.B.: Pumpendauer) und Bezeichnungen (z.B.: Buchsbaum, Paprika, ..) einfach anpassen!
datenlog.log In dieser Datei erfolgt die Ausgabe von "waterpi.py". Die Ausgabe wurde so formatiert, dass diese leicht in MS Excel übernommen und als Diagramm dargestellt werden kann.
crontab

Mittels crontab werden die Scripte nach einem gewünschten Intervall oder zu einer bestimmten Zeit (z.B. um 7:00 und 20:00 Uhr) aufgerufen. Den Benutzer-crontab kann man mit dem Kommando crontab -e aufrufen. Folgende  Zeilen sind zu ergänzen:

@reboot /home/pi/boot.py
@hourly /home/pi/led.py
0 7 * * * /home/pi/waterpi.py
0 20 * * * /home/pi/waterpi.py

Danach ist ein Neustart von cron erforderlich: sudo /etc/init.d/cron restart

Download der Dateien als ZIP-Archiv.

 

Gehäuse für Elektronik (aus dem 3D-Drucker)

Da ich seit Oktober 2016 einen (kleinen) 3D-Drucker habe, war es nur logisch ein Gehäuse für die Elektronik-Komponenten zu drucken. Mein Design samt Anleitung habe ich auf Thingiverse veröffentlicht.

 

Ausgabe als Diagramm (mit MS Excel)

Das Datenlog ist vom Raspberry Pi zu kopieren und in der Excel-Datei (siehe unten) im Register "Datenlog" mittels Textkonvertierungs-Assistenten in Zeile 2, Spalte A einzufügen. Das Trennzeichen ist "Semikolon". Beim Schritt 3 muss man unter "Weitere...." das Dezimaltrennzeichen auf [Punkt] "." ändern, sonst werden die Bodenfeuchtigkeits-Werte als Datum formatiert.

Im Register "PivotTable+Diagramm" klickt man in eine Zelle und wechselt zu den "PivotTable-Tools". Dort klickt man im Register Optionen bei den Daten auf "Aktualisieren" bzw. "Alle aktualisieren".

Diagramm

Download der Microsoft-Excel Datei - "watering-Diagramm.xlsx" (Excel 2010 oder höher erforderlich!)

 

 

 

 

top

 

Diese Website nutzt Cookies, um bestmögliche Funktionalität bieten zu können.
weitere Informationen