Zöld hüvelykujjjal és némi türelemmel a kertészkedés nagyszerű hobbi, függetlenül attól, hogy van-e néhány egzotikus növény beltéren, vagy van-e kivirágzott kültéri kertje burgonyával és évelő növényekkel.
Ennek ellenére előfordulhat, hogy elfogy a türelme, amikor a növények elkezdenek elpusztulni, aminek látszólag egyáltalán nem volt jó oka.
A Raspberry Pi Pico W megoldást kínálhat annak biztosítására, hogy a növények anélkül is boldoguljanak, hogy egy ujjunkat sem kell felemelni (hát, majdnem).
Tekintsük át, hogyan fogja nyomon követni egy növényfigyelő, néhány kód és egy apró mikrokontroller a növény egészségi állapotát bárhonnan otthonában.
Szükséges hardver
Meglepő módon nincs sok hardver szükséges. A varázslatok nagy része a Plant Monitorban található. Valójában csak néhány elemre van szüksége az induláshoz.
- Növényfigyelő, Monk Makes
- 4x anya-apa áthidaló vezetékek
- Raspberry Pi Pico W
Bár ez a növényfigyelő támogatja az aligátorkapcsok használatát, ez a projekt a növényfigyelő eszköz hátuljához csatlakoztatott tűs csatlakozókat használja.
A kertészeti asszisztens beállítása
Ez a projekt magában foglalja az üzemmonitor csatlakoztatását a Raspberry Pi Pico W-hez, valamint kód létrehozását és kezelését, hogy minden működjön. Egy webszerverre lesz szükség az otthoni internetkapcsolaton keresztül elérhető egyszerű weboldal kiszolgálásához.
A Raspberry Pi Pico különböző modellváltozatai léteznek. Ehhez a projekthez Raspberry Pi Pico W-t kell használnia. Ha meg szeretné tudni, mire képes a Pico W, tekintse meg útmutatónkat mi az a Pico W és mire képes.
Először is győződjön meg arról, hogy az üzemfigyelő csatlakoztatva van és megfelelően működik. A cikk későbbi részében egy egyszerű webszerver beállításával fog foglalkozni, amellyel az üzem monitorozására használható bármely, az otthoni hálózathoz csatlakoztatott böngészőképes eszközzel.
A növényfigyelő előkészítése
A különféle internetes oldalakon számos érzékelő megvásárolható, így megtudhatja, hogy egyes talajérzékelők könnyen elhasználódnak a talajban, mások pedig meglehetősen jól ellenállnak az elemeknek. A Monk Makes Plant Monitor jó választás, mivel nem hajlamos a talaj korrodálódására. Ez a monitor nemcsak a talaj nedvességét méri, hanem a páratartalmat és a hőmérsékletet is.
Csak négy érintkezőt kell csatlakoztatni a növénymonitortól a Raspberry Pi Pico W-hez:
- A GND a GND-hez megy
- 3V csatlakozik a 3V3 kimenethez
- Az RX_IN megtalálja az utat a GP0-hoz
- A TX_OUT találkozik a GP1-gyel
Miután csatlakoztatta az áramellátáshoz, a Raspberry Pi Pico W képes lesz árammal ellátni önmagát és a növényfigyelőt. Észrevesz néhány jelzőfényt a hardveren, amelyek megerősítik, hogy az eszköz működőképes. Ezenkívül van egy LED-lámpa, amely zölden, sárgán vagy pirosan világít (a talaj nedvességtartalmától függően).
Bár a Monk Makes Plant Monitor néhány nagyszerű python modullal rendelkezik, mégis létre kell hoznia néhány egyszerű kódot, hogy figyelemmel kísérhesse növénye talajának állapotát. A következő python fájlokat letöltheti tőlünk MUO GitHub adattár.
Szükséged lesz pmon.py és test.py a talajérzékelő részhez és a python fájlokhoz microdot.py, mm_wlan.py, és pico_w_server.py az egyszerű webszerver későbbi befejezéséhez.
Itt az alkalom, hogy megállj és felfrissítsd magad apró különbségek a MicroPython és a Python között ha még nem tette meg.
A python fájl, pmon.py, létrehoz egy MicroPython osztályt a növényfigyelőhöz. Az UART gondoskodik a duplex adatátvitelről, majd az analóg digitálisvá konvertálása is szükséges. Azt is észre fogja venni a nedvesség, hőm, és páratartalom függvények is definiálva vannak ebben a fájlban.
defget_wetness(maga):
Visszatérés int(maga.request_property("w"))defget_temp(maga):
Visszatérés úszó(maga.request_property("t"))defget_humidity(maga):
Visszatérés úszó(maga.request_property("h"))defled_off(maga):
maga.uart.write("l")
defled_on(maga):
maga.uart.write("L")
Ezután szüksége lesz a test.py tőlünk kapott fájl MUO GitHub adattár.
Észre fogja venni, hogy a modulok idő, pmon (tól től PlantMonitor), és gép szükséges, hogy megfelelően ellenőrizze a növény egészségét.
Ahogy a PlantMonitor modul importálva van, mindössze egy egyszerű while ciklusra van szükség a talajviszonyok figyeléséhez. Továbbá a nyomtatás A parancs futtatás után kiadja a talaj nedvességtartalmát, hőmérsékletét és páratartalmát test.py Thonnyban.
time.sleep(2) # A PlantMonitor indítási ideje
pm = PlantMonitor()
mígIgaz:
w = pm.get_wetness()
t = pm.get_temp()
h = pm.get_humidity()
nyomtatás("Nedvesség: {0} Hőmérséklet: {1} Páratartalom: {2}".formátum (w, t, h))
idő.alvás(1)
Nincs kedve öntözni a növényt, ha a talaj túl száraz? Rendelje hozzá a szivattyú relét a Raspberry Pi Pico tűjéhez, és használja az if utasítást, hogy figyeljen nedvességi érték (100-ból) a vízszivattyú aktiválásához egy relén keresztül, hogy bekapcsolja és kiadja a vizet újra.
relay1 = Pin(15, Pin. KI) #relé GP15-ig és GND-ig van bekötve
ha w = 24# figyeljen a 24/100 nedvességi értékre
relay1.value(1) # kapcsolja be a relét
relé1(0) # kapcsolja ki a relét
Érdemes néhány tesztet elvégezni annak érdekében, hogy megtalálja a tökéletes egyensúlyt, hogy megbizonyosodjon arról, hogy a növény elégedett a kapott vízmennyiséggel. Hozzáadhat egy másik if utasítást a hőlámpa bekapcsolására egy relén keresztül, ha az üzem túl hideg.
Egyszerű webszerver
Három python fájlra lesz szüksége a mi tőlünk MUO GitHub adattár, hogy a Raspberry Pi Pico W sugározza a talajstatisztikát otthoni internetkapcsolataira:
- microdot.py
- mm_wlan.py
- pico_w_server.py
A mikropont fájl kezeli a háttérfunkciókat, hogy létrehozza ezt az egyszerű HTTP-alapú webszervert, és megjeleníti a python kód kimenete html alapú weboldalként, amely a Raspberry Pi IP-címével hívható meg Pico W.
A mm_wlan.py fájl egyszerű módot kínál a vezeték nélküli hálózathoz való csatlakozásra. Megkapja a Raspberry Pi Pico IP-címét és a kapcsolódó üzenetet. Ha a kapcsolat sikertelen volt, akkor helyette a Sikertelen kapcsolat üzenetet kapja.
A pico_w_server.py fájlba írja be az SSID-t (ne feledje, hogy a Raspberry Pi Pico W csak 2,4 GHz-es SSID-ekhez csatlakozik) és a Wi-Fi jelszavát. A HTML részben testreszabhatja, hogy a webszerver mit jelenítsen meg a webböngészőben. Eltávolíthatja a megjegyzéseket a frissítési szakaszból, és módosíthatja az intervallumot, ha nem szeretné, hogy a weboldal másodpercenként frissüljön.
A fájl alján testreszabhatja a portot is. Ez akkor hasznos, ha ezeket az információkat az otthonán kívül szeretné az interneten megjeleníteni.
Amikor futtatod a test.py fájlt, a szükséges szerver python fájlokat (mm_wlan és pico_w_server) importálják az Ön számára. Miután futtatta a test.py fájlt, vegye meg az IP-címet, ha a Pi (a Thonny kimenetben található), és adja hozzá a használt portot (alapértelmezett 80) bármely olyan webböngészőből, amely otthon ugyanahhoz a 2,4 GHz-es SSID-hez csatlakozik. Valami ilyesmit kellene látnod:
A csatlakoztatott számítógép függőségének csökkentése érdekében módosítsa a test.py fájlba main.py és spóroljon Raspberry Pi Pico W készülékén. Érdemes lehet LCD-t is csatlakoztatni a Pico-hoz, hogy beprogramozza a kijelzőt az IP-cím kiadására (amikor eltávolítja a csatlakoztatott számítógép függőségét).
Hozd vissza azt a zöld hüvelykujjat
Egy kifinomult talajérzékelővel és egy egyszerű webszerverrel mostantól otthona bármely pontján webböngészőből nyomon követheti növénye egészségi állapotát.
Nyugodtan módosítsa a kódot, ahogy jónak látja. Ha készen áll rá, fontolja meg egy talajérzékelő alkalmazás létrehozását, amely némi fényezést ad az imént beállított egyszerű webszerveren.
Ahhoz, hogy ez a projekt teljesnek érezze magát, adjon hozzá egy szivattyút és relét, valamint egy hőlámpát, és máris teljesen automatizált kertje lesz. Most már örökre megőrizheti „zöld hüvelykujj” állapotát.