TUTORIAL

Das voll-automatisierte Gewächshaus

 

Alle Informationen und Funktionen rund um das voll-automatisierte Gewächshaus findest du hier.

Das Schreiben des Programms und dieses Tutorials hat mich viel Mühe gekostet. Wenn es dir für dein Projekt hilft würde ich mich über eine kleine freiwillige Spende freuen:
PayPal
Vielen Dank


ACHTUNG: Der Bau und der Betrieb des Gewächshauses erfolgen auf eigene Gefahr! Im Umgang mit Netzspannung ist höchste Vorsicht geboten!


Inhalt:

Teil 1: Was benötigen wir
Teil 2: Gehäuse bauen
Teil 3: Gewächshaus modifizieren
Teil 4: Elektronik anschließen
Teil 5: Raspberry Pi einrichten


Los gehts:

Teil 1 - Was benötigten wir:

Sensoren

Steuerung

Strom

Aktoren

Leitungen & Verbindungen

 

Teil 2 - Gehäuse bauen

Vorab, natürlich kann dein Gehäuse auch ganz anders aussehen. Hier zeige ich dir, wie ich mein Gehäuse gebaut habe.
Welche Werkzeuge benötigen wir?

  • Stichsäge mit Winkelschnittfunktion oder eine Tischkreissäge
  • 20 mm Holzbohrer bzw. Forstnerbohrer
  • 2 mm Holzbohrer
  • 2,5 mm Holzbohrer (manchmal schwer zu finden - ein normaler Metalbohrer tut's hier auch, dann einfach mit dem 2 mm Holzbohrer vorbohren)
  • 4 mm Holzbohrer
  • 5 mm Holzbohrer
  • 7 mm Holzbohrer
  • 3 mm x 25 mm Holzschrauben (143 Stück)


Zuerst eine kurze Übersicht über die Gehäuseteile:

Zu jedem einzelnen Gehäuseteil gibt es eine technische Zeichnung im PDF-Format mit entsprechenden Maßangaben zum ausdrucken. Den Download aller Zeichnungen findest du hier. Alle türkisfarbenen Gehäuseteile bestehen aus 10 mm starken Sperrholzplatten. Die braunen Bauteile sind Holzleisten die wir für die Unterkonstruktion benötigen. 14 Holzleisten bestehen dabei aus 20 mm x 20 mm und eine Holzleiste aus 30 mm x 20 mm Kantholz.


Kleiner Tipp: Um beide Seitenwände auf einmal zu sägen legt man einfach zwei Sperrholzplatten übereinander und fixiert diese z.B. mit kleinen Schrauben... spart Zeit.


Teil 3 - Gewächshaus modifizieren

Nachfolgend werden wir die Sensoren und die Aktoren integrieren:


Welche Werkzeuge benötigen wir?

  • 2 mm Bohrer (für die Löcher des Luftsensors 'DHT22')
  • 2,5 mm Bohrer (für die Löcher der Schrauben für die beiden Lüfter)
  • 28 mm Lochkreissäge bzw. Forstnerbohrer (für die Löcher der beiden Lüfter)
  • 11 mm (Löcher für die Bewäserungsdüsen)
  • 4 mm Bohrer (für den Temperatursensor DS18B20)
  • Cuttermesser (für das Längsloch des Erdfeuchtemessers 'Giesomat')
  • doppelseitiges Klebeband oder zugeschnittenen Powerstripes oder Posterstripes


Wir beginnen mit dem Deckel:
Für die Bewässerungsdüsen bohren wir 12 Löcher mit einem Durchmesser von 11 mm so gleichmäßig verteilt wie möglich von oben in den Deckel des Gewächshauses. Die orangenen Kappen der Bewässerunsdüsen werden abgeschraubt und die Düsen durch die Löcher gesteckt. Anschließend werden die orangenen Kappen von der Innenseite des Gehäuses wieder aufgeschraubt. Danach werden die Weichen aufgesteckt und untereinander mit den Schläuchen verbunden.



Für die Lüfter bohren wir an den beiden Seiten des Gehäuses jeweils ein 28 mm großes Loch mit einer Lochkreissäge. Anschließend halten wir die Lüfter passgenau an die Löcher und markieren mit einem Stift die Position der Schraubenlöcher. Die markierten Punkte bohren wir mit einem 2,5er Bohrer und montieren die Lüfter.



Weiter geht es mit dem Luftsensor. Die Kontakte des Luftsensors 'DHT22' werden nach hinten umgeknickt und an die entsprechende Stelle ans Gehäuse gehalten um die Position der Löcher zu ermitteln. Diese werden anschließend mit einem 2 mm großen Bohrer gebohrt. Die Kontakte des DHT22 werden dann von der Innenseite des Gehäuses durch die Löcher gesteckt und der Sensor mit doppelseitigem Klebeband von innen angeklebt. Die Kontakte 1, 2 und 4 werden noch von außen mit einem Jumperkabel (3 Leitungen) und Schrumpfschlauch sicher verlötet. Auf der innen liegenden Seite werden die Kontakte noch mit Heißkleber verklebt um sie vor Feuchtigkeit zu schützen.  

Kommen wir zur Bodenschale:
Der Erdfeuchtesensor wird durch einen Spalt genau mittig an der langen Seite der Schale gesteckt. Für den Schlitz bohren wir mit einem 2 mm Bohrer zwei Löcher und schneiden mit einem Cuttermesser eine Verbindung zwischen den beiden Löchern um einen passgenauen Schlitz zu erhalten. Der Sensor wird dann bis zur Elektronik in den Schlitz gesteckt. Um den Sensor in Position zu halten müssen wir diesen in der Mitte der Schale stabilisieren - ich habe dafür eine alte Plastikkappe eines Stiftes verwendet. Dann verkleben wir den Schlitz und die Halterung mit Heißkleber. Zum Schluss bohren wir mit einem 4er Bohrer ein Loch 8,5 cm rechts neben dem Schlitz des Erdfeuchtesensors für den Temperatursensor 'DS18B20'. Der Sensor wird bis zum Anschlag eingesteckt und anschließend wieder mit Heißkleber verklebt.

 

Teil 4 - Elektronik anschließen?

Hier der komplette Schaltplan (hochauflösend - klicken zum vergrößern):


Zum anschließen der beiden Temperatursensoren werden zwei 4,7kΩ Widerstände benötigt. Damit sich die Jumperkabel einfach aufstecken lassen, löten wir die Widerstände zusammen mit Steckpins auf eine kleine Platine:



 

ACHTUNG: Den Raspberry Pi noch nicht fest ins Gehäuse bauen - dieser muss erst in Punkt 5.1 eingerichtet werden!



Teil 5 - Raspberry Pi einrichten


5.1 Betriebssystem installieren:

Grundvoraussetzung für alle weiteren Schritte ist die Installation und Einrichtung des Betriebssystems "Rasbian" auf dem Raspberry Pi. Du gehst wie folgt vor:
1. Verbinde deinen neuen Raspberry Pi zuerst mit einem Monitor, einer Maus, einer Tastatur und dem Netzteil.
2. Stecke eine Micro-SD Karte (empfohlen 8 GB) in das Kartenlesegerät deines PC's
3. Lade Raspbian auf der offiziellen Raspberry Pi-Seite herunter (zum jetzigen Zeitpunkt nutze ich die Version "Buster" vom 13.02.2020 - Link)
4. Entpacke die RAR-Datei - du erhälst eine Image-Datei des Betriebssystems
5. Lade Win32DiskImager von SourceForge herunter (zum jetzigen Zeitpunkt nutze ich die Version 1.0.0 vom Feb. 2020 - Link)
6. Installiere und öffne Win32DiskImager
    - Wähle im Feld "Image-Datei" die in Punkt 4 entpackte Image-Datei aus
    - Wähle im Feld "Datenträger" den Laufwerksbuchstabe deiner Micro-SD-Karte aus
    - Klicke "schreiben" > anschließend mit "Yes" bestätigen
    - Nach dem erfolgreichen Schreiben des Images auf die Micro-SD Karte mit "OK" bestätigen
      (hier kann es jetzt zu diversen Fehlermeldungen und Aufforderungen zu "Datenträger formatieren" kommen, da das Dateiformat mit Windows nicht kompatibel ist - ignorieren!
7. Entferne die Micro-SD-Karte und stecke diese in den Raspberry Pi
8. Starte den Raspberry Pi (sobald der Pi Strom bekommt startet er austomatisch)
9. Wähle jetzt in den angezeigten Begrüßungsfenstern die entsprechenden Optionen aus
    - Sprache und Land auswählen    
    - das Password lassen wir unverändert
    - die Anzeige anpassen
    - Wifi auswählen > Schlüssel/Password eingeben (ggf. LAN-Kabel anstecken wenn kein Wifi vorhanden ist)
    - "Update Software" bestätigen
    - mit "Restart" den Raspberry Pi neustarten
10. Nach dem Neustart aktivieren wir die notwendigen Schnittstellen
    - Start > Einstellungen > Raspberry-Pi-Konfiguration > Schnittstellen
    - folgende Schnittstellen aktivieren: VNC, SSH, I2C, Eindraht-Bus, GPIO-Fernzugriff
    - mit "OK" bestätigen und Neustart mit "JA" ausführen
11. Nach dem Neustart stellen wir die Auflösung ein (Start > Einstellungen > Raspberry-Pi-Konfiguration > Display > Auflösung festlegen > Neustart)
12. Jetzt öffnen wir das LXTerminal (Start > Zubehör > LXTerminal)
    - mit dem Befehl ifconfig lassen wir und die IP-Adresse des Raspberry Pi's im WLAN anzeigen (im Abschnitt "wlan0" hinter "inet")
    - diese IP-Adresse notieren wir uns
12. Installiere und öffne den VNC-Viewer auf deinem PC (zum jetzigen Zeitpunkt nutze ich Version 6.20.113 - Link)
    - Gib die zuvor notierte IP-Adresse deines Raspberry Pi's in der Suchzeile im VNC-Viewer ein
    - Bestätige mit "Fortsetzen"
    - Benutzername: pi   Password: raspberry > Kennwort speichern > OK
Jetzt kannst du deinen Raspberry Pi vom PC aus steuern - du kannst also Maus, Tastatur und Monitor abstecken und den Pi ins Gehäuse einbauen.


5.2 Programm kopieren:

Downloade und entpacke das Steuerungsprogramm und kopiere es auf den Desktop des Raspberry Pi's:
(ich nutze dafür im VNC-Viewer im oben liegende Drop-Down-Menü die Funktion "Dateien übertragen" > "Dateien senden")


5.3 Treiber installieren:

Führe nun folgende Befehle im LXTerminal aus (Start > Zubehör):
sudo pip install RPLCD   (installiert den Treiber für das Display)
sudo pip install Adafruit_DHT   (installiert den Treiber für den DHT22-Sensor)


5.4 DS18B20-Sensor ID ermitteln:
Da jeder DS18B20-Sensor seine eigene ID hat muss diese zuerst ermittelt und anschließend im Programm eingetragen werden.
Dafür geben wir folgende Befehle im LXTerminal ein:
   cd /sys/bus/w1/devices
   ls

Hier findest du jetzt zwei Ordner. Der Ordner mit der langen Zahl ist die ID deines Sensors (z.B. 28-011316521e80) - diese ID trägst du in Zeile 54 im Steuerungsprogramm ein (Apostrophzeichen beachten - speichern nicht vergessen!). Ds LXTerminal kann jetzt wieder geschlossen werden


5.5 Giesomat kalibrieren:
Damit der Erdfeuchtesensor keine abnormalen Werte anzeigt muss dieser entsprechend kalibriert werden:
1. Stecke den Giesomat zuerst in vollständig getrocknete Erde - dieser Zustand wird dem Programm "Feuchtigkeit 0%" signalisieren
2. Downloade die folgende RAR-Datei und entpacke die enthaltene C-Datei: freq_count_1.c
3. Kopiere diese C-Datei auf den Desktop des Raspberry Pis (im VNC-Viewer im oben liegende Drop-Down-Menü die Funktion "Dateien übertragen")
- Wir öffnen erneut das LXTerminal und geben folgende Befehle ein:
cd Desktop
gcc -Wall -pthread -o freq_count_1 freq_count_1.c -lpigpio -lrt   
(kompiliert die freq_count_1.c Datei)
- Anschließend lesen wir die aktuelle Frequenz mit folgendem Befehl aus:
sudo ./freq_count_1 21
- jetzt werden in kurzen Abständen Frequenz-Werte ausgegeben. Wir merken uns einen ungefähren Mittelwert dieser Zahlen und beenden mit STRG+C
- Wir geben diesen Mittelwert der ausgelesenen Frequenzen in Zeile 51 des Programms ein
- Anschließend stecken wir den Giesomat in mit Wasser vollständig gesättigte Erde. Sobald auf der Erdoberfläche ein Wasserfilm entsteht ist die Erde vollständig gesättigt - dieser Zustand wird dem Programm "Feuchtigkeit 100%" signalisieren
- wir starten die Datei zum Frequenz auslesen wieder mit
sudo ./freq_count_1 21
- auch hier ermitteln wir einen ungefähren Mittelwert der ausgelesenen Werte und tragen diesen nun in Zeile 50 des Programms
Nun haben wir die erforderlichen Frequenzen ermittelt, eingetragen und damit den Sensor kalibriert.


5.6 Autostart einrichten:
Nun richten wir die Autostart-Funktion ein, damit das Programm automatisch startet sobald das Gewächshaus eingeschaltet wird:
Mit folgendem Befehl in der Konsole erstellen wir die Autostart-Datei:
cd Desktop
sudo nano autostart.sh
Es öffnet sich eine leere Datei in die wir folgendes eintragen:
#!bin/sh

cd /
cd /home/pi/Desktop/
python Gewaechshaus-Steuerung.py

speichern und schließen mit STRG+X > J > Enter
Anschließend statten wir diese Datei mit entsprechenden Rechten aus:
sudo chmod 755 autostart.sh
Als nächstes sagen wir dem System, dass die Datei "autostart.sh" nach jedem Reboot gestartet werden soll und eventuelle Fehlermeldungen in einer Log-Datei "Cronlog" auf dem Desktop aufgelistet werden sollen, mit folgendem Befehl:
sudo crontab -e (sollte hier eine Abfrage erscheinen, wähle "1" und drücke Enter)
In der sich öffnenden Datei tragen ganz wir unten folgende Zeile ein:
@reboot sh /home/pi/Desktop/autostart.sh >/home/pi/Desktop/cronlog 2>&1
speichern und schließen mit STRG+X > J > Enter

Zum Schluss starten wir das System mit sudo reboot neu und das Gewächshaus läuft.

Sollten Programmfehler auftreten werden diese jetzt in die Datei "cronlog" auf dem Desktop geschrieben.


Das Schreiben des Programms und dieses Tutorials hat mich viel Mühe gekostet. Wenn es dir für dein Projekt hilft würde ich mich über eine kleine freiwillige Spende freuen:
PayPal
Vielen Dank

Du hast einen Fehler gefunden oder eine Frage? Dann schreib mir gern eine E-Mail (tg3784[at]gmail.com).