Sukurkite automatizuotą sodininkystės sistemą naudodami Raspberry Pi Pico W

Sukurkite automatizuotą sodininkystės sistemą naudodami Raspberry Pi Pico W
Tokie skaitytojai kaip jūs padeda palaikyti MUO. Kai perkate naudodami nuorodas mūsų svetainėje, galime uždirbti filialų komisinius. Skaityti daugiau.

Turint žalią nykštį ir šiek tiek kantrybės, sodininkystė yra puikus hobis, nepaisant to, ar turite keletą egzotiškų augalų viduje, ar turite pilną lauko sodą su bulvėmis ir daugiamečiais augalais.





Be to, kartais jūsų kantrybė gali išsekti, kai augalai pradeda žūti dėl to, kas, atrodo, nėra tinkama priežastis.





Raspberry Pi Pico W gali padėti rasti sprendimą, užtikrinantį, kad augalai klestės nė piršto nepajudindami (na, beveik).





Pažiūrėkime, kaip augalų monitorius, tam tikras kodas ir mažas mikrovaldiklis stebės jūsų augalo sveikatą iš bet kurios jūsų namų vietos.

Reikalinga aparatinė įranga

Keista, bet nereikia daug techninės įrangos. Daug magijos yra augalų monitoriuje. Jums tikrai reikia tik kelių elementų, kad galėtumėte pradėti.



Nors šiame augalų monitoriuje galima naudoti aligatoriaus spaustukus, šiame projekte naudojamos kaiščių jungtys, pritvirtintos prie augalų stebėjimo įrenginio galinės pusės.

Sodininko padėjėjo nustatymas

Šis projektas apima augalų monitoriaus prijungimą prie Raspberry Pi Pico W, taip pat kodo kūrimą ir manipuliavimą, kad viskas veiktų. Norint pateikti paprastą tinklalapį, pasiekiamą per jūsų namų interneto ryšį, reikės žiniatinklio serverio.





Yra įvairių „Raspberry Pi Pico“ modelių versijų. Šiam projektui reikės naudoti Raspberry Pi Pico W. Norėdami sužinoti, ką gali padaryti Pico W, peržiūrėkite mūsų vadovą kas yra Pico W ir ką jis gali .

Pirmiausia įsitikinkime, kad gamyklos monitorius yra prijungtas ir tinkamai veikia. Vėliau straipsnyje aptarsite paprasto žiniatinklio serverio, naudojamo jūsų gamyklai stebėti, nustatymą naudojant bet kurį įrenginį, kuriame įgalinta naršyklė, prijungta prie jūsų namų tinklo.





Augalų monitoriaus paruošimas

Įvairiose interneto svetainėse galite įsigyti daugybę jutiklių, todėl sužinosite, kad kai kurie dirvožemio jutikliai lengvai susidėvės dirvožemyje, o kiti gana gerai atlaiko elementus. „Monk Makes Plant Monitor“ yra puikus pasirinkimas, nes jis nėra linkęs į koroziją dirvožemyje. Šis monitorius ne tik matuoja dirvožemio drėgnumą, bet ir drėgmę bei temperatūrą.

  augalų monitorius dirvožemyje, kuris yra prijungtas prie mikrovaldiklio

Iš augalų monitoriaus prie Raspberry Pi Pico W reikės prijungti tik keturis kaiščius:

  • GND pereina į GND
  • 3V jungiasi prie 3V3 Out
  • RX_IN suras kelią į GP0
  • TX_OUT susitiks su GP1

Prijungus prie maitinimo, jūsų Raspberry Pi Pico W galės tiekti maitinimą sau ir įrenginio monitoriui. Pamatysite kai kurias aparatūros lemputes, kurios patvirtina, kad įrenginys veikia. Taip pat yra LED lemputė, kuri šviečia žaliai, geltonai arba raudonai (atsižvelgiant į jūsų dirvožemyje aptiktą drėgmės lygį).

Nors „Monk Makes Plant Monitor“ yra su puikiais python moduliais, vis tiek turėsite sukurti paprastą kodą, kad galėtumėte stebėti savo augalo dirvožemio būklę. Iš mūsų galite paimti šiuos python failus MUO GitHub saugykla .

Tau prireiks pmon.py ir test.py dirvožemio jutimo daliai ir python failams microdot.py , mm_wlan.py , ir pico_w_server.py vėliau bus naudojamas paprastam žiniatinklio serveriui užbaigti.

koks yra memo pavyzdys?

Dabar puikus laikas sustoti ir atsigaivinti subtilūs MicroPython ir Python skirtumai jei to dar nepadarėte.

Python failas, pmon.py , sukuria augalų monitoriaus MicroPython klasę. UART pasirūpins dvipusiu duomenų perdavimu, tada taip pat reikės atlikti analoginį konvertavimą į skaitmeninį. Taip pat pastebėsite drėgnumas , temp , ir drėgmės funkcijos, taip pat apibrėžtos šiame faile.

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

Toliau jums reikės test.py failas, gautas iš mūsų MUO GitHub saugykla .

Jūs pastebėsite, kad moduliai laikas, pmon (nuo PlantMonitor ), ir mašina reikia tinkamai stebėti savo augalo sveikatą.

Kaip ir PlantMonitor modulis yra importuotas, viskas, ko reikia norint stebėti dirvožemio būklę, yra paprastas ciklas. Taip pat, spausdinti Komanda išves dirvožemio drėgmės, temperatūros ir drėgmės rodmenis po paleidimo test.py mieste 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)

Nesinori laistyti augalo, kai žemė per sausa? Priskirkite siurblio relę prie Raspberry Pi Pico kaiščio ir naudokite „if“ teiginį, kad stebėtumėte drėgnumo vertę (iš 100), kad per relę suaktyvintų vandens siurblį, kad jis įsijungtų ir vėl išleistų vandenį.

 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

Norėsite atlikti kai kuriuos bandymus, kad surastumėte tobulą pusiausvyrą, kad įsitikintumėte, jog jūsų augalas yra patenkintas gaunamo vandens kiekiu. Taip pat galite pridėti kitą if teiginį įjungti šilumos lemputę per relę, jei jūsų gamykloje per šalta.

Paprastas žiniatinklio serveris

Jums reikės trijų python failų iš mūsų MUO GitHub saugykla , kad jūsų Raspberry Pi Pico W galėtų transliuoti dirvožemio statistiką į jūsų namų interneto ryšius:

  • microdot.py
  • mm_wlan.py
  • pico_w_server.py

The mikrotaškas Failas tvarko galines funkcijas, kad sukurtų šį paprastą HTTP pagrindu sukurtą žiniatinklio serverį, ir rodo python kodo išvestį kaip html pagrįstą tinklalapį, kurį galima iškviesti naudojant Raspberry Pi Pico W IP adresą.

The mm_wlan.py failas siūlo paprastą būdą prisijungti prie belaidžio tinklo. Gausite Raspberry Pi Pico IP adresą ir susietą pranešimą. Jei nepavyko prisijungti, gausite pranešimą apie nepavyko prisijungti.

The pico_w_server.py faile įvesite SSID (atminkite, kad Raspberry Pi Pico W jungiasi tik prie 2,4 GHz SSID) ir „Wi-Fi“ slaptažodį. HTML skiltyje galite tinkinti, ką žiniatinklio serveris rodys žiniatinklio naršyklėje. Taip pat galite pašalinti komentarus iš atnaujinimo skilties ir pakoreguoti intervalą, jei nenorite, kad tinklalapis būtų atnaujinamas kas sekundę.

Pačiame šio failo apačioje taip pat galite tinkinti prievadą. Tai patogu, jei norite atskleisti šią informaciją internete už savo namų ribų.

Kai paleisite savo test.py failą, reikiamus serverio python failus ( mm_wlan ir pico_w_serveris ) yra importuoti už jus. Po to, kai paleisite test.py failą, paimkite IP adresą, jei jūsų Pi (rastas Thonny išvestyje) ir pridėkite prievadą, kurį naudojote (numatytasis yra 80) iš bet kurios žiniatinklio naršyklės, kuri namuose yra prijungta prie to paties 2,4 GHz SSID. Turėtumėte pamatyti kažką panašaus:

  paprastas html puslapis, kuriame rodoma dirvožemio statistika

Norėdami sumažinti prijungto kompiuterio priklausomybę, pakeiskite test.py failą į pagrindinis.py ir sutaupykite savo Raspberry Pi Pico W. Taip pat galite apsvarstyti galimybę prijungti skystųjų kristalų ekraną prie savo Pico, kad užprogramuotumėte ekraną išvesti IP adresą (kai pašalinsite prijungto kompiuterio priklausomybę).

Grąžink tą žalią nykštį

Su sudėtingu dirvožemio jutikliu ir paprastu žiniatinklio serveriu dabar galite stebėti savo augalo sveikatą naudodami žiniatinklio naršyklę bet kurioje savo namų vietoje.

Nedvejodami pakoreguokite kodą, kaip jums atrodo tinkama. Jei norite, apsvarstykite galimybę sukurti dirvožemio jutimo programą, kuri šiek tiek patobulintų ką tik nustatytą paprastą žiniatinklio serverį.

Kad šis projektas būtų užbaigtas, pridėkite siurblį ir relę bei šilumos lemputę ir turėsite visiškai automatizuotą sodą. Dabar galėsite amžinai išlaikyti savo „žalio nykščio“ būseną.

Kategorija DIY