- Brugte hardwarekomponenter:
- Programmering ESP-01-modul ved hjælp af CP2102 USB-TTL-konverter:
- Forbindelse af ESP-01 med CP2102-modul:
- Programmering af ESP-01-modul til Alexa Home Automation
- Kredsløbsdiagram
- Opsæt Amazon Alexa App til hjemmeautomatisering
Smarte højttalere som Amazon Echo eller Google home bliver populære nu dage, og begge har mulighed for at integrere brugerdefineret færdighed eller handling for at kontrollere ethvert apparat ved hjælp af disse smarte højttalere. Vi har tidligere bygget vores egen Smart-højttaler ved hjælp af Raspberry Pi og Alexa og kontrollerede også husholdningsapparater ved hjælp af denne Raspberry Pi-smarthøjttaler.
Hjemmeautomatisering er blevet meget almindelig nu dage, og folk bruger IoT til at automatisere alt i deres hjem. Her i denne vejledning bruger vi en Real Amazon Echo dot-højttaler og opretter en brugerdefineret færdighed til at styre AC-husholdningsapparater som lys, blæsere, tv'er, stikkontakter ved hjælp af en Amazon Echo dot-højttaler. Her bruger vi Arduino UNO og et ESP8266-01 Wi-Fi-modul til at forbinde Echo dot-højttaler med AC-apparater. Efter denne vejledning vil du være i stand til at styre ethvert apparat gennem Alexa.
Brugte hardwarekomponenter:
- Arduino UNO
- ESP-01-modul
- Amazon Alexa ekko prik
- CP2102 USB-TTL-konverter
- Brødbræt
- 5V relæmodul
- AC apparater
- Jumpere
Programmering ESP-01-modul ved hjælp af CP2102 USB-TTL-konverter:
Her er ESP-01 programmeret ved hjælp af en CP2102 USB-TTL-konverter; det kan også programmeres ved hjælp af et Arduino UNO-kort. Her i mit tilfælde har jeg brugt et CP2102-modul, og trinene til at gøre dette forklares nedenfor.
ESP-01-modul
ESP8266 ESP-01 er et Wi-Fi-modul, der er meget populært til at designe IoT-applikationer, og det bruges til at tillade mikrocontrollere som Arduino UNO at oprette forbindelse til internettet. Dette modul er et selvstændigt system på en chip (SOC), der kan fungere som en lille computer. Den leveres med en forudinstalleret AT-firmware, og derfor kan vi programmere den ved hjælp af Arduino IDE. Du kan lære mere om ESP-01 Wi-Fi-transceiveren og dens programmering ved hjælp af Arduino IDE ved at følge linket.
Pin beskrivelse:
VCC: Strømforsyningsstift på ESP-01, som kan leveres med 3,3 V DC
GND: Jordreferencestift på ESP-01
TXD: Brugt som UART-senderstift
RXD: Bruges som UART-modtagerstift
RESET: Det bruges til at nulstille modulet, og det er en aktiv LAV pin.
CH_PD: Det er chip-aktiveringsstiften, der er en aktiv HIGH pin.
GPIO0: Denne pin tjener to formål. Den ene er som generel input / output, og den anden er at aktivere programmeringstilstand for ESP-01
GPIO2: Dette er en generel input / output pin.
Forbindelse af ESP-01 med CP2102-modul:
Figuren nedenfor viser pinout-diagrammet for en CP2102 USB-TTL-konverter. Forbind ESP-01-modulet med CP2102 USB-TTL-konvertermodulet i henhold til nedenstående tabel.
ESP-01-modul |
CP2102-modul |
VCC |
3.3V |
GND |
GND |
RXD |
TXD |
TXD |
RXD |
CH_PD |
3.3V |
NULSTIL |
Ingen forbindelse |
GPIO0 |
GND |
GPIO2 |
Ingen forbindelse |
Efter vellykket afslutning af forbindelsen ovenfor skal kredsløbet se ud som nedenfor:
Tilslut derefter CP2102-modulet til vores pc til programmering. Før du uploader koden til ESP-01, skal du først kontrollere, om der er kommunikationsport. Gå til start-> og søg efter enhedsadministrator til dette. Klik derefter på COM'er og porte. Under denne mulighed skal vi få en COM-port med et USB-TTL-konverteringsnavn som " Silicon labs CP21xx USB-UART Bridge " som vist på billedet nedenfor:
Efter vellykket afslutning af ovenstående trin skal du åbne Arduino IDE og vælge tavlen som " Generisk ESP8266-modul " i menuen Funktioner og vælge den COM-port, som vi fik i den foregående fase.
Programmering af ESP-01-modul til Alexa Home Automation
Komplet kode gives i slutningen af dette projekt. Her er den trinvise forklaring af koden, der skal uploades på ESP-01-modulet. Det første trin er at inkludere alle de nødvendige biblioteker. Du kan downloade biblioteket “fauxmoESP.h” fra linket her.
# inkluderer # inkluderer
I dette trin skal vi definere alle legitimationsoplysninger, der kræves for at forbinde ESP-01 med internettet. Opdater dine netværks-SSID og adgangskodedata i programmet.
#define SSID "*******" #define pass "*******"
Definer derefter navnet på enhederne, som vi skal kontrollere fra Alexa. I mit tilfælde har jeg taget mine enhedsnavne som " soveværelse lys ", " soveværelse ventilator " og " smart stikkontakt. "
#define device1 "soveværelse lys" #define device2 "soveværelse fan" #define device3 "smart socket"
Funktionen WiFi.mode bruges til at indstille ESP-01-modulet som Station-tilstand, og funktionen WiFi.begin bruges til at forbinde ESP-01-modulet til internettet, der tager netværkets SSID og adgangskode som argumenter.
WiFi.mode (WIFI_STA); WiFi.begin (ssid, pass);
Den næste del er at initialisere alle funktionerne i Fauxmo- klassen som at oprette serveren, aktivere portnummeret til Alexa-enheden, aktivere enheden osv. Derefter tilføje alle enheder ved hjælp af fauxmo.addDevice, som vi har oprettet tidligere.
fauxmo.createServer (sand); fauxmo.setPort (80); fauxmo.enable (sand); fauxmo.addDevice (enhed1); fauxmo.addDevice (device2); fauxmo.addDevice (device3);
Dernæst skriver en funktion til at sammenligne vores stemmekommandoer med de foruddefinerede navne enhedens. Hvis kommandoen stemmer overens, skal du sende et tegn til Arduino serielle terminaler ved hjælp af Serial.print.
fauxmo.onSetState ((usigneret char device_id, const char * device_name, bool state, unsigned char value) {if (strcmp (device_name, device1) == 0) {if (state) Serial.print ("1"); ellers Serial.print ("2");}}
I ugyldig loop () -funktion vil fauxmo.handle- funktionen bare kontrollere for de indgående data fra Alexa, og den vil tage handlinger ved hjælp af funktionen onSetstate () .
ugyldig sløjfe () {fauxmo.handle (); }
Upload nu den komplette kode, der er givet i slutningen, til ESP-01-modulet, og sørg for vellykket upload.
Arduino-kode:
Derefter er det tid til at uploade koden i Arduino. Koden til Arduino er meget enkel. Det modtager kun de tegn, der sendes fra ESP-01-moduler gennem sine UART-terminaler, og sammenligner det med at sende tænd / sluk-signalet til relæet. Det komplette program til Arduino er vist nedenfor:
char data; ugyldig opsætning () {Serial.begin (115200); pinMode (7, OUTPUT); pinMode (6, OUTPUT); pinMode (5, OUTPUT); digitalWrite (7, LAV); digitalWrite (6, LAV); digitalWrite (5, LAV); } ugyldig sløjfe () {hvis (Serial.available ()> 0) {data = Serial.read (); Serial.print (data); Serial.print ("\ n"); hvis (data == '1') digitalWrite (7, HIGH); ellers hvis (data == '2') digitalWrite (7, LOW); ellers hvis (data == '3') digitalWrite (6, HIGH); ellers hvis (data == '4') digitalWrite (6, LOW); ellers hvis (data == '5') digitalWrite (5, HIGH); ellers hvis (data == '6') digitalWrite (5, LOW); }}
Efter vellykket upload, koden til Arduino, Tilslut derefter hardwaren i henhold til skemaerne nedenfor.
Kredsløbsdiagram
Kredsløbsdiagrammet til hjemmeautomatisering ved hjælp af Alexa er vist nedenfor:
Her har vi loddet alle komponenterne på et Perfboard, så det fungerer som Arduino-skjold.
På samme måde har vi også bygget et relæmodul på en Perfboard:
Opsæt Amazon Alexa App til hjemmeautomatisering
Efter en vellykket afslutning af hardwareopsætning og -kodning er det nu tid til at oprette Alexa Android-appen. Først skal vi søge efter smart enheder i nærheden gennem denne app. For at gøre det skal du tænde for din Alexa-enhed og derefter åbne din Alexa-app og klikke på indstillingen " Enheder " og derefter klikke på "+" -tegnet, som beder dig om at " Tilføj enhed ". Klik derefter på " Tilføj enhed ", klik på " anden " i enhedstypen, og vælg derefter Find enheder. Derefter skal din Alexa-app søge efter enheden, som kan tage op til 45 sekunder.
Bemærk: Alternativt kan vi også finde enhederne ved hjælp af stemmekommandoen " Alexa, find enheder "
Efter afslutningen af enhedsopdagelsen skal du få 3 nye enheder ved navn, som vi har angivet i koden. I mit tilfælde er disse soveværelse lys , soveværelse ventilator og smart stikkontakt . Nu er opsætningen klar til testning, bare test ved at sige " Alexa, tænd for soveværelseslys ", og det skal returnere din feedback og sige "Okay", og lyset skal tænde. På samme måde kan vi teste for alle andre kommandoer.
Sådan ser den komplette opsætning til Amazon Echo-punktstyrede husholdningsapparater ud:
Komplet kode til ESP-01 med en demonstrationsvideo er angivet nedenfor.