Med grønn tommel og litt tålmodighet er hagearbeid en herlig hobby uansett om du har noen få eksotiske planter innendørs eller har en fullverdig utehage med poteter og stauder.
Med det sagt er det også tider når tålmodigheten din kan ta slutt når planter begynner å dø av det som ikke ser ut til å være noen god grunn i det hele tatt.
Raspberry Pi Pico W kan bidra til å gi en løsning for å sikre at plantene vil trives uten å løfte en finger i det hele tatt (vel, nesten).
La oss se på hvordan en plantemonitor, litt kode og en liten mikrokontroller vil holde oversikt over plantens helse fra hvor som helst i hjemmet ditt.
Nødvendig maskinvare
Overraskende nok er det ikke mye maskinvare som kreves. Mye av magien finnes i Plant Monitor. Du trenger egentlig bare noen få ting for å komme i gang.
- Plant Monitor av Monk Makes
- 4x hunn-hann jumper ledninger
- Raspberry Pi Pico W
Selv om denne plantemonitoren støtter bruk av krokodilleklemmer, bruker dette prosjektet pin-kontaktene festet på baksiden av planteovervåkingsenheten.
Sette opp hageassistenten
Dette prosjektet innebærer å koble plantemonitoren til din Raspberry Pi Pico W, i tillegg til å lage og manipulere kode for å få alt til å fungere. En nettserver vil være nødvendig for å betjene en enkel nettside som er tilgjengelig via internettforbindelsen hjemme.
Det finnes forskjellige modellversjoner av Raspberry Pi Pico. For dette prosjektet må du bruke en Raspberry Pi Pico W. For å lære om hva Pico W er i stand til, sjekk ut vår guide på hva Pico W er og hva den kan gjøre.
La oss først sørge for at anleggsmonitoren er tilkoblet og fungerer som den skal. Senere i artikkelen vil du ta for deg å sette opp en enkel webserver som brukes til å overvåke anlegget ditt med hvilken som helst nettleseraktivert enhet koblet til hjemmenettverket ditt.
Klargjøring av Plant Monitor
Med mange sensorer som er tilgjengelige for kjøp via forskjellige internettsider, vil du lære at noen jordsensorer slites lett ned i jord og andre tåler elementene ganske godt. Monk Makes Plant Monitor er et fint alternativ siden den ikke er utsatt for korrodering i jord. Ikke bare måler denne skjermen fuktighet i jorda, men den måler også fuktighet og temperatur.
Bare fire pinner må kobles fra anleggsmonitoren til din Raspberry Pi Pico W:
- GND går til GND
- 3V kobles til 3V3 Out
- RX_IN vil finne veien til GP0
- TX_OUT møter GP1
Når den er koblet til strøm, vil din Raspberry Pi Pico W kunne gi strøm til seg selv og anleggsmonitoren. Du vil se noen lys på maskinvaren som bekrefter at enheten fungerer. I tillegg er det et LED-lys som vil lyse grønt, gult eller rødt (avhengig av fuktighetsnivået i jorda).
Selv om Monk Makes Plant Monitor kommer med noen flotte pythonmoduler, må du fortsatt lage en enkel kode for å overvåke helsen til plantens jord. Du kan hente følgende python-filer fra vår MUO GitHub-depot.
Du vil trenge pmon.py og test.py for jordsensordelen og pythonfilene microdot.py, mm_wlan.py, og pico_w_server.py vil bli brukt til å fullføre den enkle webserveren senere.
Nå er en fin tid for å ta en pause og oppdatere deg selv med subtile forskjeller mellom MicroPython og Python hvis du ikke allerede har gjort det.
Python-filen, pmon.py, oppretter en MicroPython-klasse for anleggsmonitoren. UART vil ta seg av dupleksdataoverføringen og da er det også nødvendig med litt arbeid med å konvertere analogt til digitalt. Du vil også legge merke til fuktighet, temp, og luftfuktighet funksjoner som også er definert i denne filen.
defbli_våt(selv):
komme tilbake int(selv-.request_property("w"))defget_temp(selv):
komme tilbake flyte(selv-.request_property("t"))deffå_fuktighet(selv):
komme tilbake flyte(selv-.request_property("h"))defledet_av(selv):
selv-.uart.write("l")
defledet_på(selv):
selv-.uart.write("L")
Deretter trenger du test.py fil hentet fra vår MUO GitHub-depot.
Du vil legge merke til at moduler tid, pmon (fra PlantMonitor), og maskin er nødvendig for å overvåke plantens helse på riktig måte.
Som PlantMonitor modul er importert, alt som kreves for å overvåke jordforholdene er en enkel while-løkke. Også skrive ut kommandoen vil vise jordfuktighet, temperatur og fuktighetsavlesninger etter kjøring test.py i Thonny.
tid.søvn(2) # PlantMonitor oppstartstid
pm = PlantMonitor()
samtidig somekte:
w = pm.get_wetness()
t = pm.get_temp()
h = pm.get_humidity()
skrive ut("Våthet: {0} Temp: {1} Fuktighet: {2}".format (w, t, h))
tid.sove(1)
Har du ikke lyst til å vanne planten din når jorden er for tørr? Tilordne pumpereléet ditt til en pinne på Raspberry Pi Pico og bruk en if-setning for å se etter en fuktighetsverdi (av 100) for å utløse vannpumpen din, via et relé, for å slå på og dispensere vann en gang til.
relé1 = Pin(15, Pin. UTE) #relé er koblet opp til GP15 og GND
hvis w = 24# se etter en fuktighetsverdi på 24/100
relay1.value(1) # slå på releet
relé1(0) # slå av releet
Det er lurt å gjøre noen tester for å finne den perfekte balansen for å sikre at planten din er fornøyd med mengden vann den mottar. Du kan også legge til en annen if-erklæring for å slå på en varmelampe, via et relé, hvis anlegget ditt er for kaldt.
Enkel webserver
Du trenger tre python-filer fra vår MUO GitHub-depot, for at Raspberry Pi Pico W skal kunne kringkaste jordstatistikken til internettforbindelsene hjemme:
- microdot.py
- mm_wlan.py
- pico_w_server.py
De mikrodot fil håndterer back-end-funksjonene for å lage denne enkle HTTP-baserte webserveren og viser python-kode utdata som en html-basert nettside som kan kalles ved hjelp av IP-adressen til Raspberry Pi Pico W.
De mm_wlan.py fil tilbyr en enkel måte å koble til et trådløst nettverk. Du vil enten motta en IP-adresse til din Raspberry Pi Pico og en tilkoblet melding. Hvis tilkoblingen ikke var vellykket, vil du motta en melding om at tilkoblingen mislyktes i stedet.
De pico_w_server.py filen er der du skriver inn SSID (husk at Raspberry Pi Pico W bare kobles til 2,4 GHz SSID) og Wi-Fi-passordet ditt. Innenfor HTML-delen kan du tilpasse hva nettserveren din skal vise i en nettleser. Du kan også fjerne kommentarene fra oppdateringsdelen og justere intervallet hvis du ikke vil at nettsiden skal oppdateres hvert sekund eller så.
Helt nederst i denne filen kan du også tilpasse porten. Dette er nyttig hvis du ønsker å eksponere denne informasjonen til internett utenfor hjemmet ditt.
Når du kjører din test.py fil, de nødvendige server python-filene (mm_wlan og pico_w_server) er importert for deg. Etter at du har kjørt test.py fil, ta tak i IP-adressen hvis Pi-en din (finnes i Thonny-utgangen) og legg til porten du har brukt (standard er 80) fra en hvilken som helst nettleser som er koblet til samme 2,4 GHz SSID hjemme. Du bør se noe slikt:
For å redusere avhengigheten til den tilkoblede PC-en, endre test.py fil til main.py og spar på din Raspberry Pi Pico W. Det kan også være lurt å vurdere å koble en LCD-skjerm til din Pico slik at du programmerer skjermen til å sende ut IP-adressen (når du fjerner avhengigheten til den tilkoblede PC-en).
Ta tilbake den grønne tommelen
Med en sofistikert jordsensor og en enkel webserver kan du nå overvåke plantens helse fra en nettleser hvor som helst i hjemmet ditt.
Føl deg fri til å finpusse koden slik du ønsker. Hvis du er klar for det, bør du vurdere å lage en jordregistreringsapp som tilfører litt polering til den enkle webserveren du nettopp har satt opp.
For å få dette prosjektet til å føles komplett, legg til en pumpe og relé, sammen med en varmelampe, og du får en helautomatisert hage. Nå vil du alltid kunne opprettholde statusen "grønn tommel".