Byg et automatiseret havesystem med Raspberry Pi Pico W

Byg et automatiseret havesystem med Raspberry Pi Pico W
Læsere som dig hjælper med at støtte MUO. Når du foretager et køb ved hjælp af links på vores websted, kan vi optjene en affiliate-kommission. Læs mere.

Med en grøn tommelfinger og lidt tålmodighed er havearbejde en dejlig hobby, uanset om du har et par eksotiske planter indendørs eller har en fuld udehave med kartofler og stauder.





Når det er sagt, er der også tidspunkter, hvor din tålmodighed kan løbe tør, når planter begynder at dø af, hvad der synes at være nogen god grund overhovedet.





hvordan man organiserer enenote til arbejde

Raspberry Pi Pico W kan være med til at give en løsning, der sikrer, at planter trives uden at løfte en finger overhovedet (nå, næsten).





Lad os gennemgå, hvordan en plantemonitor, noget kode og en lille mikrocontroller vil holde styr på din plantes sundhed uanset hvor i dit hjem.

Nødvendig hardware

Overraskende nok kræves der ikke meget hardware. Meget af magien er indeholdt i Plant Monitor. Du behøver faktisk kun få ting for at komme i gang.



Selvom denne plantemonitor understøtter brugen af ​​krokodilleklemmer, bruger dette projekt stiftforbindelserne, der er fastgjort til bagsiden af ​​planteovervågningsenheden.

Opsætning af haveassistenten

Dette projekt involverer at forbinde plantemonitoren til din Raspberry Pi Pico W, samt oprette og manipulere kode for at få alt til at fungere. En webserver vil være påkrævet for at betjene en simpel webside, der er tilgængelig i din hjemmeinternetforbindelse.





Der er forskellige modelversioner af Raspberry Pi Pico. Til dette projekt skal du bruge en Raspberry Pi Pico W. For at lære om, hvad Pico W er i stand til, tjek vores guide på hvad Pico W er, og hvad den kan .

Lad os først sikre, at anlægsmonitoren er tilsluttet og fungerer korrekt. Senere i artiklen vil du tackle opsætningen af ​​en simpel webserver, der bruges til at overvåge dit anlæg med en hvilken som helst browseraktiveret enhed, der er tilsluttet dit hjemmenetværk.





Klargøring af plantemonitoren

Med mange sensorer, der kan købes via forskellige internetsider, vil du opdage, at nogle jordsensorer nemt vil blive slidt ned i jorden, og andre tåler vejret ret godt. Monk Makes Plant Monitor er en god mulighed, da den ikke er tilbøjelig til at korrodere i jord. Denne monitor måler ikke kun jordens fugtighed, den måler også fugt og temperatur.

  plantemonitor i jord, der er tilsluttet en mikrocontroller

Kun fire ben skal tilsluttes fra plantemonitoren til din Raspberry Pi Pico W:

  • GND går til GND
  • 3V tilsluttes til 3V3 Out
  • RX_IN vil finde vej til GP0
  • TX_OUT mødes med GP1

Når først den er tilsluttet strøm, vil din Raspberry Pi Pico W være i stand til at levere strøm til sig selv og plantemonitoren. Du vil bemærke nogle lys på hardwaren, der bekræfter, at enheden fungerer. Der er også et LED-lys, der lyser grønt, gult eller rødt (afhængigt af fugtniveauet i din jord).

Selvom Monk Makes Plant Monitor kommer med nogle fantastiske python-moduler, skal du stadig oprette en simpel kode for at overvåge sundheden for din plantes jord. Du kan få fat i følgende python-filer fra vores MUO GitHub repository .

Du skal bruge pmon.py og test.py til jordregistreringsdelen og pythonfilerne microdot.py , mm_wlan.py , og pico_w_server.py vil blive brugt til at færdiggøre den simple webserver senere.

Nu er det et godt tidspunkt at holde pause og genopfriske dig selv med subtile forskelle mellem MicroPython og Python hvis du ikke allerede har gjort det.

Python-filen, pmon.py , opretter en MicroPython-klasse til anlægsmonitoren. UART vil tage sig af duplex datatransmissionen, og så er det også nødvendigt med noget arbejde med at konvertere analogt til digitalt. Du vil også bemærke fugtighed , Midlertidig , og fugtighed funktioner, der også defineres i denne fil.

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

Dernæst skal du bruge test.py fil hentet fra vores MUO GitHub repository .

Du vil bemærke, at moduler tid, pmon (fra PlantMonitor ), og maskine er nødvendige for at overvåge din plantes sundhed korrekt.

Som PlantMonitor modul er importeret, alt hvad der kræves for at overvåge jordbundsforholdene er en simpel while-løkke. Også den Print kommandoen udsender jordfugtighed, temperatur og fugtighedsudlæsninger efter kørsel test.py i 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)

Har du ikke lyst til at vande din plante, når jorden er for tør? Tildel dit pumperelæ til en pin på Raspberry Pi Pico, og brug en if-erklæring til at holde øje med en fugtighedsværdi (ud af 100) for at aktivere din vandpumpe via et relæ til at tænde og dispensere vand igen.

 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

Du vil gerne lave nogle test for at finde den perfekte balance for at sikre, at din plante er tilfreds med den mængde vand, den modtager. Du kan også tilføje en anden if-erklæring for at tænde en varmelampe via et relæ, hvis dit anlæg er for koldt.

Simpel webserver

Du skal bruge tre python-filer fra vores MUO GitHub repository , for at din Raspberry Pi Pico W kan udsende jordbundsstatistikken til dine hjemmeinternetforbindelser:

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

Det mikroprik fil håndterer backend-funktionerne til at skabe denne simple HTTP-baserede webserver og viser python-kodeoutputtet som en html-baseret webside, der kan kaldes ved hjælp af IP-adressen på Raspberry Pi Pico W.

Det mm_wlan.py fil tilbyder en enkel måde at oprette forbindelse til et trådløst netværk på. Du modtager enten en IP-adresse på din Raspberry Pi Pico og en tilsluttet besked. Hvis forbindelsen ikke lykkedes, vil du i stedet modtage en meddelelse om, at forbindelsen mislykkedes.

hvad man skal gøre, når man keder sig online

Det pico_w_server.py fil er der, hvor du indtaster SSID'et (husk, at Raspberry Pi Pico W kun opretter forbindelse til 2,4 GHz SSID'er) og din Wi-Fi-adgangskode. I HTML-sektionen kan du tilpasse, hvad din webserver skal vise i en webbrowser. Du kan også fjerne kommentarerne fra opdateringssektionen og justere intervallet, hvis du ikke vil have, at websiden opdateres hvert sekund eller deromkring.

Helt nederst i denne fil kan du også tilpasse porten. Dette er praktisk, hvis du ønsker at eksponere disse oplysninger til internettet uden for dit hjem.

Når du kører din test.py fil, de nødvendige server python-filer ( mm_wlan og pico_w_server ) er importeret til dig. Efter du har kørt test.py fil, tag IP-adressen, hvis din Pi (findes i Thonny-outputtet) og tilføj den port, du har brugt (standard er 80) fra enhver webbrowser, der er tilsluttet det samme 2,4 GHz SSID derhjemme. Du burde se noget som dette:

  simpel html-side, der viser jordstatistik

For at reducere afhængigheden af ​​din tilsluttede pc skal du ændre test.py fil til main.py og gem på din Raspberry Pi Pico W. Du kan også overveje at tilslutte en LCD til din Pico, så du programmerer skærmen til at udsende IP-adressen (når du fjerner afhængigheden af ​​din tilsluttede pc).

Bring den grønne tommelfinger tilbage

Med en sofistikeret jordsensor og en simpel webserver kan du nu overvåge din plantes sundhed fra en webbrowser hvor som helst i dit hjem.

Du er velkommen til at justere koden, som du finder passende. Hvis du er til det, så overvej at oprette en jordregistreringsapp, der tilføjer noget polish til den simple webserver, du lige har sat op.

For at få dette projekt til at føles komplet, skal du tilføje en pumpe og et relæ sammen med en varmelampe, og du får dig selv en fuldautomatisk have. Nu vil du for evigt kunne bevare din 'grønne tommelfinger'-status.