Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Herstellungsprozess

Raspberry Pi Automatisierte Pflanzenbewässerung mit Website

Richten Sie Ihren Pi auf Kümmere dich automatisch um eine Zimmerpflanze, indem du einen Feuchtigkeitssensor liest und bei Bedarf gießt.

Geschichte

Dieser Beitrag beginnt mit zwei Fakten:

Nachdem ich gelesen hatte, wie gut Dinge in Innenräumen wachsen können, dachte ich, dass Automatisierung vielleicht mein Weg zu gesunden Pflanzen ist. Also beschloss ich, das Nötigste zu bauen – eine Pflanze, eine Pumpe und einen Wassersensor zu kaufen. Wenn der Wassersensor "kein Wasser hier" anzeigt, verwenden Sie die Pumpe, um Wasser dorthin zu bringen.

Ich habe mich auch entschieden, alles über einen Raspberry Pi laufen zu lassen, um mit dem RPi GPIO zu interagieren.

So habe ich es gemacht!

Materialien:

Verkabelung:

Das erste, was ich tat, war, mein 5V-Netzteil aus einem USB-Kabel herzustellen. Mit einem alten iPhone-Kabel habe ich die iPhone-Seite abgeschnitten und einen roten und schwarzen Draht herausgefischt. Ich lötete einige stabilere Drähte an und steckte sie in einen Wandadapter. Bei der Überprüfung mit einem Voltmeter ergab dies eine Ausgangsspannung von 5 V.

Jetzt Zeit für den GPIO.

RPi-Verkabelung:

Nach diesem GPIO-Layout:

Wassersensor – Stecken Sie das Pluskabel vom Wassersensor an Pin 2 und das Minuskabel an Pin 6. Stecken Sie das Signalkabel (gelb) an Pin 8.

Relais – Stecken Sie das Pluskabel von Pin 7 auf IN1 der Relaisplatine. Verbinden Sie auch Pin 2 mit VCC und Pin 5 mit GND auf der Relaisplatine.

Pumpe – Schließen Sie Ihre Pumpe an eine Stromquelle an, führen Sie das schwarze Erdungskabel zwischen den Steckplätzen B und C von Relaismodul 1 (wenn das RPi ein LOW-Signal von 0 V an Pin 1 sendet, schließt dies die Kreislauf schaltet die Pumpe ein).

Dieses Diagramm sollte den richtigen GPIO erfassen, solange Sie Raspberry Pi 3 verwenden. Nicht gezeigt ist eine andere Stromquelle für den RPi.

Hardware-Setup:

Sobald die Verkabelung abgeschlossen ist, befestigen Sie den flexiblen Schlauch an der Pumpe (ich habe Isolierband verwendet) und legen Sie ihn in ein Glas Wasser. Befestigen Sie das andere Ende des Schlauchs an Ihrer Pflanze.

Schließen Sie jetzt alle Stromquellen an (und vergewissern Sie sich, dass auf Ihrem Raspberry Pi eine Betriebssystemversion wie diese hier ausgeführt wird).

Software

Hinweis:Wenn Sie die Verkabelung genau wie oben beschrieben erhalten, funktioniert mein Code im nächsten Abschnitt ohne Änderungen. Dieses Setup besteht aus zwei Teilen. Eine Datei steuert die gesamte GPIO- und Schaltungslogik und die andere führt einen lokalen Webserver aus.

Alle Dateien:

GPIO-Skript

Beginnen wir mit dem Code zur Steuerung des GPIO. Dies erfordert die Python-Bibliothek RPi.GPIO, die wie folgt auf Ihrem Raspberry Pi installiert werden kann:

$> python3.4 -m pip install RPi.GPIO

Wenn das installiert ist, sollten Sie das hier gefundene water.py-Skript verwenden können. Sie können testen, ob es richtig funktioniert, indem Sie eine interaktive Python-Sitzung wie folgt ausführen:

$> python3.4>>> import water>>> water.get_status()>>> water.pump_on() Dies sollte eine Aussage darüber ausgeben, ob Ihr Sensor nass oder trocken ist (get_status()) und auch die 1s pumpen. Wenn diese wie erwartet funktionieren, bist du in guter Verfassung.

An dieser Stelle können Sie auch Ihren Wassersensor kalibrieren. Wenn Ihr Pflanzenstatus falsch ist, versuchen Sie, die kleine Schraube (Potentiometer) am Sensor in feuchter Erde zu drehen, bis die 2. Lampe aufleuchtet.

Flask-Webserver

Der nächste Aspekt dieses Projekts ist die Einrichtung des Webservers. Diesen Code finden Sie hier in einer Datei namens web_plants.py. Dieses Python-Skript führt einen Webserver aus, der verschiedene Aktionen des oben beschriebenen Skripts ermöglicht.

Sie müssen web_plants.py im selben Verzeichnis wie water.py und auto_water.py wie oben beschrieben speichern. Sie benötigen außerdem ein Unterverzeichnis namens "templates", das die HTML-Datei hier main.html enthält.

Sie müssen Flask und psutil wie folgt installieren:

$> python3.4 -m pip installflakon $> python3.4 -m pip install psutil

Stellen Sie sicher, dass Sie die Datei web_plants.py im selben Verzeichnis wie das Skript water.py oben ablegen. Sie müssen außerdem ein Unterverzeichnis namens templates erstellen und main.html im Vorlagenverzeichnis ablegen. Führen Sie nun den folgenden Befehlsbefehl aus, um Ihren Webserver zu starten:

$> sudo python3.4 web_plants.py Wenn Sie jetzt zur IP-Adresse Ihres RPi navigieren, sollten Sie ein Web-Dashboard wie folgt sehen:

Versuchen Sie, auf die Schaltflächen zu klicken, um sicherzustellen, dass alles wie erwartet funktioniert! Wenn ja, dann gehst du zu den Rennen. Hier ist ein weiteres großartiges Tutorial, das ich zu Kolben + GPIO befolgt habe

Website automatisch ausführen

Schließlich möchten Sie wahrscheinlich, dass die Website automatisch startet, wenn das RPi eingeschaltet wird. Dies kann mit einem Tool namens cronjob erfolgen, das Ihre Website als Startbefehl registriert.

Geben Sie dazu Folgendes ein:

$> sudo crontab -e

Dadurch wird ein Texteditor geöffnet. Fügen Sie eine einzelne Zeile hinzu, die lautet (und achten Sie darauf, eine leere Zeile darunter zu lassen):

@reboot cd ; sudo python3.4 web_plants.py

Wenn Sie Ihr Pi neu starten, sollte es den Server automatisch starten.

Lesen Sie mehr Details :Raspberry Pi Automatisierte Pflanzenbewässerung mit Website


Herstellungsprozess

  1. Temperatur lesen mit DS18B20 | Raspberry Pi 2
  2. Raspberry Pi-kontrollierte Aquaponik
  3. Temperaturmessung mit RASPBERRY PI
  4. Überwachen der Raumtemperaturen mit Moteinos und Raspberry Pi
  5. Überwachen der Temperatur mit Raspberry Pi
  6. 1-Draht-Temperatursensor DS1820 am Raspberry Pi (GPIO direkt)
  7. Ultraschallsensor (HC-SR04) + Raspberry Pi
  8. Linienverfolgungssensor mit RPi
  9. Erkennen von Blitzen mit einem Raspberry Pi
  10. Analoge Sensoren ohne analoge Eingänge auf dem Raspberry Pi