Rakenna automatisoitu puutarhanhoitojärjestelmä Raspberry Pi Pico W:n avulla

Rakenna automatisoitu puutarhanhoitojärjestelmä Raspberry Pi Pico W:n avulla
Kaltaisesi lukijat auttavat tukemaan MUO:ta. Kun teet ostoksen käyttämällä sivustollamme olevia linkkejä, voimme ansaita kumppanipalkkion. Lue lisää.

Vihreällä peukalolla ja kärsivällisyydellä puutarhanhoito on ihana harrastus riippumatta siitä, onko sinulla muutama eksoottinen kasvi sisällä tai sinulla on täysimittainen ulkopuutarha, jossa on perunoita ja perennoja.





On myös aikoja, jolloin kärsivällisyytesi voi loppua, kun kasvit alkavat kuolla, mikä ei näytä olevan hyvä syy.





Raspberry Pi Pico W voi auttaa tarjoamaan ratkaisun, jolla varmistetaan, että kasvit viihtyvät ilman sormeakaan (no, melkein).





Katsotaanpa, kuinka kasvimonitori, koodi ja pieni mikro-ohjain pitävät kirjaa kasvisi terveydestä mistä tahansa kodistasi.

Vaadittu laitteisto

Yllättäen ei vaadita paljon laitteistoa. Plant Monitor sisältää paljon taikuutta. Tarvitset todella vain muutaman kohteen aloittaaksesi.



Vaikka tämä kasvimonitori tukee alligaattoripidikkeiden käyttöä, tässä projektissa hyödynnetään kasvinvalvontalaitteen takapuolelle kiinnitettyjä nastaliittimiä.

miksi iPhone ei lähetä tekstiviestejä?

Puutarhanhoitoavustajan asettaminen

Tämä projekti sisältää kasvimonitorin liittämisen Raspberry Pi Pico W:hen sekä koodin luomisen ja muokkaamisen, jotta kaikki toimii. Web-palvelinta tarvitaan palvelemaan yksinkertaista verkkosivua, joka on käytettävissä kotisi Internet-yhteydellä.





Raspberry Pi Picosta on olemassa erilaisia ​​malliversioita. Tätä projektia varten sinun on käytettävä Raspberry Pi Pico W:tä. Saat lisätietoja siitä, mihin Pico W pystyy, tutustumalla oppaaseemme mikä Pico W on ja mitä se voi tehdä .

Varmista ensin, että laitoksen valvonta on kytketty ja toimii oikein. Myöhemmin artikkelissa käsittelet yksinkertaisen verkkopalvelimen perustamista, jota käytetään laitoksesi valvontaan millä tahansa kotiverkkoosi liitetyllä selainkäyttöisellä laitteella.





Plant Monitorin valmistelu

Useita antureita on ostettavissa useiden Internet-sivustojen kautta, joten tulet oppimaan, että jotkin maa-anturit kuluvat helposti maaperässä ja toiset kestävät elementtejä melko hyvin. Monk Makes Plant Monitor on mukava vaihtoehto, koska se ei ole altis syöpymiselle maaperässä. Tämä näyttö ei vain mittaa maaperän kosteutta, vaan se mittaa myös kosteutta ja lämpötilaa.

  kasvimonitori maaperässä, joka on kytketty mikro-ohjaimeen

Vain neljä nastaa tarvitsee liittää kasvimonitorista Raspberry Pi Pico W:hen:

  • GND menee GND:lle
  • 3V liitetään 3V3 Outiin
  • RX_IN löytää tiensä GP0:aan
  • TX_OUT tapaa GP1:n

Kun Raspberry Pi Pico W on liitetty verkkovirtaan, se pystyy syöttämään virtaa itselleen ja laitoksen monitorille. Huomaat laitteistossa joitain valoja, jotka vahvistavat, että laite on toimintakunnossa. Lisäksi siinä on LED-valo, joka loistaa vihreänä, keltaisena tai punaisena (riippuen maaperäsi kosteustasosta).

Vaikka Monk Makes Plant Monitorin mukana tulee hienoja python-moduuleja, sinun on silti luotava yksinkertaista koodia kasvisi maaperän kunnon seuraamiseksi. Voit napata seuraavat python-tiedostot meiltä MUO GitHub-arkisto .

Sinä tulet tarvitsemaan pmon.py ja test.py maaperän tunnistavalle osalle ja python-tiedostoille microdot.py , mm_wlan.py , ja pico_w_server.py käytetään yksinkertaisen verkkopalvelimen viimeistelyyn myöhemmin.

paras paikka ostaa elokuvia verkossa

Nyt on hyvä hetki pysähtyä ja virkistäytyä hienovaraisia ​​eroja MicroPythonin ja Pythonin välillä jos et ole jo tehnyt niin.

Python-tiedosto, pmon.py , luo MicroPython-luokan kasvimonitorille. UART huolehtii duplex-tiedonsiirrosta ja sitten tarvitaan myös jonkin verran työtä analogisen muuntamisen digitaaliseksi. Huomaat myös kosteus , lämpötila , ja kosteus myös tässä tiedostossa määriteltyjä toimintoja.

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

Seuraavaksi tarvitset test.py tiedosto, joka on saatu meiltä MUO GitHub-arkisto .

Huomaat, että moduulit aika, pmon (alkaen PlantMonitor ), ja kone tarvitaan o valvomaan kunnolla kasvisi terveyttä.

Kuten PlantMonitor moduuli tuodaan, maaperän olosuhteiden tarkkailuun tarvitaan vain yksinkertainen while-silmukka. Myös, Tulosta komento tulostaa maaperän kosteus-, lämpötila- ja kosteuslukemat ajon jälkeen test.py vuonna 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)

Etkö tee mieli kastella kasviasi, kun maaperä on liian kuiva? Määritä pumpun rele Raspberry Pi Picon nastalle ja käytä if-lausetta kosteusarvon tarkkailemiseen (100:sta), joka käynnistää vesipumpun releen kautta, jolloin se käynnistyy ja annostelee vettä uudelleen.

 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

Haluat tehdä testejä löytääksesi täydellisen tasapainon varmistaaksesi, että kasvisi on tyytyväinen vastaanottamaansa vesimäärään. Voit myös lisätä toisen if-lauseen lämpölampun sytyttämiseksi releen kautta, jos laitoksesi on liian kylmä.

Yksinkertainen verkkopalvelin

Tarvitset kolme python-tiedostoa meiltä MUO GitHub-arkisto , jotta Raspberry Pi Pico W lähettää maaperän tilastotiedot kotisi Internet-yhteyksiisi:

miksi tietokoneella oleva aika on väärä?
  • microdot.py
  • mm_wlan.py
  • pico_w_server.py

The mikropiste tiedosto käsittelee taustatoiminnot tämän yksinkertaisen HTTP-pohjaisen verkkopalvelimen luomiseksi ja näyttää python-koodin tulosteen html-pohjaisena verkkosivuna, jota voidaan kutsua käyttämällä Raspberry Pi Pico W:n IP-osoitetta.

The mm_wlan.py tiedosto tarjoaa yksinkertaisen tavan muodostaa yhteys langattomaan verkkoon. Saat joko Raspberry Pi Picon IP-osoitteen ja yhdistetyn viestin. Jos yhteyden muodostaminen ei onnistunut, saat sen sijaan viestin yhteys epäonnistui.

The pico_w_server.py tiedostoon kirjoitat SSID:n (muista, että Raspberry Pi Pico W muodostaa yhteyden vain 2,4 GHz:n SSID:iin) ja Wi-Fi-salasanasi. HTML-osiossa voit mukauttaa, mitä verkkopalvelimesi näyttää verkkoselaimessa. Voit myös poistaa kommentit päivitysosiosta ja säätää väliä, jos et halua verkkosivun päivittyvän joka sekunti.

Tämän tiedoston alaosassa voit myös mukauttaa porttia. Tämä on kätevää, jos haluat paljastaa nämä tiedot Internetiin kotisi ulkopuolella.

Kun käytät omaa test.py tiedosto, vaaditut palvelinpython-tiedostot ( mm_wlan ja pico_w_server ) tuodaan sinulle. Kun olet ajanut test.py tiedosto, nappaa IP-osoite, jos Pi (löytyy Thonny-lähdöstä) ja lisää käyttämäsi portti (oletus on 80) mistä tahansa verkkoselaimesta, joka on yhdistetty samaan 2,4 GHz:n SSID:hen kotona. Sinun pitäisi nähdä jotain tämän kaltaista:

  yksinkertainen html-sivu, joka näyttää maaperän tilastot

Vähentääksesi liitetyn tietokoneesi riippuvuutta, vaihda test.py tiedosto main.py ja säästät Raspberry Pi Pico W:ssa. Voit myös harkita LCD-näytön liittämistä Picoon, jotta voit ohjelmoida näytön näyttämään IP-osoitteen (kun poistat liitetyn tietokoneesi riippuvuuden).

Tuo vihreä peukalo takaisin

Kehittyneen maa-anturin ja yksinkertaisen verkkopalvelimen avulla voit nyt seurata kasvisi terveyttä verkkoselaimella missä tahansa kotonasi.

Voit vapaasti muokata koodia parhaaksi katsomallasi tavalla. Jos olet valmis, harkitse maaperän tunnistussovelluksen luomista, joka viimeistelee juuri määrittämäsi yksinkertaisen verkkopalvelimen.

Jotta tämä projekti tuntuu täydelliseltä, lisää pumppu ja rele sekä lämpölamppu, niin saat täysin automatisoidun puutarhan. Nyt voit säilyttää 'vihreän peukalon' tilan ikuisesti.