Med en grön tumme och lite tålamod är trädgårdsarbete en härlig hobby oavsett om du har några exotiska växter inomhus eller har en fullfjädrad utomhusträdgård med potatis och perenner.
Med det sagt, det finns också tillfällen då ditt tålamod kan ta slut när växter börjar dö av något som inte verkar vara någon bra anledning alls.
Raspberry Pi Pico W kan hjälpa till att tillhandahålla en lösning för att säkerställa att växter kommer att trivas utan att lyfta ett finger alls (nåja, nästan).
Låt oss se över hur en växtmonitor, lite kod och en liten mikrokontroller kommer att hålla reda på din växts hälsa var som helst i ditt hem.
Nödvändig hårdvara
Överraskande nog krävs det inte mycket hårdvara. Mycket av magin finns i Plant Monitor. Du behöver egentligen bara några få saker för att komma igång.
- Plant Monitor av Monk Makes
- 4x hona-hane bygeltrådar
- Raspberry Pi Pico W
Även om denna anläggningsmonitor stöder användningen av krokodilklämmor, använder detta projekt stiftanslutningarna som är fästa på baksidan av anläggningsövervakningsenheten.
Konfigurera trädgårdsassistenten
Detta projekt involverar att ansluta växtmonitorn till din Raspberry Pi Pico W, samt att skapa och manipulera kod för att få allt att fungera. En webbserver kommer att krävas för att tillhandahålla en enkel webbsida som är tillgänglig i din internetanslutning hemma.
Det finns olika modellversioner av Raspberry Pi Pico. För detta projekt måste du använda en Raspberry Pi Pico W. För att lära dig mer om vad Pico W kan, kolla in vår guide på vad Pico W är och vad den kan göra.
Låt oss först se till att anläggningsmonitorn är ansluten och fungerar korrekt. Längre fram i artikeln kommer du att ta itu med installationen av en enkel webbserver som används för att övervaka din anläggning med valfri webbläsaraktiverad enhet ansluten till ditt hemnätverk.
Förbereda växtmonitorn
Med många sensorer tillgängliga att köpa via olika webbplatser kommer du att lära dig att vissa jordsensorer lätt slits ner i jorden och andra står emot väder och vind. Monk Makes Plant Monitor är ett bra alternativ eftersom den inte är benägen att korrodera i jord. Denna monitor mäter inte bara jordens fuktighet, den mäter också fuktighet och temperatur också.
Endast fyra stift behöver anslutas från anläggningsmonitorn till din Raspberry Pi Pico W:
- GND går till GND
- 3V ansluts till 3V3 Out
- RX_IN kommer att hitta till GP0
- TX_OUT möter GP1
När den är ansluten till ström, kommer din Raspberry Pi Pico W att kunna ge ström till sig själv och anläggningsmonitorn. Du kommer att märka några lampor på hårdvaran som bekräftar att enheten fungerar. Dessutom finns det en LED-lampa som lyser grönt, gult eller rött (beroende på fuktnivån som upptäcks i din jord).
Även om Monk Makes Plant Monitor kommer med några bra pythonmoduler, måste du fortfarande skapa en enkel kod för att övervaka hälsan hos din växts jord. Du kan hämta följande python-filer från vår MUO GitHub-förråd.
Du kommer att behöva pmon.py och test.py för markavkänningsdelen och pythonfilerna microdot.py, mm_wlan.py, och pico_w_server.py kommer att användas för att slutföra den enkla webbservern senare.
Nu är en bra tid att pausa och fräscha upp dig själv med subtila skillnader mellan MicroPython och Python om du inte redan har gjort det.
Python-filen, pmon.py, skapar en MicroPython-klass för anläggningsmonitorn. UART kommer att ta hand om duplexdataöverföringen och då krävs också en del arbete med att konvertera analogt till digitalt. Du kommer också att märka fuktighet, temp, och fuktighet funktioner som också definieras i den här filen.
defbli_väta(själv):
lämna tillbaka int(själv.request_property("w"))defget_temp(själv):
lämna tillbaka flyta(själv.request_property("t"))deffå_fuktighet(själv):
lämna tillbaka flyta(själv.request_property("h"))defled_off(själv):
själv.uart.write("l")
defled_on(själv):
själv.uart.write("L")
Därefter behöver du test.py fil hämtad från vår MUO GitHub-förråd.
Du kommer att märka att moduler tid, pmon (från PlantMonitor), och maskin krävs o korrekt övervaka din växts hälsa.
Som den PlantMonitor modulen är importerad, allt som krävs för att övervaka markförhållandena är en enkel while-loop. Även skriva ut kommandot matar ut markfuktighet, temperatur och fuktighetsavläsningar efter körning test.py i Thonny.
tid.sömn(2) # PlantMonitor starttid
pm = PlantMonitor()
medanSann:
w = pm.get_wetness()
t = pm.get_temp()
h = pm.get_humidity()
skriva ut("Våthet: {0} Temp: {1} Luftfuktighet: {2}".format (w, t, h))
tid.sova(1)
Känner du inte för att vattna din växt när jorden är för torr? Tilldela ditt pumprelä till ett stift på Raspberry Pi Pico och använd en if-sats för att se efter en fuktighetsvärde (av 100) för att trigga din vattenpump, via ett relä, för att slå på och mata ut vatten igen.
relä1 = Pin(15, Pin. UT) #relä är kopplat till GP15 och GND
om w = 24# se efter ett fuktighetsvärde på 24/100
relay1.value(1) # slå på reläet
relä1(0) # stäng av reläet
Du kommer att vilja göra några tester för att hitta den perfekta balansen för att säkerställa att din växt är nöjd med mängden vatten den får. Du kan också lägga till ett annat if-meddelande för att slå på en värmelampa, via ett relä, om din anläggning är för kall.
Enkel webbserver
Du behöver tre python-filer från vår MUO GitHub-förråd, för att din Raspberry Pi Pico W ska kunna sända markstatistiken till dina internetanslutningar hemma:
- microdot.py
- mm_wlan.py
- pico_w_server.py
De mikroprick fil hanterar back-end-funktionerna för att skapa denna enkla HTTP-baserade webbserver och visar python-kod utdata som en html-baserad webbsida som kan anropas med IP-adressen för Raspberry Pi Pico W.
De mm_wlan.py fil erbjuder ett enkelt sätt att ansluta till ett trådlöst nätverk. Du får antingen en IP-adress till din Raspberry Pi Pico och ett anslutet meddelande. Om anslutningen inte lyckades får du ett meddelande om att anslutningen misslyckades istället.
De pico_w_server.py filen är där du anger SSID (kom ihåg att Raspberry Pi Pico W bara ansluter till 2,4 GHz SSID) och ditt Wi-Fi-lösenord. Inom HTML-sektionen kan du anpassa vad din webbserver ska visa i en webbläsare. Du kan också ta bort kommentarerna från uppdateringssektionen och justera intervallet om du inte vill att webbsidan uppdateras varje sekund eller så.
Längst ner i den här filen kan du också anpassa porten. Detta är praktiskt om du vill exponera denna information för internet utanför ditt hem.
När du kör din test.py fil, de nödvändiga server python-filerna (mm_wlan och pico_w_server) importeras åt dig. Efter att du kört test.py fil, ta IP-adressen om din Pi (finns i Thonny-utgången) och lägg till porten du har använt (standard är 80) från valfri webbläsare som är ansluten till samma 2,4 GHz SSID hemma. Du borde se något sånt här:
För att minska beroendet för din anslutna dator, ändra test.py fil till main.py och spara på din Raspberry Pi Pico W. Du kanske också vill överväga att ansluta en LCD-skärm till din Pico så att du programmerar skärmen att mata ut IP-adressen (när du tar bort beroendet av din anslutna dator).
Ta tillbaka den gröna tummen
Med en sofistikerad jordsensor och en enkel webbserver kan du nu övervaka din växts hälsa från en webbläsare var som helst i ditt hem.
Justera gärna koden som du vill. Om du är sugen på det, överväg att skapa en jordavkänningsapp som lägger till lite polering till den enkla webbservern du just har konfigurerat.
För att få det här projektet att kännas komplett, lägg till en pump och ett relä, tillsammans med en värmelampa, så får du en helautomatisk trädgård. Nu kommer du att för alltid kunna behålla din "gröna tumme"-status.