Cuprins:

IOT pistol de apă / plantă Waterer: 20 de pași
IOT pistol de apă / plantă Waterer: 20 de pași

Video: IOT pistol de apă / plantă Waterer: 20 de pași

Video: IOT pistol de apă / plantă Waterer: 20 de pași
Video: Top 13 Most Painful Insect Stings Coyote Peterson Has Ever Taken! 2024, Iulie
Anonim
IOT pistol de apă / plantă Waterer
IOT pistol de apă / plantă Waterer

Acesta este un proiect distractiv care folosește Google Home sau orice telefon cu asistent Google pe el pentru a pulveriza apă pe cineva sau pentru a uda unele plante. De asemenea, are o mulțime de aplicații potențiale pentru alte utilizări, cum ar fi lumini, încălzire, ventilatoare e.t.c. Dacă vă place acest lucru, vă rugăm să votați pentru aceste proiecte în competiția IOT. Mulțumiri.

Pasul 1: Resurse necesare

Resurse necesare
Resurse necesare

Veți avea nevoie de următoarele:

  • Un raspberry pi (orice model care are acces la internet)
  • O pompă de apă de 12V (Aceasta este cea pe care am folosit-o)
  • O sursă de alimentare de 12v (Utilizați-o pe una sau pe una situată în jur)
  • Un releu 5v 2 canale (Acesta este tipul pe care l-am folosit)
  • Unii jumperi de la femeie la femeie conduc
  • O cutie de plastic pentru a ține apa
  • Un fel de a scoate apa din pompă (am îndoit un tub de plastic, dar ai putea folosi doar un pai)

Am folosit relee, deoarece permite pornirea de la distanță cu pi de zmeură, mai degrabă decât să fim nevoiți să fim acolo pentru a o activa, așa cum ați face dacă ar fi doar un comutator.

Pasul 2: Asistent Google

Asigurați-vă că aveți un mod de a accesa asistentul Google. Ai putea folosi o casă google sau un telefon.

Pasul 3: tăierea firelor

Tăierea firelor
Tăierea firelor

Utilizați tăietori de sârmă pentru a tăia și apoi scoateți capetele de la sursa de 12V și pompa, astfel încât acestea să poată fi atașate la releu. Asigurați-vă că ați dezbrăcat suficient teaca pentru a permite o conexiune solidă.

Pasul 4: Atașați pompa la releu

Atașați pompa la releu
Atașați pompa la releu
  1. Deșurubați terminalul central de pe ambele relee
  2. Introduceți firele din pompa de apă
  3. Înșurubați din nou

Pasul 5: Atașarea sursei de alimentare la releu

Atașarea sursei de alimentare la releu
Atașarea sursei de alimentare la releu
  1. Deșurubați bornele
  2. introduceți fire de la sursa de alimentare de 12v
  3. Înșurubați-le la loc

Pasul 6: Conectarea Raspberry Pi la releu

Conectarea Raspberry Pi la releu
Conectarea Raspberry Pi la releu

Conectați zmeura pi la releu așa cum se arată în diagrama de mai sus. Va trebui să conectați releul la masă, 5v și 2 pini GPIO.

Pasul 7: Fixarea pompei

Fixarea pompei
Fixarea pompei

Folosiți fie bandă adezivă, fie bandă adezivă pentru a fixa pompa într-un recipient de plastic.

Pasul 8: dirijarea apei

Dirijarea apei
Dirijarea apei
Dirijarea apei
Dirijarea apei

Dacă doriți ca apa să stropească pe cineva în față, trebuie direcționată. Pentru a face acest lucru, am folosit un pistol termic pentru a îndoi un tub de plastic în forma prezentată mai sus. Am lipit apoi un capac stilou pe partea de sus. Alternativ, ai putea folosi un pai.

Dacă doriți să udați unele plante, puteți adăuga un tub de plastic sau interiorul unui stilou.

Pasul 9: Puneți totul împreună

Punând totul împreună
Punând totul împreună
Punând totul împreună
Punând totul împreună
Punând totul împreună
Punând totul împreună

Am adăugat o altă cutie de plastic și am pus zmeura pi și releu în ea pentru a opri umezirea.

Am inclus o schemă de circuit de mai sus pentru a face circuitele puțin mai clare.

Pasul 10: Testarea hardware-ului funcționează

Pentru a testa funcționarea pompei, rulați următorul cod pe raspberry pi. Aceasta ar trebui să oprească și apoi să pornească pompa (sau invers).

din LED-ul de import gpiozero

timp de import #acest lucru va importa modulele relevante de care avem nevoie pentru acest cod releu = LED (14) relay2 = LED (15) #assigning relee a LED while True: relay.on () # ai ghicit … pornind releul pe releu.off () # ai ghicit … oprirea releului time.sleep (1) #sleeping pentru 1 secundă relay.on () #relay on relay.off () #relay off time.sleep (1) #sleeping

Pasul 11: Importarea balonului

Importarea balonului
Importarea balonului

Cea mai ușoară modalitate prin care asistentul google de a controla raspberry pi este de a obține un server web. Apoi, putem determina Google să viziteze o pagină de pe acel server ori de câte ori spui ceva și să codificăm raspberry pi pentru a porni și opri releul atunci când serverul este vizitat. Dacă doriți un tutorial mai aprofundat al balonului, vizitați acest tutorial de raspberry pi.

Pe raspberry pi importați modulul balon pe python.

  1. Asigurați-vă că sunteți conectat la internet
  2. Deschideți un terminal
  3. Introduceți:

sudo pip3 instalează balonul

Dacă acest lucru nu funcționează:

  • Asigurați-vă că sunteți conectat la internet
  • Uită-te la acest ghid

Pasul 12: Creați un folder pentru programul nostru și intrați în el

Faceți acest lucru deschizând un terminal și tastând:

mkdir webapp

cd webapp

Pasul 13: Codarea serverului web

  1. Deschideți ralanti 3
  2. Fișier> Creați nou
  3. Salvați-l în dosarul aplicației web pe care tocmai l-ați creat
  4. Introduceți acest cod

din flacon import Flacon

din gpiozero import LED timp de import # acestea sunt modulele de import necesare pentru acest proiect releu = LED (14) relay2 = LED (15) #assigning relays an LED app = Flask (_ name_) #assigning Flask a variable name astfel încât să fie mai ușor pentru a rula codul cu el mai târziu pe @ app.route ('/', methods = ['GET']) #făcând un GET pe pagina web "" "această funcție va returna ceea ce este afișat pe pagina principală" "" def index (): returnează 'Pagina principală' @ app.route ('/ on') # activarea releelor prin funcția de mai jos "" "pornirea releelor și tipărirea hi pentru a verifica funcția funcționează corect" "" def on (): print ("hi") relay.on () relay2.off () return 'on' @ app.route ('/ off') # închiderea releelor prin funcția de mai jos "" "oprirea releelor și imprimarea hi pentru a verifica funcția funcționează corect "" "def off (): print (" hi ") relay.off () relay2.on () return 'off' @ app.route ('/ go') #running funcția go "" "această funcție pornește releele astfel încât pulverizează apă" "" def go (): relay.on () relay2.off () time.sleep (3) relay.off () relay2.on () return ('go') "" "accesând pagina web prin portul relevant (8000 este de obicei acasă) și gazdă" "" dacă _name_ == '_main_': app. rulați (depanare = Adevărat, port = 8000, gazdă = '0.0.0.0')

Comentariile explică ce se întâmplă în cod

Pasul 14: Testarea codului funcționează

Deschideți browserul web și introduceți adresa URL

Ar trebui să vedeți un ecran alb, dar ar trebui să puteți auzi clicul releului sau dacă pompa este conectată, ar trebui să pornească.

Pentru a opri pompa, accesați

Notă: 127.0.0.1 înseamnă „acasă”, adică acest computer: 5000 înseamnă „port 5000”, care este portul pe care rulează serverul web.

Dacă acest lucru funcționează, puteți face un pas mai departe prin:

1. Aflați adresa IP pis cu zmeură, tastând:

numele gazdei -I

2. Pe orice computer conectat la același wifi ca pi-ul tău care vizitează pisipadress / on

Acest lucru ar trebui să pornească releul.

Acest lucru arată cum puteți controla raspberry pi de pe orice computer conectat la același wifi ca și raspberry pi.

Pasul 15: Tunelare

Deci, Google Home poate vizita acest site web, va trebui să creați un tunel, astfel încât computerele care nu sunt conectate la aceeași adresă IP, pe măsură ce puteți opri și porni releul. Puteți face acest lucru cu ngrok. Acesta este un program pe care îl puteți instala pe raspberry pi care vă va permite să vizitați site-ul web al balonului de pe orice computer.

Accesați site-ul web pentru mai multe informații:

Pasul 16: Instalarea Ngrok

Introduceți acest link pe raspberry pi: https://ngrok.com/download și urmați instrucțiunile pentru descărcare și configurare ngrok.

Pasul 17: Testarea Ngrok

Asigurați-vă că serverul dvs. flask funcționează.

Deschideți un alt terminal și tastați cd webapp

Apoi porniți ngrok tastând

./ngrok http 5000

Aceasta ar trebui să vă afișeze o adresă URL la care ar trebui să puteți accesa pe orice dispozitiv. Copiați acest lucru și trimiteți-l prin e-mail pentru pasul următor

Dacă acest lucru nu funcționează:

  1. Asigurați-vă că balonul funcționează
  2. Asigurați-vă că rulați ngrok în același folder cu programul balon
  3. Asigurați-vă că ați copiat linkul corect (se schimbă de fiecare dată când reporniți programul)

Pasul 18: IFFF

IFFF
IFFF

IFFF: If This Then That este un program gratuit care poate fi folosit pentru a face ca acasă la Google să viziteze un server web atunci când îi spuneți ceva, Pentru a configura acest lucru, urmați acești pași:

  1. Fie vizitați https://ifttt.com/, fie descărcați aplicația
  2. Creează un cont
  3. Faceți clic pe creați un applet nou (uneori sub applet-urile mele)
  4. Faceți clic pe aceasta
  5. Căutați pe google și selectați asistentul google
  6. Faceți clic pe rostiți o frază simplă
  7. Sub ceea ce vrei să spui pune „activează pistolul cu apă” sau orice vrei
  8. Faceți clic pe creați declanșatorul
  9. Faceți clic pe asta
  10. Căutați pe web
  11. Faceți clic pe webnooks
  12. Faceți clic pe Faceți o solicitare web
  13. Sub URL introduceți adresa URL ngrok v-a dat mai devreme / go
  14. Sub Metodă selectați OBȚINE
  15. Sub Conținut, selectați text / simplu
  16. Faceți clic pe Creați
  17. Faceți clic pe Terminare

Pasul 19: Gata

Acum, când spui hei google (introduceți fraza pe care ați ales-o), pompa ar trebui să pornească.

Dacă acest lucru nu funcționează (mi-au trebuit aproximativ 15 încercări ca să funcționeze):

  1. Asigurați-vă că toate programele rulează
  2. Asigurați-vă că toate oportunitățile sunt conectate
  3. Asigurați-vă că adresa URL pe care ați introdus-o în IFTT este cea mai recentă
  4. Asigurați-vă că raspberry pi este conectat la internet

Pasul 20: Concurs IOT

Dacă v-a plăcut acest tutorial, vă rugăm să ne votați în competiția IOT. Mulțumesc mult.

Recomandat: