Sommario:

Pistola ad acqua IOT/irrigatore per piante: 20 passaggi
Pistola ad acqua IOT/irrigatore per piante: 20 passaggi

Video: Pistola ad acqua IOT/irrigatore per piante: 20 passaggi

Video: Pistola ad acqua IOT/irrigatore per piante: 20 passaggi
Video: Lancia a pistola per irrigazione di giardino e terrazzi - Siroflex 2024, Luglio
Anonim
Pistola ad acqua IOT/abbeveratoio per piante
Pistola ad acqua IOT/abbeveratoio per piante

Questo è un progetto divertente che utilizza Google Home o qualsiasi telefono con l'assistente Google per spruzzare acqua su qualcuno o innaffiare alcune piante. Ha anche molte potenziali applicazioni per altri usi come luci, riscaldamento, ventilatori ecc. Se ti piace, vota per questo progetto nella competizione IOT. Grazie.

Passaggio 1: risorse necessarie

Risorse necessarie
Risorse necessarie

Avrai bisogno di quanto segue:

  • Un lampone pi (qualsiasi modello che ha accesso a Internet)
  • Una pompa dell'acqua 12v (questa è quella che ho usato)
  • Un alimentatore da 12 V (usa questo o uno in giro)
  • Un relè 5v 2 canali (questo è il tipo che ho usato)
  • Alcuni cavi jumper da femmina a femmina
  • Una scatola di plastica per contenere l'acqua
  • Un modo per far fuoriuscire l'acqua dalla pompa (ho piegato un tubo di plastica ma potresti usare solo una cannuccia)

Abbiamo usato i relè in quanto consente di accenderlo da remoto con il raspberry pi piuttosto che dover essere fisicamente lì per accenderlo come faresti se fosse solo un interruttore.

Passaggio 2: Assistente Google

Assicurati di avere un modo per accedere all'Assistente Google. Potresti usare Google Home o un telefono.

Passaggio 3: tagliare i fili

Fili da taglio
Fili da taglio

Usa delle tronchesi per tagliare e poi spellare le estremità dell'alimentazione a 12 V e della pompa in modo che possano essere collegate al relè. Assicurati di rimuovere una quantità sufficiente di guaina per consentire una connessione solida.

Passaggio 4: collegare la pompa al relè

Collegare la pompa al relè
Collegare la pompa al relè
  1. Svitare il terminale centrale su entrambi i relè
  2. Inserire i cavi dalla pompa dell'acqua
  3. Avvitare di nuovo

Passaggio 5: collegamento dell'alimentatore al relè

Collegamento dell'alimentatore al relè
Collegamento dell'alimentatore al relè
  1. Svitare i terminali
  2. inserire i cavi dell'alimentatore 12v in
  3. Riavvitarli in posizione

Passaggio 6: collegamento di Raspberry Pi al relè

Collegamento di Raspberry Pi al relè
Collegamento di Raspberry Pi al relè

Collega il lampone pi al relè come mostrato nello schema sopra. Dovrai collegare il relè ai pin di terra, 5v e 2 GPIO.

Passaggio 7: fissaggio della pompa

Fissaggio della pompa
Fissaggio della pompa

Utilizzare blu-tack o nastro adesivo per fissare la pompa in un contenitore di plastica.

Passaggio 8: dirigere l'acqua

Dirigere l'acqua
Dirigere l'acqua
Dirigere l'acqua
Dirigere l'acqua

Se vuoi che l'acqua schizzi qualcuno in faccia, devi dirigerla. Per fare questo ho usato una pistola termica per piegare un tubo di plastica nella forma mostrata sopra. Ho quindi fissato un coperchio della penna sulla parte superiore. In alternativa, puoi usare una cannuccia.

Se vuoi innaffiare alcune piante puoi aggiungere un tubo di plastica o l'interno di un recinto.

Passaggio 9: mettere tutto insieme

Mettere tutto insieme
Mettere tutto insieme
Mettere tutto insieme
Mettere tutto insieme
Mettere tutto insieme
Mettere tutto insieme

Ho aggiunto un'altra scatola di plastica e ho inserito il lampone pi e il relè per evitare che si bagnasse.

Ho incluso uno schema circuitale sopra per rendere il circuito un po' più chiaro.

Passaggio 10: test dell'hardware funziona

Per testare il funzionamento della pompa, eseguire il codice seguente sul raspberry pi. Questo dovrebbe spegnere e riaccendere la pompa (o viceversa).

da gpiozero importa LED

import time #questo importerà i moduli rilevanti di cui abbiamo bisogno per questo codice relay = LED(14) relay2 = LED(15) #assegnando ai relay un LED mentre True: relay.on() #hai indovinato… accendendo il relay su relay.off() #hai indovinato… spegnere il relè time.sleep(1) #sleeping per 1 secondo relay.on() #relay on relay.off() #relay off time.sleep(1) #sleeping

Passaggio 11: importazione di Flask

Boccetta di importazione
Boccetta di importazione

Il modo più semplice per l'assistente di Google di controllare il Raspberry Pi è farlo ospitare un server web. Possiamo quindi convincere Google a visitare una pagina su quel server ogni volta che dici qualcosa e codificare il Raspberry Pi per attivare e disattivare il relè quando il server viene visitato. Se vuoi un tutorial più approfondito di flask allora: visita questo tutorial di raspberry pi.

Sul tuo raspberry pi importa il modulo flask su python.

  1. Assicurati di essere connesso a Internet
  2. Apri un terminale
  3. Digitare:

sudo pip3 install flask

Se questo non funziona:

  • Assicurati di essere connesso a Internet
  • Guarda questa guida

Passaggio 12: crea una cartella per il nostro programma e entraci dentro

Fallo aprendo un terminale e digitando:

mkdir webapp

cd webapp

Passaggio 13: codifica del server Web

  1. Aperto minimo 3
  2. File > Crea nuovo
  3. Salvalo nella cartella dell'app Web appena creata
  4. Inserisci questo codice

from flask import Flask

from gpiozero import LED import time #questi stanno importando i moduli necessari per questo progetto relay = LED(14) relay2 = LED(15) #assegnando ai relè un'app LED = Flask(_name_) #assegnando a Flask un nome di variabile in modo che sia più semplice per eseguire il codice con esso in seguito su @app.route('/', method=['GET']) #facendo un GET sulla pagina web """questa funzione restituirà ciò che viene visualizzato nella pagina principale""" def index(): return 'Pagina principale' @app.route('/on') #accensione dei relè tramite la funzione sottostante """accensione dei relè e stampa hi per verificare che la funzione funzioni correttamente""" def on(): print("hi") relay.on() relay2.off() return 'on' @app.route('/off') #spegnimento dei relè tramite la funzione sottostante """spegnimento dei relè e stampa ciao per verificare che la funzione funzioni correttamente""" def off(): print("hi") relay.off() relay2.on() return 'off' @app.route('/go') #running la funzione go """questa funzione accende i relè in modo che spruzzi acqua""" def go(): relay.on() relay2.off() time.sleep(3) relay.off() relay2.on() return ('go') """accedendo alla pagina web tramite la relativa porta (8000 è solitamente home) e host""" if _name_ == '_main_': app. run(debug=True, porta = 8000, host='0.0.0.0')

I commenti spiegano cosa sta succedendo nel codice

Passaggio 14: test del codice funziona

Apri il tuo browser web e inserisci l'URL

Dovresti vedere uno schermo bianco ma dovresti essere in grado di sentire il clic del relè in corso o se la pompa è collegata, dovrebbe accendersi.

Per spegnere la pompa vai su

Nota: 127.0.0.1 significa "casa", ovvero questo computer: 5000 significa "porta 5000", che è la porta su cui è in esecuzione il server web.

Se funziona, puoi fare un ulteriore passo avanti:

1. Trovare il tuo indirizzo IP lampone pis digitando:

nome host -I

2. Su qualsiasi computer connesso allo stesso wifi del tuo pi visitando il pisipadress/on

Questo dovrebbe attivare il relè.

Questo mostra come puoi controllare il tuo Raspberry Pi da qualsiasi computer connesso allo stesso wifi del tuo Raspberry Pi.

Passaggio 15: Tunneling

Quindi Google Home può visitare questo sito Web, sarà necessario creare un tunnel in modo che i computer che non sono collegati allo stesso indirizzo IP possano comunque attivare e disattivare il relè. Puoi farlo con ngrok. Questo è un programma che puoi installare sul raspberry pi che ti permetterà di visitare il sito web di flask da qualsiasi computer.

Visita il loro sito Web per maggiori informazioni:

Passaggio 16: installazione di Ngrok

Inserisci questo link sul tuo raspberry pi: https://ngrok.com/download e segui le istruzioni per scaricare e configurare ngrok.

Passaggio 17: test di Ngrok

Assicurati che il tuo server flask sia in esecuzione.

Apri un altro terminale e digita cd webapp

Quindi avvia ngrok digitando

./ngrok http 5000

Questo dovrebbe mostrarti un URL a cui dovresti essere in grado di accedere su qualsiasi dispositivo. Copia questo e invialo via email a te stesso per il passaggio successivo

Se questo non funziona:

  1. Assicurati che il pallone sia in funzione
  2. Assicurati di eseguire ngrok nella stessa cartella del programma flask
  3. Assicurati di aver copiato il link giusto (cambia ogni volta che riavvii il programma)

Passaggio 18: IFFF

IFFF
IFFF

IFFF: If This Then That è un programma gratuito che può essere utilizzato per far visitare a Google Home un server Web quando gli si dice qualcosa, Per configurarlo segui questi passaggi:

  1. Visita https://ifttt.com/ o scarica l'app
  2. Creare un account
  3. Fai clic su Crea nuova applet (a volte sotto le mie applet)
  4. Fare clic su questo
  5. Cerca su Google e seleziona Assistente Google
  6. Clicca dì una frase semplice
  7. Sotto quello che vuoi dire metti "attiva pistola ad acqua" o quello che vuoi
  8. Fare clic su crea trigger
  9. Fare clic su questo
  10. Cerca nel web
  11. Fare clic sui webnook
  12. Fare clic su Effettua una richiesta web
  13. Sotto URL inserisci l'URL che ngrok ti ha fornito in precedenza/vai
  14. In Metodo seleziona OTTIENI
  15. Sotto Contenuto seleziona testo/normale
  16. Fare clic su Crea
  17. Fare clic su Fine

Passaggio 19: fatto

Ora, quando dici hey google (inserisci la frase che hai scelto), la pompa dovrebbe accendersi.

Se questo non funziona (mi ci sono voluti circa 15 tentativi per farlo funzionare):

  1. Assicurati che tutti i programmi siano in esecuzione
  2. Assicurati che tutti i cavi siano collegati
  3. Assicurati che l'URL che hai inserito in IFTT sia l'ultimo
  4. Assicurati che lampone pi sia connesso a Internet

Passaggio 20: competizione IOT

Se ti è piaciuto questo tutorial, vota per noi nella competizione IOT. Grazie molte.

Consigliato: