Erstellen Sie ein automatisiertes Gartensystem mit dem Raspberry Pi Pico W
Mit einem grünen Daumen und etwas Geduld ist die Gartenarbeit ein schönes Hobby, egal ob Sie ein paar exotische Pflanzen drinnen haben oder einen ausgewachsenen Garten mit Kartoffeln und Stauden im Freien haben.
Abgesehen davon kann es auch vorkommen, dass Ihre Geduld zu Ende geht, wenn Pflanzen aus scheinbar keinem guten Grund zu sterben beginnen.
Der Raspberry Pi Pico W kann helfen, eine Lösung bereitzustellen, um sicherzustellen, dass Pflanzen gedeihen, ohne einen Finger zu rühren (na ja, fast).
Sehen wir uns an, wie ein Pflanzenmonitor, etwas Code und ein winziger Mikrocontroller die Gesundheit Ihrer Pflanze von überall in Ihrem Haus aus verfolgen können.
Erforderliche Hardware
Überraschenderweise ist nicht viel Hardware erforderlich. Ein Großteil der Magie ist im Plant Monitor enthalten. Sie brauchen wirklich nur ein paar Elemente, um loszulegen.
- Pflanzenmonitor von Monk Makes
- 4x Buchse-Stecker-Überbrückungsdrähte
- Raspberry Pi Pico W
Obwohl dieser Pflanzenmonitor die Verwendung von Krokodilklemmen unterstützt, verwendet dieses Projekt die Stiftanschlüsse, die an der Rückseite des Pflanzenüberwachungsgeräts angebracht sind.
Einrichten des Gartenassistenten
Dieses Projekt beinhaltet das Anschließen des Anlagenmonitors an Ihren Raspberry Pi Pico W sowie das Erstellen und Manipulieren von Code, damit alles funktioniert. Ein Webserver ist erforderlich, um eine einfache Webseite bereitzustellen, auf die Sie über Ihre Internetverbindung zu Hause zugreifen können.
Es gibt verschiedene Modellvarianten des Raspberry Pi Pico. Für dieses Projekt benötigen Sie einen Raspberry Pi Pico W. Um zu erfahren, wozu der Pico W in der Lage ist, sehen Sie sich unseren Leitfaden an, was der Pico W ist und was er kann.
Stellen wir zunächst sicher, dass der Anlagenmonitor angeschlossen ist und ordnungsgemäß funktioniert. Später in diesem Artikel werden Sie sich mit der Einrichtung eines einfachen Webservers befassen, mit dem Sie Ihre Anlage mit jedem browserfähigen Gerät überwachen können, das mit Ihrem Heimnetzwerk verbunden ist.
Vorbereitung des Anlagenmonitors
Da viele Sensoren über verschiedene Internetseiten erhältlich sind, werden Sie feststellen, dass sich einige Bodensensoren im Boden leicht abnutzen und andere den Elementen ziemlich gut standhalten. Der Monk Makes Plant Monitor ist eine gute Option, da er nicht anfällig für Korrosion im Boden ist. Dieser Monitor misst nicht nur die Bodennässe, sondern auch Feuchtigkeit und Temperatur.
Vom Pflanzenmonitor müssen nur vier Pins mit Ihrem Raspberry Pi Pico W verbunden werden:
- GND geht an GND
- 3V wird an 3V3 Out angeschlossen
- RX_IN findet seinen Weg zu GP0
- TX_OUT trifft sich mit GP1
Sobald Ihr Raspberry Pi Pico W an die Stromversorgung angeschlossen ist, kann er sich selbst und den Pflanzenmonitor mit Strom versorgen. Sie werden einige Lichter an der Hardware bemerken, die bestätigen, dass das Gerät funktioniert. Außerdem gibt es ein LED-Licht, das grün, gelb oder rot leuchtet (je nach dem in Ihrem Boden festgestellten Feuchtigkeitsgrad).
Obwohl der Monk Makes Plant Monitor mit einigen großartigen Python-Modulen geliefert wird, müssen Sie dennoch einen einfachen Code erstellen, um die Gesundheit des Bodens Ihrer Pflanze zu überwachen. Sie können die folgenden Python-Dateien aus unserem MUO-GitHub-Repository abrufen.
Sie benötigen pmon.py und test.py für den Bodenerkennungsteil und die Python-Dateien microdot.py , mm_wlan.py und pico_w_server.py werden verwendet, um den einfachen Webserver später zu vervollständigen.
Jetzt ist ein guter Zeitpunkt, um innezuhalten und sich mit subtilen Unterschieden zwischen MicroPython und Python vertraut zu machen, falls Sie dies noch nicht getan haben.
Die Python-Datei pmon.py erstellt eine MicroPython-Klasse für den Anlagenmonitor. UART kümmert sich um die Duplex-Datenübertragung und dann ist auch etwas Arbeit bei der Umwandlung von analog zu digital erforderlich. Sie werden auch feststellen, dass die Funktionen wetness , temp und Feuchtigkeit ebenfalls in dieser Datei definiert sind.
def get_wetness(self):
return int(self.request_property("w"))
def get_temp(self):
return float(self.request_property("t"))
def get_humidity(self):
return float(self.request_property("h"))
def led_off(self):
self.uart.write("l")
def led_on(self):
self.uart.write("L")
Als nächstes benötigen Sie die Datei test.py , die Sie aus unserem MUO-GitHub-Repository erhalten haben.
Sie werden feststellen, dass die Module time, pmon (von PlantMonitor ) und machine erforderlich sind, um den Zustand Ihrer Anlage richtig zu überwachen.
Da das PlantMonitor -Modul importiert wird, ist zur Überwachung der Bodenbedingungen lediglich eine einfache While-Schleife erforderlich. Außerdem gibt der Druckbefehl die Messwerte für Bodenfeuchte, Temperatur und Luftfeuchtigkeit aus, nachdem test.py in Thonny ausgeführt wurde.
time.sleep(2) # PlantMonitor startup time
pm = PlantMonitor()
while True:
w = pm.get_wetness()
t = pm.get_temp()
h = pm.get_humidity()
print("Wetness: {0} Temp: {1} Humidity: {2}".format(w, t, h))
time.sleep(1)
Sie haben keine Lust, Ihre Pflanze zu gießen, wenn die Erde zu trocken ist? Weisen Sie Ihr Pumpenrelais einem Pin auf dem Raspberry Pi Pico zu und verwenden Sie eine if-Anweisung, um auf einen Feuchtigkeitswert (von 100) zu achten, um Ihre Wasserpumpe über ein Relais auszulösen, damit sie sich wieder einschaltet und Wasser abgibt.
relay1 = Pin(15, Pin.OUT) #relay is wired up to GP15 and GND
if w = 24 # watch for a wetness value of 24/100
relay1.value(1) # turn on the relay
relay1(0) # turn off the relay
Sie sollten einige Tests durchführen, um die perfekte Balance zu finden, um sicherzustellen, dass Ihre Pflanze mit der Wassermenge, die sie erhält, zufrieden ist. Sie können auch eine weitere if-Anweisung hinzufügen, um über ein Relais eine Wärmelampe einzuschalten, wenn Ihre Pflanze zu kalt ist.
Einfacher Webserver
Sie benötigen drei Python-Dateien aus unserem MUO GitHub-Repository, damit Ihr Raspberry Pi Pico W die Bodenstatistiken an Ihre Internetverbindungen zu Hause senden kann:
- microdot.py
- mm_wlan.py
- pico_w_server.py
Die Microdot -Datei übernimmt die Backend-Funktionen zum Erstellen dieses einfachen HTTP-basierten Webservers und zeigt die Ausgabe des Python-Codes als html-basierte Webseite an, die über die IP-Adresse des Raspberry Pi Pico W aufgerufen werden kann.
Die Datei mm_wlan.py bietet eine einfache Möglichkeit, sich mit einem drahtlosen Netzwerk zu verbinden. Sie erhalten entweder eine IP-Adresse Ihres Raspberry Pi Pico und eine verbundene Nachricht. Wenn die Verbindung nicht erfolgreich war, erhalten Sie stattdessen eine Meldung „Verbindung fehlgeschlagen“.
In der Datei pico_w_server.py geben Sie die SSID (denken Sie daran, dass sich der Raspberry Pi Pico W nur mit 2,4-GHz-SSIDs verbindet) und Ihr WLAN-Passwort ein. Im HTML-Bereich können Sie anpassen, was Ihr Webserver in einem Webbrowser anzeigt. Sie können auch die Kommentare aus dem Aktualisierungsbereich entfernen und das Intervall anpassen, wenn Sie nicht möchten, dass die Webseite etwa jede Sekunde aktualisiert wird.
Ganz unten in dieser Datei können Sie auch den Port anpassen. Dies ist praktisch, wenn Sie diese Informationen außerhalb Ihres Hauses im Internet veröffentlichen möchten.
Wenn Sie Ihre test.py -Datei ausführen, werden die erforderlichen Server-Python-Dateien ( mm_wlan und pico_w_server ) für Sie importiert. Nachdem Sie die Datei test.py ausgeführt haben , holen Sie sich die IP-Adresse Ihres Pi (in der Thonny-Ausgabe gefunden) und fügen Sie den von Ihnen verwendeten Port (Standard ist 80) von jedem Webbrowser hinzu, der mit derselben 2,4-GHz-SSID verbunden ist zu Hause. Sie sollten so etwas sehen:
Um die Abhängigkeit Ihres angeschlossenen PCs zu verringern, ändern Sie die Datei test.py in main.py und speichern Sie sie auf Ihrem Raspberry Pi Pico W. Sie können auch in Betracht ziehen, ein LCD an Ihren Pico anzuschließen, damit Sie das Display für die Ausgabe programmieren können die IP-Adresse (wenn Sie die Abhängigkeit Ihres angeschlossenen PCs entfernen).
Bring den grünen Daumen zurück
Mit einem ausgeklügelten Bodensensor und einem einfachen Webserver können Sie jetzt die Gesundheit Ihrer Pflanze von einem Webbrowser überall in Ihrem Haus aus überwachen.
Fühlen Sie sich frei, den Code zu optimieren, wie Sie es für richtig halten. Wenn Sie dazu bereit sind, sollten Sie eine Bodenerkennungs-App erstellen, die dem einfachen Webserver, den Sie gerade eingerichtet haben, etwas Feinschliff verleiht.
Damit sich dieses Projekt vollständig anfühlt, fügen Sie eine Pumpe und ein Relais sowie eine Wärmelampe hinzu, und Sie haben einen vollautomatischen Garten. Jetzt können Sie Ihren „grünen Daumen“ für immer behalten.
Schreibe einen Kommentar