Willkommen zu unserem Automatisierten Gewächshausprojekt! Das Ziel dieser Zusammenarbeit von Jan Klein und Velimir Kleymenov ist es, eine automatisierte Lösung für das Gewächshausmanagement bereitzustellen. Für dieses Projekt verwenden wir einen Raspberry Pi 3B+. Es wurde eine SQLite-Datenbank erstellt, in der die Pflanzendaten und Sensordaten gespeichert werden. Die Steuerung der Aktoren und Sensoren erfolgt über die GPIO-Pins mit Python und wird anschließend in einer Datenbank gespeichert. Die GUI wurde mit HTML und CSS erstellt. Die Ausgabe der Sensordaten in die GUI wurde mittels PHP umgesetzt und das Darstellen in einem Diagramm mit der Open-Source-Software Plotly.
- Pflanzenauswahl: Es stehen verschiedene Pflanzen zur Auswahl.
- Automatische Steuerung je nach Pflanzenwahl: Durch die Steuerung der Aktoren und Sensoren werden die benötigten Temperatur-, Wasser- und Bodenfeuchtigkeitsbedürfnisse der ausgewählten Pflanze automatisch angepasst.
- Speicherung der Sensordaten: In unserer Datenbank werden alle wichtigen Informationen über die Pflanzen und die Sensorausgabe gespeichert.
- Ausgabe der aktuellen Sensordaten: In unserer GUI werden die Sensordaten aus der Datenbank abgefragt und in einem Diagramm dargestellt.
- Manuelle Steuerung möglich: In unserer GUI können Sie auch den Raspberry Pi sowie Aktoren und Sensoren bei Bedarf manuell steuern.
Um mit dem Projekt zu beginnen, stellen Sie sicher, dass Sie über die folgenden Hardwarekomponenten verfügen:
- Raspberry Pi 3B+
- RPI-Netzteil
- Netzwerkkabel
- Leitungen
- Wasserschlauch
- 2 Relais
- 12-Bit-ADC-Umwandler
- Benötigte Aktoren:
- Mini-Wasserpumpe
- 180° Servomotor
- Glühlampe
- Benötigte Sensoren:
- BME280
- Bodenfeuchtigkeitssensor
Bitte beachten Sie, dass die Verwendung anderer Hardwarekomponenten zu unerwarteten Fehlern führen kann und die Funktionalität des Projekts beeinträchtigen könnte.
Die unten genannte Software wird benötigt, um unser Programm nutzen zu können. Die Befehle für die Installation für unser verwendetes Betriebssystem sind separat aufgelistet.
-
Git
sudo apt install git
-
Python
sudo apt install python3 python3-venv python3-pip
-
Smbus2
pip3 install smbus2
-
RPi.bme280
pip3 install RPi.bme280
-
gpiozero
pip install gpiozero
-
ADS1015 (siehe hier)
git clone https://github.com/adafruit/Adafruit_Python_ADS1x15.git cd Adafruit_Python_ADS1x15 sudo python setup.py install
-
SQLite3
sudo apt-get install sqlite3
-
Plotly
pip install plotly==5.19.0
-
PHP
sudo apt-get install php
-
Node.js
sudo apt install nodejs
-
Apache2
sudo apt install apache2
-
Schließe Aktoren und Sensoren an die Raspberry Pi GPIO-Pins an
-
Klone das Repository auf deinen Raspberry Pi:
git clone https://github.com/jankln/AutoGrowing.git
-
Füge main.py und index.php zum Autostart hinzu:
sudo crontab -e
-
Gehe nach unten in der Datei und füge folgenden Command ein:
@reboot python3 /home/pi/AutoGrowing/main.py
-
Führe die SQL Datei aus:
cd AutoGrowing sqlite3 AutoGrowing.db .read create.sql
- Navigationsbar: Oben links befindet sich die Navigationsbar um sich schneller vortzubewegen.
- Auswahl Pflanze: Es gibt links ein Dropdown Menü, indem man seine aktuelle Pflanze auswählen kann. Beim betätigen des Auswählen Buttons, wird diese Ausgewählt.
- Ausgewählte Pflanze: Die ausgewählte Pflanze wird unterhalb des Auswählen Buttons angezeigt.
- Manuelle Steuerung: Mit den beschrifteten Buttons kann man, wenn benötigt die Aktoren und den Raspberry Pi manuell steuern.
- Diagramm Sensorwerte: Unterhalb des Auswahl Buttons sieht man die aktuell ausgewählte Pflanze mit deren Anforderungen. Durch drücken der linken Maustaste kann man den gewünschten Bereich genauer anschauen und durch Doppelklick gelangt man wieder zur Ausgangsposition. Beim rübergleiten der Maus erscheint ein Menü mit weiteren anzeige Möglichkeiten.
Dieses Projekt ist unter der MIT License. Fühlen Sie sich frei, den Code gemäß den Bedingungen der Lizenz zu verwenden, zu ändern und zu verbreiten.