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.
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.
- Plant Monitor fra Monk Makes
- 4x hun-han jumper ledninger
- Raspberry Pi Pico W
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 let vil slides 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.
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.
deffå_væde(selv):
Vend tilbage int(selv.request_property("w"))defget_temp(selv):
Vend tilbage flyde(selv.request_property("t"))deffå_fugtighed(selv):
Vend tilbage flyde(selv.request_property("h"))defled_off(selv):
selv.uart.write("l")
defled_på(selv):
selv.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.
tid.søvn(2) # PlantMonitor opstartstid
pm = PlantMonitor()
mensRigtigt:
w = pm.get_wetness()
t = pm.get_temp()
h = pm.get_humidity()
Print("Fugtighed: {0} Temp: {1} Luftfugtighed: {2}".format (w, t, h))
tid.søvn(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-sætning til at se efter fugtighedsværdi (ud af 100) for at aktivere din vandpumpe, via et relæ, til at tænde og dispensere vand en gang til.
relæ1 = Pin(15, Pin. UD) #relæ er tilsluttet til GP15 og GND
hvis w = 24# hold øje med en fugtighedsværdi på 24/100
relæ1.værdi(1) # tænd for relæet
relæ1(0) # sluk for relæet
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 for at skabe denne simple HTTP-baserede webserver og viser python kode output 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.
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:
For at reducere afhængigheden af din tilsluttede pc skal du ændre test.py fil til main.py og spar 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.