Construiți un sistem automat de grădinărit cu Raspberry Pi Pico W

Construiți un sistem automat de grădinărit cu Raspberry Pi Pico W
Cititorii ca tine ajută la sprijinirea MUO. Când efectuați o achiziție folosind link-uri de pe site-ul nostru, este posibil să câștigăm un comision de afiliat. Citeste mai mult.

Cu degetul mare verde și puțină răbdare, grădinăritul este un hobby minunat, indiferent dacă aveți câteva plante exotice în interior sau aveți o grădină în aer liber cu cartofi și plante perene.





Acestea fiind spuse, există și momente în care răbdarea îți poate epuiza când plantele încep să moară din ceea ce pare să nu fie deloc un motiv întemeiat.





Raspberry Pi Pico W poate ajuta la furnizarea unei soluții pentru a se asigura că plantele vor prospera fără a ridica deloc un deget (ei bine, aproape).





Să analizăm modul în care un monitor al plantei, un cod și un microcontroler mic vor ține evidența sănătății plantei tale de oriunde în casa ta.

Hardware necesar

În mod surprinzător, nu este nevoie de mult hardware. O mare parte din magie este conținută în Monitorul Plantelor. Chiar ai nevoie doar de câteva elemente pentru a începe.



Deși acest monitor pentru plante acceptă utilizarea clemelor crocodili, acest proiect utilizează conectorii pin atașați pe partea din spate a dispozitivului de monitorizare a plantelor.

Configurarea asistentului de grădinărit

Acest proiect implică conectarea monitorului plantei la Raspberry Pi Pico W, precum și crearea și manipularea codului pentru ca totul să funcționeze. Va fi necesar un server web pentru a servi o pagină web simplă accesibilă în conexiunea dvs. la internet de acasă.





Există diferite versiuni de model ale Raspberry Pi Pico. Pentru acest proiect, va trebui să utilizați un Raspberry Pi Pico W. Pentru a afla de ce este capabil Pico W, consultați ghidul nostru pe ce este Pico W și ce poate face .

În primul rând, să ne asigurăm că monitorul instalației este conectat și funcționează corect. Mai târziu în articol, veți aborda configurarea unui server web simplu utilizat pentru a vă monitoriza instalația cu orice dispozitiv activat pentru browser conectat la rețeaua dvs. de domiciliu.





Pregătirea monitorului plantei

Cu mulți senzori disponibili pentru cumpărare prin diverse site-uri de internet, veți ajunge să aflați că unii senzori de sol se vor uza cu ușurință în sol, iar alții rezistă destul de bine la elemente. Monk Makes Plant Monitor este o opțiune bună, deoarece nu este predispus la coroziune în sol. Acest monitor nu numai că măsoară umiditatea solului, dar măsoară și umiditatea și temperatura.

  monitor de plante în sol care este conectat la un microcontroler

Doar patru pini vor trebui conectați de la monitorul plantei la Raspberry Pi Pico W:

cum se dezactivează blocarea ferestrelor pop-up pe Chrome
  • GND merge la GND
  • 3V se conectează la 3V3 Out
  • RX_IN își va găsi drumul către GP0
  • TX_OUT se va întâlni cu GP1

Odată conectat la curent, Raspberry Pi Pico W va putea furniza energie pentru sine și pentru monitorul plantei. Veți observa câteva lumini pe hardware care confirmă că dispozitivul este în stare de funcționare. De asemenea, există o lumină LED care va străluci în verde, galben sau roșu (în funcție de nivelul de umiditate detectat în sol).

Deși Monk Makes Plant Monitor vine cu câteva module python grozave, va trebui totuși să creați un cod simplu pentru a monitoriza starea de sănătate a solului plantei dvs. Puteți prelua următoarele fișiere Python de pe site-ul nostru Depozitul MUO GitHub .

O să ai nevoie pmon.py și test.py pentru porțiunea de detectare a solului și fișierele de piton micropunct.py , mm_wlan.py , și pico_w_server.py va fi folosit pentru a finaliza serverul web simplu mai târziu.

Acum este un moment grozav pentru a face o pauză și a vă împrospăta diferențe subtile dintre MicroPython și Python dacă nu ai făcut-o deja.

Fișierul python, pmon.py , creează o clasă MicroPython pentru monitorul plantei. UART se va ocupa de transmisia de date duplex, iar apoi este nevoie de unele lucrări de conversie analog în digital. Veți observa și umezeala , temp , și umiditate funcțiile fiind definite și în acest fișier.

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

În continuare, veți avea nevoie de test.py fisierul obtinut de la nostru Depozitul MUO GitHub .

Veți observa că modulele timp, pmon (din PlantMonitor ), și mașinărie sunt necesare pentru a monitoriza în mod corespunzător starea de sănătate a plantei dvs.

Dupa cum PlantMonitor modulul este importat, tot ceea ce este necesar pentru a monitoriza condițiile solului este o simplă buclă while. De asemenea imprimare comanda va afișa umiditatea solului, temperatura și umiditatea după rulare test.py în 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)

Nu ai chef să-ți udați planta când solul este prea uscat? Atribuiți releul pompei unui pin de pe Raspberry Pi Pico și utilizați o declarație if pentru a urmări o valoare a umidității (din 100) pentru a declanșa pompa de apă, printr-un releu, să pornească și să distribuie din nou apă.

 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

Veți dori să faceți câteva teste pentru a găsi acel echilibru perfect pentru a vă asigura că planta dumneavoastră este mulțumită de cantitatea de apă pe care o primește. De asemenea, puteți adăuga o altă declarație if de a aprinde o lampă de căldură, prin intermediul unui releu, dacă planta dvs. este prea rece.

Server Web simplu

Veți avea nevoie de trei fișiere Python, de la noi Depozitul MUO GitHub , pentru ca Raspberry Pi Pico W să transmită statisticile solului către conexiunile dvs. de internet de acasă:

  • micropunct.py
  • mm_wlan.py
  • pico_w_server.py

The micropunct fișierul gestionează funcțiile back-end pentru a crea acest server web simplu bazat pe HTTP și afișează codul Python ca o pagină web bazată pe html care poate fi apelată folosind adresa IP a Raspberry Pi Pico W.

The mm_wlan.py fișierul oferă o modalitate simplă de conectare la o rețea fără fir. Veți primi fie o adresă IP a Raspberry Pi Pico și un mesaj conectat. Dacă conexiunea nu a reușit, veți primi în schimb un mesaj de eșuare a conexiunii.

The pico_w_server.py este locul în care introduceți SSID-ul (rețineți că Raspberry Pi Pico W se conectează doar la SSID-uri de 2,4 GHz) și parola dvs. Wi-Fi. În secțiunea HTML, puteți personaliza ceea ce serverul dvs. web va afișa pe un browser web. De asemenea, puteți elimina comentariile din secțiunea de reîmprospătare și puteți modifica intervalul dacă nu doriți ca pagina web să se reîmprospăteze la fiecare secundă sau cam asa ceva.

În partea de jos a acestui fișier, puteți personaliza și portul. Acest lucru este util dacă doriți să expuneți aceste informații la internet în afara casei dvs.

Când rulezi test.py fișier, fișierele server python necesare ( mm_wlan și pico_w_server ) sunt importate pentru dvs. După ce rulați test.py Fișierul, luați adresa IP dacă Pi-ul dvs. (găsit în ieșirea Thonny) și adăugați portul pe care l-ați folosit (implicit este 80) de la orice browser web care este conectat la același SSID de 2,4 GHz acasă. Ar trebui să vezi așa ceva:

  pagină html simplă care afișează statisticile solului

Pentru a reduce dependența computerului conectat, modificați test.py dosar la principal.py și salvați pe Raspberry Pi Pico W. De asemenea, vă recomandăm să vă gândiți să conectați un LCD la Pico, astfel încât să programați afișajul să scoată adresa IP (când eliminați dependența PC-ului conectat).

Adu înapoi degetul mare verde

Cu un senzor de sol sofisticat și un server web simplu, acum puteți monitoriza sănătatea plantei dvs. de la un browser web oriunde în casa dumneavoastră.

cum să faci dintr-un site web o aplicație pe iPhone

Simțiți-vă liber să modificați codul după cum credeți de cuviință. Dacă sunteți pregătit, luați în considerare crearea unei aplicații de detectare a solului care adaugă un pic de lustruire serverului web simplu pe care tocmai l-ați configurat.

Pentru ca acest proiect să se simtă complet, adăugați o pompă și un releu, împreună cu o lampă de căldură și veți avea o grădină complet automatizată. Acum îți vei putea menține pentru totdeauna statutul „degetul mare”.

Categorie DIY