Cuprins:

Comutator de releu IOT controlat vocal bazat pe Arduino (Google Home și Alexa acceptate): 11 pași
Comutator de releu IOT controlat vocal bazat pe Arduino (Google Home și Alexa acceptate): 11 pași

Video: Comutator de releu IOT controlat vocal bazat pe Arduino (Google Home și Alexa acceptate): 11 pași

Video: Comutator de releu IOT controlat vocal bazat pe Arduino (Google Home și Alexa acceptate): 11 pași
Video: Modul esp8266 cu wifi și releu 2024, Iunie
Anonim
Comutator de releu IOT controlat vocal bazat pe Arduino (Google Home și Alexa acceptate)
Comutator de releu IOT controlat vocal bazat pe Arduino (Google Home și Alexa acceptate)

Acest proiect descrie modul de realizare a unui releu IOT bazat pe Arduino, controlat vocal. Acesta este un releu pe care îl puteți activa și dezactiva de la distanță folosind o aplicație pentru iOS și Android, precum și conectarea la IFTTT și controlarea acestuia cu vocea dvs. utilizând Google Home și / sau Alexa. Vom acoperi toți pașii necesari pentru a crea dispozitivul, pentru a conecta aplicația și pentru a ne conecta și la diferite servicii IOT.

Provizii

  • Wemos D1 Mini Lite ESP8285 (câțiva dolari pe Amazon)
  • Modul de releu 5V pentru Arduino / Raspberry Pi
  • 2N2222 tranzistor NPN
  • Rezistor de 47K ohm
  • Rezistor 1K ohm

Pasul 1: Construiți circuitul

Construiește circuitul
Construiește circuitul
Construiește circuitul
Construiește circuitul
Construiește circuitul
Construiește circuitul

Primul pas este conectarea circuitului. Am inclus o schemă și o schemă de cablare tradițională, în funcție de ce sunteți obișnuiți. Mi-am făcut primul circuit pe o placă de protejare și apoi l-am mutat pe un PCB pentru o configurare mai permanentă și l-am adăpostit într-o cutie de proiect tipărită 3D.

Releul este un releu H / L 5V optoizolat, ceea ce înseamnă că mai întâi, circuitul de declanșare este izolat optic de activarea relei în sine, ceea ce elimină orice problemă potențială cu feedback de la releu înapoi la microcontrolerul Wemos. O siguranță plăcută. În al doilea rând, este comutabil înalt / scăzut, ceea ce înseamnă că poate fi configurat, prin mutarea jumperului galben pe care îl vedeți în imagini, de la declanșare când semnalul este ridicat (+ 5V) sau declanșare când semnalul este scăzut (0V). Wemos însuși trimite 3,3V de la pinii digitali și folosim D1 ca sursă de declanșare, ceea ce înseamnă că trebuie să-l amplificăm ușor, astfel încât să ajungem aproape de un semnal digital + 5V pentru a declanșa releul. Alternativ, puteți utiliza un releu de 3,3 V și puteți elimina componenta amplificatorului tranzistorului din circuit și puteți merge direct de la D1 la pinul de semnal de pe releu. Nu aveam relee de 3,3 V, așa că folosim un releu de 5 V mai comun și circuitul amplificatorului.

DC + și DC- de pe releu se conectează la pinii 5V și GND ai Wemos, care asigură tensiunea necesară pentru acționarea releului. Releul este evaluat de la tensiuni mici până la tensiunea de linie, dar îl folosesc pentru a controla o aplicație de cablare de joasă tensiune. Dacă utilizați acest lucru pentru a controla tensiunea liniei, asigurați-vă că știți ce faceți, că sunteți calificat și că luați măsurile de precauție corespunzătoare. Dacă nu, atunci nu utilizați acest lucru pentru a controla aplicațiile de tensiune de linie.

Pinul D1 de pe Wemos se conectează la rezistorul de 47K ohm care se alimentează în baza tranzistorului NPN. Emițătorul se leagă la sol. Colectorul este conectat la semnalul de intrare pe releu. Releul este setat să se declanșeze la nivel scăzut, astfel încât atunci când D1 dă un semnal, semnalul de 3,3 v este amplificat la aproximativ 5 V, iar releul este deschis. Când D1 scade, semnalul către releu scade și releul se închide și finalizează un circuit.

Am uitat să fac poze cu circuitul meu temporar pe placa de protecție, dar arăta exact ca diagrama Fritzing de mai sus, dacă este utilă. Am inclus o serie de imagini cu circuitul meu definitiv definitiv, astfel încât să puteți vedea cum este conectat, în cazul în care aveți nevoie de informații sau aveți nevoie de vizibilitate asupra componentelor specifice pe care le folosesc.

Pasul 2: Programarea Wemos - Prezentare generală

Unul dintre lucrurile care îmi plac la Wemos este că pot fi programate la fel ca un Arduino, utilizând același IDE. Există însă câțiva pași aici.

  1. Instalați driverele Wemos pe computer poate vorbi cu Wemos
  2. Actualizați IDE-ul Arduino, astfel încât placa Wemos să fie disponibilă
  3. Efectuați un test rapid „Blink” pentru a vă asigura că totul funcționează corect
  4. Pregătește-te cu Blynk (știu că este confuz, dar este de fapt diferit de „testul clipirii”)
  5. Obțineți un cod de aplicație de la Blynk
  6. Actualizați codul Wemos / Arduino cu informațiile Blynk
  7. Încărcați codul în setarea Wemos.

Pasul 3: Programarea Wemos - Instalarea driverelor

Programarea Wemos - Instalarea driverelor
Programarea Wemos - Instalarea driverelor

Mergi aici (acest link pare să se schimbe periodic, voi încerca să îl actualizez):

www.wemos.cc/en/latest/ch340_driver.html

Și descărcați pachetul de drivere corect pentru sistemul dvs. de operare. Apoi extrageți fișierul zip într-un director și executați aplicația „SETUP” pentru al instala.

Când am făcut acest lucru prima dată, am primit o eroare ciudată în legătură cu faptul că nu se instalează. Am văzut nota altcuiva despre acest lucru și soluția lor, care a funcționat pentru mine. Deci, dacă apare o eroare, încercați să utilizați butonul „Dezinstalare” și apoi utilizați din nou „Instalare”. Sperăm că asta șterge problema așa cum a făcut-o pentru mine.

Pasul 4: Programarea Wemos - Actualizați Arduino IDE

Programarea Wemos - Actualizați IDE Arduino
Programarea Wemos - Actualizați IDE Arduino
Programarea Wemos - Actualizați IDE Arduino
Programarea Wemos - Actualizați IDE Arduino
Programarea Wemos - Actualizați IDE Arduino
Programarea Wemos - Actualizați IDE Arduino

Dacă nu ați instalat Arduino IDE, este momentul potrivit să faceți acest lucru acum. O puteți descărca de pe www.arduino.cc

Iată o referință pentru ceea ce vom face în acest pas.

wiki.wemos.cc/tutorials:get_started:get_st…

  1. Să instalăm noua placă, astfel încât să apară ca o opțiune în Arduino IDE. Pașii 2 - 4 sunt extrase din ghidul de instalare de pe următoarea pagină github.

    github.com/esp8266/Arduino

  2. Porniți ID-ul Arduino și deschideți fereastra Preferințe.
  3. Introduceți „https://arduino.esp8266.com/stable/package_esp8266com_index.json” în câmpul Adrese URL suplimentare pentru Board Board Manager. Puteți adăuga mai multe adrese URL, separându-le cu virgule.
  4. Deschideți Boards Manager din Instrumente> Board> Boards Manager (în partea de sus), căutați „esp8266” și instalați platforma listată esp8266.
  5. În acest moment veți vedea plăcile Wemos în Instrumente → Placă: xxx Selectați Wemos D1 Mini. În cazul meu, după cum puteți vedea din imagine, numele specific a fost „LOLIN (WEMOS) D1 R2 & mini”
  6. Conectați un cablu USB între computer și Wemos
  7. Confirmați că „Portul” este acum activ în meniul Instrumente și arată corect.

Pasul 5: Programarea testului Wemos - Blink

Programarea testului Wemos - Blink
Programarea testului Wemos - Blink

Înainte de a merge mai departe, trebuie să ne asigurăm că putem comunica cu placa Wemos și totul arată bine. Cel mai simplu mod de a face acest lucru este să conectați un cablu USB și să încercați să împingeți un program simplu către Wemos. Blink este cel mai simplu exemplu și mi-a salvat multă bătaie de cap atunci când lucrez cu plăci noi, că fac asta întotdeauna mai întâi.

  1. Accesați: Fișier> Exemple> ESP8266> Clipește și încărcați schița clipire pentru un dispozitiv Wemos
  2. Compilați și încărcați schița

Dacă LED-ul albastru începe să clipească aproximativ o dată pe secundă, atunci ești bine să treci la pasul următor! În caz contrar, reveniți și depanați pașii anteriori. Vedeți dacă există o problemă cu șoferii și cu managerul de bord. Am avut câteva probleme cu pachetul de bord pentru ESP8266 și a trebuit să îl dezinstalez complet și să-l reinstalez din cauza ceva ciudat cu versiunile care se întâmplau. Nu renunțați, iar căutările pe internet vă pot fi prieten!

Presupunând că totul este bun, mergeți la pasul următor.

Pasul 6: Programarea Wemos - Configurarea Blynk

Programarea Wemos - Configurarea Blynk
Programarea Wemos - Configurarea Blynk
Programarea Wemos - Configurarea Blynk
Programarea Wemos - Configurarea Blynk
Programarea Wemos - Configurarea Blynk
Programarea Wemos - Configurarea Blynk

În acești pași următori, trebuie să ne configurăm un cont la Blynk și să obținem un jeton pe care să îl folosim pentru a controla circuitul pe care l-am creat.

  1. Descărcați aplicația și creați un cont (este gratuit)
  2. Creați un proiect nou
  3. Selectați Wemos D1 ca Hardware sub Alege dispozitiv
  4. Dați proiectului un nume și păstrați tipul de conector ca WiFi
  5. Faceți clic pe Creați proiect
  6. În acest moment, tokenul de autentificare va fi trimis prin e-mail la adresa de e-mail pe care ați folosit-o când v-ați creat contul Blynk. Salvați acest lucru pentru mai târziu, vom introduce valorile în schiță în pasul următor.
  7. Când ajungeți la ecranul gol al pânzei, glisați la stânga și veți obține meniul widget. Selectați „Buton” pentru a adăuga un „buton” la proiect
  8. Selectați butonul și apoi configurați Pinul făcând clic pe acesta și selectând „Digital” și „D1” ca pi și faceți clic pe „Ok”
  9. În acest moment, totul ar trebui să fie gata. Pentru a face acest lucru activ, ați dori să selectați pictograma triunghi din dreapta sus, dar nu va funcționa încă, până când nu vom încărca și configura schița, care este pasul următor!

Pasul 7: Programarea Wemos - Instalarea Bibliotecii Blynk

Pentru a putea încărca o schiță bazată pe Blynk, trebuie să le instalăm biblioteca. Detaliile pot fi găsite aici.

github.com/blynkkk/blynk-library/releases

De asemenea, pentru unele informații, consultați site-ul lor principal aici (https://blynk.io/en/getting-started)

Acest lucru a fost confuz pentru mine la început, dar este mult mai ușor decât pare. Descărcați fișierul în directorul dvs. Arduino. Pentru mine a fost în / user / Documents / Arduino. Acolo exista deja un folder numit „biblioteci”. Fișierul zip conține o „bibliotecă” și un director „instrumente”. Când îl dezarhivați în directorul Arduino, acesta adaugă conținutul acestuia în biblioteci și creează instrumente dacă nu exista deja.

Pasul 8: Programarea Wemos - schița

Aproape am terminat în acest moment. Schița este destul de simplă, este direct de la Blynk și conectează în esență serviciul Blynk și placa. Puteți folosi constructorul lor aici:

examples.blynk.cc/?board=WeMos%20D1&shield=ESP8266%20WiFi&example=Widgets%2FTerminal

Sau puteți utiliza acest eșantion care ar trebui să funcționeze pentru dvs. Doar asigurați-vă că înlocuiți valorile pentru simbolul de autentificare și acreditările dvs. pentru rețeaua dvs. wifi.

/*************************************************************

Descărcați cea mai recentă bibliotecă Blynk aici: https://github.com/blynkkk/blynk-library/releases/latest Blynk este o platformă cu aplicații iOS și Android pentru a controla Arduino, Raspberry Pi și like-uri pe Internet. Puteți construi cu ușurință interfețe grafice pentru toate proiectele dvs. prin simpla glisare și plasare a widgeturilor. Descărcări, documente, tutoriale: https://www.blynk.cc Generator de schițe: https://examples.blynk.cc Comunitatea Blynk: https://community.blynk.cc Urmăriți-ne: https://www.fb. com / blynkapp Biblioteca Blynk este licențiată sub licență MIT Acest exemplu de cod este în domeniul public. *************************************************** *********** Puteți trimite / primi orice date folosind obiectul WidgetTerminal. Configurarea proiectului aplicației: terminal widget atașat la Virtual Pin V1 *************************************** ****************************************************************************************************************************************************************************************************************/ Indicativ în aplicația Blynk. // Accesați Setările proiectului (pictograma piuliță). char auth = "YourAuthToken"; // Acreditările dvs. WiFi. // Setați parola la „” pentru rețelele deschise. char ssid = "NumeleRetei Dvs."; char pass = "Parola ta"; // Atașați terminalul serial virtual la terminalul Virtual Pin V1 WidgetTerminal (V1); // Puteți trimite comenzi de la Terminal către hardware-ul dvs. Folosiți // același Pin virtual ca Terminal Widget BLYNK_WRITE (V1) {// dacă introduceți „Marco” în Terminal Widget - acesta va răspunde: „Polo:” if (String („Marco”) == param.asStr ()) {terminal.println ("Ai spus: 'Marco'"); terminal.println („Am spus:„ Polo””); } else {// Trimite-l înapoi terminal.print ("Ai spus:"); terminal.write (param.getBuffer (), param.getLength ()); terminal.println (); } // Asigurați-vă că totul este trimis terminal.flush (); } void setup () {// Consolă de depanare Serial.begin (9600); Blynk.begin (auth, ssid, pass); // De asemenea, puteți specifica serverul: //Blynk.begin(auth, ssid, pass, "blynk-cloud.com", 80); //Blynk.begin(auth, ssid, pass, IPAddress (192, 168, 1, 100), 8080); // Aceasta va tipări versiunea software-ului Blynk pe Terminal Widget când // hardware-ul dvs. va fi conectat la serverul Blynk terminal.println (F ("Blynk v" BLYNK_VERSION ": Dispozitivul a pornit")); terminal.println (F ("-------------")); terminal.println (F („Tastați„ Marco”și primiți un răspuns sau tastați”)); terminal.println (F („orice altceva și să îl imprimați înapoi.”)); terminal.flush (); } void loop () {Blynk.run (); }

Pasul 9: Programarea Wemos - Pasul final

Image
Image

Odată ce schița este încărcată, compilați și încărcați schița și ar trebui să fiți gata să vă testați configurarea!

Deschideți aplicația Blynk, faceți clic pe triunghiul din colțul din dreapta sus pentru proiectul dvs. Wemos

Apoi faceți clic pe buton! Ar trebui să auziți clicul releului și LED-urile de stare de pe placa releu indică faptul că releul a schimbat starea.

Acum puteți conecta releul la orice aplicație de joasă tensiune care necesită un comutator simplu și îl puteți controla din aplicația dvs. Blynk. Ultimul lucru pe care trebuie să-l facem este să conectăm IFTTT și să folosim Google sau Alexa pentru a controla sistemul Blynk, astfel încât să nu trebuie să o facem din aplicația noastră Blynk.

Pasul 10: Controlul Blynk cu IFTTT și Google Home sau Alexa

Presupun în acest moment că aveți o anumită familiaritate cu IFTTT. Dacă nu, există câteva tutoriale excelente care vă vor ajuta să învățați cum să utilizați și să utilizați IFTTT. Este foarte puternic și ceva ce veți dori să aflați dacă nu sunteți deja familiarizați.

  1. Creați un nou applet în IFTTT
  2. Selectați Asistentul Google ca „Dacă este acest lucru” și utilizați o „Frază simplă” ca declanșator. Pentru mine, din moment ce asta avea să aprindă sau să oprească șemineul, fraza mea era „aprinde șemineul”
  3. Pentru partea „Atunci asta”, căutați și utilizați Webhooks
  4. Selectați „Faceți o solicitare web”
  5. Pentru adresa URL pe care doriți să o utilizați:

    „https://blynk-cloud.com/XXXXYYYYZZZZZ/update/d5?value=1”

  6. Setați metoda la GET, tipul de conținut la urlencoded și puteți lăsa corpul gol și apoi salvați

Așteptați câteva minute, apoi continuați și testați fraza cu dispozitivul dvs. Google Home. Am observat că durează aproximativ două minute pentru a fi gata.

NOTĂ: un alt lucru la care trebuie să acordați atenție aici. Observați că folosesc „d5” în apelul meu API, dar m-am conectat la pinul D1 de pe placă. Mi-a luat aproximativ o zi să-mi dau seama că numerotarea pinului GPIO și numerotarea tipărită pe ecran nu sunt aceleași. După schimbarea valorilor cu apeluri URL directe și testarea tensiunilor la diferiți pini cu un voltmetru, am putut observa că un apel către d1 prin intermediul API-ului a schimbat tensiunea, dar nu la D1 pe placă. d5 / GPIO 5 corespundea de fapt cu D1 pe tablă. Odată ce am făcut acea reglare, totul a funcționat frumos!

Conectarea Alexa este identică cu Google acasă, doar folosind serviciul Alexa pe IFTTT.

Pasul 11: Concluzie

În acest moment, ar trebui să aveți un releu IOT funcțional controlat prin voce folosind Wemos D1 mini lite. Bucură-te și mult succes!

Din nou, electricitatea este periculoasă, așa că vă rugăm să luați măsurile de precauție adecvate și dacă nu sunteți calificat, vă rugăm să nu.

Recomandat: