Cuprins:
- Pasul 1: Legarea Heroku cu GitHub
- Pasul 2: Amazon
- Pasul 3: Arduino
- Pasul 4: Descrierea componentei
- Pasul 5: Conexiuni
- Pasul 6: Verificarea tuturor lucrurilor
- Pasul 7: Diagrama VUI (Voice User Interface)
- Pasul 8: Demo
- Pasul 9: Schematic
Video: Comutator controlat prin voce folosind Alexa și Arduino: 10 pași (cu imagini)
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:44
Scopul principal al acestui proiect este de a utiliza senzorul de temperatură pentru a controla comutatorul (releul) pentru a porni sau opri dispozitivul.
Lista materialelor
- Modul releu 12V ==> $ 4.2
- Arduino uno ==> $ 8
- Senzor de temperatură DHT11 ==> 3 USD
- Modul ESP8266 ==> 4,74 USD
- Optocuplator N26 ==> 0,60 USD
- Regulator de tensiune LM1117 ==> 0,60 USD
- Breadboard ==> 2,2 USD
- Sârme jumper ==> 2,5 USD
- Apăsați butonul ==> 2,5 USD
Costul total al proiectului este de aproximativ 30 de dolari. Acest proiect este împărțit în trei părți. În primul rând, folosim heroku pentru a crea o aplicație. În al doilea rând, construim o abilitate Amazon Alexa pentru a ne implementa munca (partea cea mai importantă). În al treilea rând, ne configurăm hardware-ul și îl programăm folosind Arduino IDE.
Pasul 1: Legarea Heroku cu GitHub
Heroku este o platformă cloud ca serviciu (PaaS) care acceptă mai multe limbaje de programare care este utilizată ca model de implementare a aplicației web. Mai întâi, accesați site-ul heroku creați un cont nou sau conectați-vă acolo. Linkul este dat mai jos
Site-ul Heroku
Să începem cu crearea unei noi aplicații. Am dat numele aplicației mele „iottempswitch” atunci când implementați aplicația, se generează linkul.
Odată ce aplicația este creată, accesați GitHub. GitHub /
Conectați-vă acolo sau înscrieți-vă dacă nu aveți un cont. Odată conectat, creați un depozit nou. Dați orice nume doriți să alegeți și apoi apăsați creați depozit. În pagina următoare faceți clic pe README, pe această pagină dați descrierea pe care doriți să o împărtășiți cu alții. După aceea, faceți clic pe commit new file. Apoi, faceți clic pe butonul de încărcare.
Există două opțiuni fie să trageți și să plasați dosarul, fie să alegeți fișierul. Descărcați fișierele necesare de mai jos. După selectarea fișierelor, apăsați commit changes. Deschideți aplicația pe care ați creat-o la Heroku, apoi accesați secțiunea de implementare. După aceea, faceți clic pe GitHub. Dați numele depozitului pe care l-ați creat în partea GitHub. În cazul meu este Smart-Relay. Copiați-l și lipiți-l aici. Odată ce linkul dvs. este afișat, faceți clic pe conectare. Apoi, faceți clic pe deploy branch (manual). După implementare, puteți vedea linkul în jurnalul de compilare sau puteți vedea linkul în setări. Avem nevoie de acest link mai târziu, când dezvoltăm competența Amazon.
Pasul 2: Amazon
Ultimele imagini ale abilității Alexa
Pe site-ul Amazon Developer folosim abilitățile Amazon pentru a controla declanșatorul comutatorului prin setarea temperaturii și umidității.
Accesați site-ul dezvoltatorului Amazon. Linkul este dat mai jos.
Site-ul web pentru dezvoltatori Amazon
- Accesați Consola pentru dezvoltatori din dreapta sus, așa cum se arată în figura i4
- Accesați Alexa, apoi selectați Alexa Skill Kit și apoi creați o nouă abilitate făcând clic pe Adăugați o abilitate nouă.
Când adăugați abilități noi, veți vedea pagina cu informații despre abilități.
1. Informații despre abilități (așa cum se arată în imaginea i7)
trebuie să furnizăm tipul de abilitate, limba, numele, numele invocației.
Tipul abilităților ==> selectați personalizat
- Nume ==> selectați orice nume.
- Numele invocării ==> pe care îl utilizați atunci când comunicați cu Alexa. De exemplu; - Alexa, cereți senzorului să activeze declanșatorul sau Alexa, cereți lumina aici Numele invocării sunt senzor și lumină.
- Limba ==> engleză (India). Selectați în funcție de țara dvs.
faceți clic pe salvare și apoi pe următor
2. Model de interacțiune
Aici, vom folosi pricepere. Așadar, faceți clic pe Lansați Skill Builder. veți vedea pagina așa cum se arată în imaginea i8.
Mai întâi creăm noi intenții. Faceți clic pe Adăugare (în partea stângă) și dați orice nume doriți, am folosit „smartswitch”
- Dați numele tipului de slot „tip_măsurare” și valorile slotului „temperatură” și „umiditate” așa cum se arată în imaginea i9.
- După aceasta adăugați numele de tip slot „interogare” și valorile slotului sunt „ce” și „este” așa cum se arată în imaginea i10.
- După aceea, adăugați slotul „switchstate” și valorile slotului sunt „on” și „off”, așa cum se arată în imaginea i11.
- Adăugați un alt tip de slot „tempscale”, iar valorile slotului sunt „fahrenheit” și „celcuis” așa cum se arată în imaginea i12.
- După aceea, adăugați un nou tip de slot aici, vom folosi tipul de slot existent pentru care trebuie să faceți clic pe Utilizare slot existent. În slotul existent căutați amazon.number și selectați acest lucru și adăugați-l. După adăugare, îl veți vedea în tipuri de sloturi, așa cum se arată în imaginea i13.
Așa că am terminat cu tipurile de sloturi tipul total de sloturi pe care îl folosim este 5. Acum, treceți la pasul următor. Faceți clic pe intenția pe care am creat-o, în cazul meu este smartswitch. În partea dreaptă veți vedea slotul de intenție așa cum se arată în imaginea i14.
- Creați un nou slot, dați-i numele „Switch_State” și mapați-l la „switchstate” utilizând butonul vertical așa cum se arată în imaginea i15.
- Creați un nou slot, dați-i numele „Sensor_Values” și mapați-l la „type_măsurare” așa cum se arată în imaginea i16.
- Creați un nou slot, dați-i numele „interogare” și mapați-l la „interogare” așa cum se arată în imaginea i17.
- După aceea creați un nou slot „tmp_scale” și mapați-l la „tempscale” așa cum se arată în imaginea i18.
- Creați un nou slot „Numere” și mapați-l la „Amazon. Numbers” așa cum se arată în imaginea i19.
Acum am terminat cu sloturile Intent. Folosim 5 sloturi de intenție. După aceasta, trecem la Exemple de enunțuri, așa cum se arată în imaginea i20.
Adăugați acest exemplu de enunțuri.
setați declanșatorul comutatorului la {Numere} procente {tmp_scale}
{interogare} este starea comutatorului
Comutator declanșator {Switch_State}
setați declanșatorul comutatorului la {Numere} grad {tmp_scale}
comutator rotativ {Switch_State}
{query} switch {Switch_State}
{interogare} este {Sensor_Values} curent
După aceasta salvați modelul și construiți-l. Așteptați ca modelul să fie construit după acel clic pe configurație. După construire veți vedea mesajul așa cum se arată în imaginile i21 și i22.
3. Configurare
Selectați HTTPS și adăugați linkul care a fost generat în timp ce creați aplicația Heroku. În cazul meu este https://iottempswitch.herokuapp.com/. După adăugarea linkului, faceți clic pe Următorul, așa cum se arată în imaginea i23.
4. Certificat SSL Selectați a doua opțiune și faceți clic pe următorul după cum se arată în imaginea i24.
ne-am creat cu succes abilitățile.
Pasul 3: Arduino
Deschideți Arduino IDE. Apoi accesați Fișier ==> Preferință
În Managerul de panouri suplimentare, copiați și lipiți adresa URL și faceți clic pe OK așa cum se arată în imaginea i26.
arduino.esp8266.com/versions/2.4.0/package_…
- Deschideți Board Board accesând Tools ==> Board ==> Board Manager.
- Deschideți Managerul de panouri și căutați nodemcu așa cum se arată în imaginea i27.
- După aceea descărcați biblioteca ESP8266WiFi. Deschideți Manager bibliotecă: Schiță ==> Includeți biblioteca ==> Gestionați bibliotecile.
- Căutați biblioteca ESP8266WiFi și instalați-o.
- Selectați placa ==> Modul ESP8266 generic.
- Înainte de a încărca codul, avem nevoie de trei biblioteci.
Biblioteci obligatorii
Mutați aceste biblioteci în dosarul bibliotecilor Arduino
Trebuie să schimbați trei lucruri în codul SSID, PWD și link-ul aplicației Heroku. După aceea, încărcați codul. Pentru modulul ESP trebuie să apăsați butonul bliț în timp ce încărcați codul și apoi apăsați butonul de resetare o dată și apoi eliberați butonul bliț. După încărcarea codului, deschideți terminalul. veți vedea ieșirea.
Pasul 4: Descrierea componentei
1. Ce este un releu
Releul este un dispozitiv electromagnetic care este utilizat pentru a izola electric două circuite și a le conecta magnetic. Sunt dispozitive foarte utile și permit unui circuit să comute altul în timp ce sunt complet separate. Acestea sunt adesea folosite pentru a interfața un circuit electronic (care funcționează la o tensiune scăzută) cu un circuit electric care funcționează la o tensiune foarte mare. De exemplu, un releu poate face un circuit de baterie de 5V DC pentru a comuta un circuit de alimentare de 230V AC.
Cum functioneaza
Un comutator de releu poate fi împărțit în două părți: intrare și ieșire. Secțiunea de intrare are o bobină care generează câmp magnetic atunci când i se aplică o mică tensiune dintr-un circuit electronic. Această tensiune se numește tensiune de funcționare. Releele utilizate în mod obișnuit sunt disponibile în diferite configurații ale tensiunilor de funcționare, cum ar fi 6V, 9V, 12V, 24V etc. Secțiunea de ieșire este formată din contacte care se conectează sau se deconectează mecanic. Într-un releu de bază există trei contacte: normal deschis (NO), normal închis (NC) și comun (COM). La nici o stare de intrare, COM este conectat la NC. Când se aplică tensiunea de funcționare, bobina releului devine energizată și COM schimbă contactul la NO. Sunt disponibile diferite configurații de relee, cum ar fi SPST, SPDT, DPDT etc., care au un număr diferit de contacte de comutare. Prin utilizarea unei combinații adecvate de contactoare, circuitul electric poate fi pornit și oprit. Obțineți detalii interioare despre structura unui comutator de releu.
Terminalul COM este terminalul comun. Dacă bornele COIL sunt alimentate cu tensiunea nominală, terminalele COM și NO au continuitate. Dacă bornele COIL nu sunt alimentate, atunci terminalele COM și NO nu au continuitate.
Terminalul NC este terminalul normal închis. Este terminalul care poate fi alimentat chiar dacă releul nu primește nici o tensiune suficientă sau suficientă pentru a funcționa.
Terminalul NO este terminalul normal deschis. Este terminalul pe care plasați ieșirea pe care o doriți atunci când releul primește tensiunea nominală. Dacă nu există tensiune la bornele COIL sau tensiune insuficientă, ieșirea este deschisă și nu primește tensiune. Când terminalele COIL primesc tensiunea nominală sau puțin sub, terminalul NO primește suficientă tensiune și poate porni dispozitivul la ieșire.
2. Senzor de temperatură DHT
DHT11 este un senzor de umiditate și temperatură, care generează ieșire digitală calibrată. DHT11 poate fi interfață cu orice microcontroler precum Arduino, Raspberry Pi etc. și poate obține rezultate instantanee. DHT11 este un senzor de umiditate și temperatură cu costuri reduse, care oferă fiabilitate ridicată și stabilitate pe termen lung.
3. Descriere completă ESP8266
Modulul ESP8266 WiFi este un SOC autonom cu stivă de protocol TCP / IP integrată care poate oferi acces oricărui microcontroler la rețeaua dvs. WiFi. ESP8266 este capabil să găzduiască o aplicație funcții de rețea de la o altă aplicație Fiecare modul ESP8266 este pre-programat cu o comandă AT.
ESP8266 acceptă APSD pentru aplicații VoIP și interfețe de coexistență Bluetooth, conține un RF autocalibrat care îi permite să funcționeze în toate condițiile de operare și nu necesită piese RF externe.
Caracteristici
- 802.11 b / g / n
- Wi-Fi Direct (P2P),
- soft-AP Stivă de protocol TCP / IP integrată
- Comutator TR integrat, balun, LNA, amplificator de putere și rețea de potrivire
- PLL-uri integrate, regulatoare, DCXO și unități de gestionare a energiei
- + 19,5dBm putere de ieșire în modul 802.11b
- Opriți curentul de scurgere <10uA
- 1 MB memorie flash
- Procesorul integrat pe 32 de biți de mică putere ar putea fi folosit ca procesor de aplicație
- SDIO 1.1 / 2.0, SPI, UART
- STBC, 1 × 1 MIMO, 2 × 1 MIMOA-MPDU și agregare A-MSDU și interval de protecție de 0,4 ms
- Trezește-te și transmite pachete în <2ms
- Consum de energie de așteptare <1,0mW (DTIM3)
Pin Descriere așa cum se arată în imaginea i34.
Pentru conectarea modulului ESP cu Arduino UNO avem nevoie de regulator de tensiune Lm1117 3.3 sau de orice regulator, deoarece Arduino nu este capabil să furnizeze 3,3 v ESP8266.
Notă: - În timp ce încărcați codul, apăsați butonul flash, apoi apăsați butonul de resetare o dată și apoi eliberați butonul flash, așa cum se arată în imaginea i29.
Pentru conectarea senzorului și releului DHT11 folosim doi pini GPIO ai modulului ESP8266. După încărcarea codului, puteți deconecta pinii RX, TX, GPIO0. Am folosit GPIO0 pentru senzorul DHT11 și GPIO2 pentru relee. Senzorul DHT11 funcționează bine cu ESP8266, dar pentru relee avem nevoie de un lucru suplimentar, adică izolator opto sau cuplaj opto. A se vedea imaginea i30, i31, i32 și i33.
Pasul 5: Conexiuni
ESP8266 ===> DHT11GPIO0 ===> Pin de ieșire
ESP8266 ===> RelayGPIO2 ===> Intrare
ARDUINO ===> ESP8266
Gnd ===> GndTX ===> TX
RX ===> RX
Buton Reset ===> RST
Buton Flash ===> GPIO0
Pasul 6: Verificarea tuturor lucrurilor
Ne-am creat cu succes aplicația, abilitățile și hardware-ul nostru este gata. Deci, este timpul să verificați.
Pentru aceasta, ESP8266 este pornit, deoarece serverul nostru rulează pe ESP8266. Aici nu am conectat niciun senzor la ESP8266. Verific doar dacă funcționează sau nu, dar puteți conecta senzorul, releu la ESP8266. Odată ce este conectat la Heroku, veți vedea conectat. Pentru testare, accesați abilitatea Amazon pe care ați creat-o, apoi faceți clic pe pagina de testare. Odată verificat funcționarea acestuia, îmi voi conecta senzorul la ESP8266. Puteți vedea rezultatele așa cum se arată în imaginile i35, i36, 37, 38, 39, 40.
Dacă îl utilizați fără a conecta ESP8266, veți primi această eroare așa cum se arată în imaginea i41.
Enunț pe care îl puteți folosi
setați declanșatorul comutatorului la {Numere} procente {tmp_scale}
ex: - setați declanșatorul comutatorului la 50% umiditate
{interogare} este starea comutatorului
ex-on / off este starea comutatorului
Comutator declanșator {Switch_State}
declanșator comutator ex-on / off
setați declanșatorul comutatorului la {Numbers} grade {tmp_scale}
ex-setează declanșatorul comutatorului la 76 de grade Fahrenheit
ex - setați declanșatorul comutatorului la 24 grade celcius
comutator rotativ {Switch_State}
ex - porniți / opriți comutatorul
A se vedea imaginea i41 la i46 pentru rezultate.
În timp ce vorbiți cu AlexaAlexa, rugați-l pe arduino să activeze / să dezactiveze declanșatorul comutatorului
Alexa, cere arduino să seteze declanșatorul comutatorului la 24 de grade Celsius.
Alexa, cere arduino să seteze declanșatorul comutatorului la 50% umiditate
Alexa, cere arduino să pornească / să oprească comutatorul
Pasul 7: Diagrama VUI (Voice User Interface)
Pasul 8: Demo
1. Setați declanșatorul pentru temperatură și umiditate.
2. Setați declanșatorul la 20 de grade Celsius.
3. Setați declanșatorul la 80% umiditate.
Pasul 9: Schematic
Recomandat:
Lansator de rachete controlat prin voce Alexa: 9 pași (cu imagini)
Lansator de rachete controlat vocal pe bază de Alexa: pe măsură ce se apropie sezonul de iarnă; vine acea perioadă a anului când se sărbătorește festivalul luminilor. Da, vorbim despre Diwali, care este un adevărat festival indian sărbătorit pe tot globul. Anul acesta, Diwali s-a terminat deja și vedem oameni
Robot controlat prin voce folosind modulul V3: 6 pași
Robot controlat prin voce folosind modulul V3: Acest robot poate fi realizat cu ușurință de oricine, trebuie doar să urmați procesul așa cum am dat. Acesta este un robot controlat prin voce și puteți vedea demo-ul robotului meu, îl puteți folosi în două moduri într-un fel la distanță și altele se face prin voce
Comutator de lumină controlat prin clipire cu ochelarii de protecție pentru ștergere Shota Aizawa (My Hero Academia): 8 pași (cu imagini)
Comutator de lumină controlat cu ochi-clipire utilizând ochelarii de protecție Eraser pentru capul lui Shota Aizawa (My Hero Academia): Dacă citiți manga eroului academia sau vizionați anime-ul eroului academiei, trebuie să cunoașteți un personaj numit shota aizawa. Shota Aizawa, cunoscut și sub numele de Eraser Head, este un erou profesionist și profesor de clasă 1-A din SUA. Quirkul lui Shota îi dă ab
RC Car Hack - Controlat prin Bluetooth prin aplicația Android: 3 pași (cu imagini)
RC Car Hack - Controlat prin Bluetooth prin intermediul aplicației Android: Sunt sigur că fiecare dintre voi puteți găsi acasă mașină RC neutilizată. Această instrucțiune vă va ajuta să schimbați vechea mașină RC în cadou original :) Datorită faptului că mașina RC pe care o aveam avea dimensiuni mici, am ales Arduino Pro Mini ca controler principal. O alta
Comutator de releu activat prin voce (Arduino): 6 pași (cu imagini)
Comutator de releu activat prin voce (Arduino): Bună ziua tuturor! În acest proiect, vă voi arăta cum să implementați comenzi vocale pentru proiectele dvs. Arduino. Folosind comenzi vocale, vă voi arăta cum să controlați un modul de comutare a releului