Costruisci un sistema di giardinaggio automatizzato con Raspberry Pi Pico W
Con il pollice verde e un po’ di pazienza, il giardinaggio è un hobby adorabile, indipendentemente dal fatto che tu abbia alcune piante esotiche in casa o un giardino all’aperto in piena regola con patate e piante perenni.
Detto questo, ci sono anche momenti in cui la tua pazienza potrebbe esaurirsi quando le piante iniziano a morire per quella che sembra non essere una buona ragione.
Il Raspberry Pi Pico W può aiutare a fornire una soluzione per garantire che le piante prosperino senza muovere un dito (beh, quasi).
Rivediamo come un monitor per piante, un codice e un minuscolo microcontrollore terranno traccia della salute della tua pianta da qualsiasi punto della casa.
Hardware richiesto
Sorprendentemente, non è necessario molto hardware. Gran parte della magia è contenuta nel Plant Monitor. Hai davvero bisogno solo di pochi elementi per iniziare.
- Plant Monitor di Monk Makes
- 4 cavi jumper femmina-maschio
- Raspberry Pi Pico W
Sebbene questo monitor dell’impianto supporti l’uso di clip a coccodrillo, questo progetto utilizza i connettori a pin fissati sul retro del dispositivo di monitoraggio dell’impianto.
Configurazione dell’assistente al giardinaggio
Questo progetto prevede il collegamento del monitor dell’impianto al tuo Raspberry Pi Pico W, nonché la creazione e la manipolazione del codice per far funzionare tutto. Sarà necessario un server Web per fornire una semplice pagina Web accessibile tramite la connessione Internet domestica.
Esistono diverse versioni del modello del Raspberry Pi Pico. Per questo progetto, dovrai utilizzare un Raspberry Pi Pico W. Per sapere di cosa è capace il Pico W, consulta la nostra guida su cos’è il Pico W e cosa può fare.
Innanzitutto, assicuriamoci che il monitor dell’impianto sia collegato e funzioni correttamente. Più avanti nell’articolo, affronterai la configurazione di un semplice server Web utilizzato per monitorare il tuo impianto con qualsiasi dispositivo abilitato al browser connesso alla tua rete domestica.
Preparazione del monitor dell’impianto
Con molti sensori disponibili per l’acquisto attraverso vari siti Internet, imparerai che alcuni sensori del suolo si consumano facilmente nel suolo e altri resistono abbastanza bene agli elementi. Il Monk Makes Plant Monitor è una buona opzione in quanto non è soggetto a corrodersi nel terreno. Questo monitor non solo misura l’umidità del suolo, ma misura anche l’umidità e la temperatura.
Solo quattro pin dovranno essere collegati dal monitor dell’impianto al tuo Raspberry Pi Pico W:
- GND va a GND
- 3V si collega a 3V3 Out
- RX_IN troverà la sua strada verso GP0
- TX_OUT si incontrerà con GP1
Una volta collegato all’alimentazione, il tuo Raspberry Pi Pico W sarà in grado di fornire alimentazione a se stesso e al monitor dell’impianto. Noterai alcune luci sull’hardware che confermano che il dispositivo è funzionante. Inoltre, c’è una luce LED che brillerà di verde, giallo o rosso (a seconda del livello di umidità rilevato nel terreno).
Sebbene Monk Makes Plant Monitor sia dotato di alcuni fantastici moduli Python, dovrai comunque creare un semplice codice per monitorare la salute del suolo della tua pianta. Puoi prendere i seguenti file python dal nostro repository MUO GitHub.
Avrai bisogno di pmon.py e test.py per la parte di rilevamento del suolo e i file python microdot.py , mm_wlan.py e pico_w_server.py verranno utilizzati per completare il semplice server web in un secondo momento.
Ora è un ottimo momento per mettere in pausa e rinfrescarti con sottili differenze tra MicroPython e Python se non l’hai già fatto.
Il file python, pmon.py , crea una classe MicroPython per il monitor dell’impianto. UART si occuperà della trasmissione duplex dei dati e quindi è necessario anche un lavoro di conversione da analogico a digitale. Noterai anche le funzioni wetness , temp e umidità definite in questo file.
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")
Successivamente, avrai bisogno del file test.py ottenuto dal nostro repository MUO GitHub.
Noterai che i moduli time, pmon (da PlantMonitor ) e machine sono necessari per monitorare correttamente la salute della tua pianta.
Quando il modulo PlantMonitor viene importato, tutto ciò che serve per monitorare le condizioni del suolo è un semplice ciclo while. Inoltre, il comando print produrrà l’umidità del suolo, la temperatura e le letture dell’umidità dopo aver eseguito test.py in 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)
Non hai voglia di annaffiare la tua pianta quando il terreno è troppo secco? Assegna il relè della pompa a un pin sul Raspberry Pi Pico e utilizza un’istruzione if per controllare un valore di umidità (su 100) per attivare la pompa dell’acqua, tramite un relè, per accendersi ed erogare nuovamente l’acqua.
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
Dovrai fare alcuni test per trovare l’equilibrio perfetto per assicurarti che la tua pianta sia soddisfatta della quantità di acqua che sta ricevendo. Puoi anche aggiungere un’altra istruzione if per accendere una lampada riscaldante, tramite un relè, se il tuo impianto è troppo freddo.
Server web semplice
Avrai bisogno di tre file python, dal nostro repository MUO GitHub, affinché il tuo Raspberry Pi Pico W possa trasmettere le statistiche del suolo alle tue connessioni Internet domestiche:
- microdot.py
- mm_wlan.py
- pico_w_server.py
Il file microdot gestisce le funzioni di back-end per creare questo semplice server Web basato su HTTP e visualizza l’output del codice python come una pagina Web basata su html che può essere richiamata utilizzando l’indirizzo IP del Raspberry Pi Pico W.
Il file mm_wlan.py offre un modo semplice per connettersi a una rete wireless. Riceverai un indirizzo IP del tuo Raspberry Pi Pico e un messaggio connesso. Se la connessione non è andata a buon fine, riceverai invece un messaggio di connessione fallita.
Il file pico_w_server.py è dove inserisci l’SSID (ricorda che Raspberry Pi Pico W si connette solo a SSID a 2,4 GHz) e la tua password Wi-Fi. All’interno della sezione HTML, puoi personalizzare ciò che il tuo server web visualizzerà su un browser web. Puoi anche rimuovere i commenti dalla sezione di aggiornamento e modificare l’intervallo se non desideri che la pagina web si aggiorni ogni secondo circa.
In fondo a questo file, puoi anche personalizzare la porta. Questo è utile se desideri esporre queste informazioni a Internet fuori casa.
Quando esegui il tuo file test.py , i file server python richiesti ( mm_wlan e pico_w_server ) vengono importati per te. Dopo aver eseguito il file test.py , prendi l’indirizzo IP se il tuo Pi (trovato nell’output di Thonny) e aggiungi la porta che hai usato (l’impostazione predefinita è 80) da qualsiasi browser Web connesso allo stesso SSID a 2,4 GHz a casa. Dovresti vedere qualcosa del genere:
Per ridurre la dipendenza del tuo PC connesso, modifica il file test.py in main.py e salvalo sul tuo Raspberry Pi Pico W. Potresti anche considerare di collegare un LCD al tuo Pico in modo da programmare il display in uscita l’indirizzo IP (quando rimuovi la dipendenza del tuo PC connesso).
Riporta quel pollice verde
Con un sofisticato sensore del suolo e un semplice server Web ora puoi monitorare la salute della tua pianta da un browser Web ovunque nella tua casa.
Sentiti libero di modificare il codice come meglio credi. Se sei pronto, prendi in considerazione la creazione di un’app di rilevamento del suolo che aggiunga un po ‘di rifinitura al semplice server web che hai appena configurato.
Per completare questo progetto, aggiungi una pompa e un relè, insieme a una lampada riscaldante, e avrai un giardino completamente automatizzato. Ora sarai in grado di mantenere per sempre il tuo status di “pollice verde”.
Lascia un commento