Bouw een geautomatiseerd tuiniersysteem met de Raspberry Pi Pico W

Bouw een geautomatiseerd tuiniersysteem met de Raspberry Pi Pico W
Lezers zoals jij steunen MUO. Wanneer u een aankoop doet via links op onze site, kunnen we een aangesloten commissie verdienen. Lees verder.

Met groene vingers en wat geduld is tuinieren een leuke hobby, of je nu een paar exotische planten binnen hebt of een volwaardige buitentuin met aardappelen en vaste planten.





Dat gezegd hebbende, er zijn ook momenten waarop je geduld opraakt wanneer planten beginnen te sterven voor wat helemaal geen goede reden lijkt te zijn.





een overlijdensadvertentie voor een specifieke persoon gratis vinden

De Raspberry Pi Pico W kan helpen een oplossing te bieden om ervoor te zorgen dat planten gedijen zonder een vinger uit te steken (nou ja, bijna).





Laten we eens kijken hoe een plantenmonitor, wat code en een kleine microcontroller de gezondheid van je plant overal in huis kunnen volgen.

Vereiste Hardware

Verrassend genoeg is er niet veel hardware vereist. Veel van de magie zit in de Plant Monitor. Je hebt echt maar een paar items nodig om te beginnen.



Hoewel deze plantmonitor het gebruik van krokodillenklemmen ondersteunt, maakt dit project gebruik van de pinconnectoren die aan de achterkant van het plantbewakingsapparaat zijn bevestigd.

De tuinierassistent instellen

Dit project omvat het aansluiten van de plantmonitor op je Raspberry Pi Pico W en het maken en manipuleren van code om alles werkend te krijgen. Er is een webserver nodig om een ​​eenvoudige webpagina weer te geven die toegankelijk is via uw internetverbinding thuis.





Er zijn verschillende modelversies van de Raspberry Pi Pico. Voor dit project heb je een Raspberry Pi Pico W nodig. Om te leren waartoe de Pico W in staat is, bekijk je onze gids op wat de Pico W is en wat hij kan .

Laten we er eerst voor zorgen dat de plantmonitor is aangesloten en goed werkt. Verderop in het artikel gaat u in op het opzetten van een eenvoudige webserver die wordt gebruikt om uw installatie te bewaken met elk browser-enabled apparaat dat op uw thuisnetwerk is aangesloten.





Voorbereiding van de Plantmonitor

Met veel sensoren die via verschillende internetsites te koop zijn, zult u ontdekken dat sommige bodemsensoren gemakkelijk in de grond slijten en dat andere redelijk goed bestand zijn tegen de elementen. De Monk Makes Plant Monitor is een leuke optie omdat deze niet snel in de grond corrodeert. Deze monitor meet niet alleen de nattigheid van de grond, maar ook de luchtvochtigheid en temperatuur.

  plantmonitor in aarde die is aangesloten op een microcontroller

Er hoeven slechts vier pinnen van de plantmonitor naar uw Raspberry Pi Pico W te worden aangesloten:

importeer contacten van facebook naar gmail
  • GND gaat naar GND
  • 3V maakt verbinding met 3V3 Out
  • RX_IN vindt zijn weg naar GP0
  • TX_OUT komt GP1 tegen

Eenmaal aangesloten op stroom, kan uw Raspberry Pi Pico W zichzelf en de plantmonitor van stroom voorzien. U zult enkele lampjes op de hardware opmerken die bevestigen dat het apparaat in goede staat verkeert. Er is ook een LED-lampje dat groen, geel of rood zal schijnen (afhankelijk van het gedetecteerde vochtgehalte in uw grond).

Hoewel de Monk Makes Plant Monitor wordt geleverd met een aantal geweldige python-modules, moet je nog steeds wat eenvoudige code maken om de gezondheid van de bodem van je plant te controleren. U kunt de volgende python-bestanden uit onze MUO GitHub-repository .

Je hebt nodig pmon.py en test.py voor het bodemdetectiegedeelte en de pythonbestanden microdot.py , mm_wlan.py , en pico_w_server.py zal later worden gebruikt om de eenvoudige webserver te voltooien.

Dit is een goed moment om te pauzeren en jezelf op te frissen subtiele verschillen tussen MicroPython en Python als je dat nog niet hebt gedaan.

Het python-bestand, pmon.py , creëert een MicroPython-klasse voor de plantmonitor. UART zorgt voor de duplex datatransmissie en dan is ook wat werk nodig om analoog naar digitaal om te zetten. Je zult ook merken dat de nattigheid , temp , en vochtigheid functies worden ook in dit bestand gedefinieerd.

    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")

Vervolgens heb je de test.py bestand verkregen van onze MUO GitHub-repository .

Je zult merken dat modules tijd, pm (van Plantenmonitor ), en machine zijn vereist om de gezondheid van uw plant goed te bewaken.

Als de Plantenmonitor module wordt geïmporteerd, is alles wat nodig is om de bodemgesteldheid te bewaken een simpele while-lus. Ook de afdrukken opdracht zal de bodemvochtigheid, temperatuur en vochtigheid uitlezingen na het uitvoeren uitvoeren test.py in Thonny.

 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)

Geen zin om je plant water te geven als de grond te droog is? Wijs uw pomprelais toe aan een pin op de Raspberry Pi Pico en gebruik een if-statement om te letten op een natheidswaarde (van de 100) om uw waterpomp via een relais te activeren om weer aan te zetten en water af te geven.

 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

Je zult wat testen willen doen om die perfecte balans te vinden om er zeker van te zijn dat je plant tevreden is met de hoeveelheid water die hij krijgt. Je kunt ook nog een if-opdracht toevoegen om via een relais een warmtelamp aan te zetten als je plant het te koud heeft.

ik heb geen toegang tot mijn Facebook-account

Eenvoudige webserver

Je hebt drie python-bestanden nodig, van onze MUO GitHub-repository , zodat uw Raspberry Pi Pico W de bodemstatistieken naar uw internetverbindingen thuis kan uitzenden:

  • microdot.py
  • mm_wlan.py
  • pico_w_server.py

De micropunt bestand behandelt de back-endfuncties om deze eenvoudige HTTP-gebaseerde webserver te maken en geeft de python-code-uitvoer weer als een html-gebaseerde webpagina die kan worden aangeroepen met behulp van het IP-adres van de Raspberry Pi Pico W.

De mm_wlan.py bestand biedt een eenvoudige manier om verbinding te maken met een draadloos netwerk. U ontvangt ofwel een IP-adres van uw Raspberry Pi Pico en een aangesloten bericht. Als de verbinding niet tot stand is gebracht, ontvangt u in plaats daarvan een bericht dat de verbinding is mislukt.

De pico_w_server.py -bestand is waar u de SSID invoert (onthoud dat de Raspberry Pi Pico W alleen verbinding maakt met 2,4 GHz SSID's) en uw Wi-Fi-wachtwoord. Binnen de HTML-sectie kunt u aanpassen wat uw webserver in een webbrowser zal weergeven. U kunt ook de opmerkingen uit de vernieuwingssectie verwijderen en het interval aanpassen als u niet wilt dat de webpagina elke seconde wordt vernieuwd.

Helemaal onderaan dit bestand kunt u ook de poort aanpassen. Dit is handig als u deze informatie buiten uw huis op internet wilt plaatsen.

Wanneer u uw test.py bestand, de vereiste serverpythonbestanden ( mm_wlan en pico_w_server ) worden voor u geïmporteerd. Nadat u de test.py bestand, pak het IP-adres van je Pi (te vinden in de Thonny-uitvoer) en voeg de poort toe die je hebt gebruikt (standaard is 80) vanuit elke webbrowser die thuis is verbonden met dezelfde 2,4 GHz SSID. Je zou zoiets als dit moeten zien:

  eenvoudige html-pagina met bodemstatistieken

Om de afhankelijkheid van uw aangesloten pc te verminderen, wijzigt u de test.py bestand naar hoofd.py en bespaar op uw Raspberry Pi Pico W. U kunt ook overwegen een LCD op uw Pico aan te sluiten, zodat u het display programmeert om het IP-adres uit te voeren (wanneer u de afhankelijkheid van uw aangesloten pc verwijdert).

Breng die groene duim terug

Met een geavanceerde bodemsensor en een eenvoudige webserver kunt u nu overal in huis de gezondheid van uw plant volgen via een webbrowser.

Voel je vrij om de code naar eigen inzicht aan te passen. Als je er klaar voor bent, overweeg dan om een ​​app voor bodemdetectie te maken die wat glans toevoegt aan de eenvoudige webserver die je zojuist hebt opgezet.

Om dit project compleet te maken, voegt u een pomp en relais toe, samen met een warmtelamp, en u heeft een volledig geautomatiseerde tuin. Nu kunt u uw 'groene vingers'-status voor altijd behouden.