- Maskinvarekomponenter brukt:
- Programmering ESP-01-modul ved bruk av CP2102 USB-TTL-omformer:
- Tilkobling av ESP-01 med CP2102-modul:
- Programmering av ESP-01-modul for Alexa Home Automation
- Kretsskjema
- Konfigurer Amazon Alexa App for hjemmeautomatisering
Smarte høyttalere som Amazon Echo eller Google home blir populære nå for tiden, og begge har mulighet til å integrere tilpasset ferdighet eller handling for å kontrollere ethvert apparat som bruker de smarte høyttalerne. Vi bygde tidligere vår egen Smart-høyttaler ved hjelp av Raspberry Pi og Alexa, og kontrollerte også husholdningsapparater ved hjelp av denne Raspberry Pi-smarte høyttaleren.
Hjemmeautomatisering har blitt veldig vanlig nå for tiden, og folk bruker IoT til å automatisere alt i hjemmet. Her i denne opplæringen vil vi bruke en ekte Amazon Echo dot-høyttaler og lage en tilpasset ferdighet for å kontrollere AC-husholdningsapparater som lys, vifter, TV-er, stikkontakter ved hjelp av en Amazon Echo dot-høyttaler. Her vil vi bruke Arduino UNO og en ESP8266-01 Wi-Fi-modul for å koble Echo dot-høyttaler med AC-apparater. Etter denne opplæringen vil du være i stand til å kontrollere hvilket som helst apparat gjennom Alexa.
Maskinvarekomponenter brukt:
- Arduino UNO
- ESP-01-modul
- Amazon Alexa ekko prikk
- CP2102 USB-TTL-omformer
- Brettbrett
- 5V relémodul
- AC-apparater
- Gensere
Programmering ESP-01-modul ved bruk av CP2102 USB-TTL-omformer:
Her er ESP-01 programmert ved hjelp av en CP2102 USB-TTL-omformer; den kan også programmeres ved hjelp av et Arduino UNO-kort. Her i mitt tilfelle har jeg brukt en CP2102-modul, og trinnene for å gjøre dette er forklart nedenfor.
ESP-01-modul
ESP8266 ESP-01 er en Wi-Fi-modul som er veldig populær i utformingen av IoT-applikasjoner, og den brukes til å la mikrokontrollere som Arduino UNO koble seg til internett. Denne modulen er et selvstendig system på en chip (SOC) som kan fungere som en liten datamaskin. Den leveres med en forhåndsinstallert AT-firmware, og derfor kan vi programmere den ved hjelp av Arduino IDE. Du kan lære mer om ESP-01 Wi-Fi-mottakeren og dens programmering ved hjelp av Arduino IDE ved å følge lenken.
Pin beskrivelse:
VCC: Strømforsyningsstift på ESP-01 som kan leveres med 3,3 V DC
GND: Jordreferansepinne på ESP-01
TXD: Brukes som UART-senderstift
RXD: Brukes som UART-mottakerstift
RESET: Den brukes til å tilbakestille modulen, og den er en aktiv LAV pin.
CH_PD: Det er chip-aktiveringspinnen som er en aktiv HIGH pin.
GPIO0: Denne pinnen tjener to formål. Den ene er som generell inngang / utgang, og den andre er å aktivere programmeringsmodus for ESP-01
GPIO2: Dette er en generell inngangs- / utgangspinne.
Tilkobling av ESP-01 med CP2102-modul:
Figuren nedenfor viser pinout-diagrammet til en CP2102 USB-TTL-omformer. Koble ESP-01-modulen til CP2102 USB-TTL-omformermodulen i henhold til tabellen nedenfor.
ESP-01-modul |
CP2102-modul |
VCC |
3,3V |
GND |
GND |
RXD |
TXD |
TXD |
RXD |
CH_PD |
3,3V |
NULLSTILLE |
Ingen forbindelse |
GPIO0 |
GND |
GPIO2 |
Ingen forbindelse |
Etter vellykket gjennomføring av tilkoblingen ovenfor, bør kretsen se ut som nedenfor:
Koble deretter CP2102-modulen til PC-en vår for programmering. Før du laster opp koden til ESP-01, må du først se etter kommunikasjonsporten. For å gå til start-> og søk etter enhetsbehandling. Klikk deretter på COM og porter. Under dette alternativet bør vi få en COM-port med et USB-TTL-konverteringsnavn som " Silicon labs CP21xx USB-UART Bridge " som vist på bildet nedenfor:
Etter vellykket gjennomføring av trinnene ovenfor, Åpne Arduino IDE og velg kortet som “ Generic ESP8266 Module ” fra Verktøy- menyen og velg COM-porten som vi fikk i forrige trinn.
Programmering av ESP-01-modul for Alexa Home Automation
Komplett kode er gitt på slutten av dette prosjektet. Her er den trinnvise forklaringen av koden som skal lastes opp på ESP-01-modulen. Det første trinnet er å inkludere alle nødvendige biblioteker. Du kan laste ned biblioteket “fauxmoESP.h” fra lenken her.
# inkluderer # inkluderer
I dette trinnet må vi definere alle legitimasjonene som kreves for å koble ESP-01 til internett. Oppdater SSID og passorddata for nettverket i programmet.
#define SSID "*******" #define pass "*******"
Neste definere navnet på enhetene, som vi trenger å kontrollere fra Alexa. I mitt tilfelle har jeg tatt enhetsnavnene mine som " soveromslys ", " soveromsvifte " og " smart stikkontakt. "
#define device1 "bedroom light" #define device2 "bedroom fan" #define device3 "smart socket"
Funksjonen WiFi.mode brukes til å sette opp ESP-01-modulen som stasjonsmodus, og funksjonen WiFi. Begynner brukes til å koble ESP-01-modulen til internett som tar nettverkets SSID og passord som argumenter.
WiFi-modus (WIFI_STA); WiFi.begin (ssid, pass);
Den neste delen er å initialisere alle funksjonene i Fauxmo- klassen som å opprette serveren, aktivere portnummeret for Alexa-enheten, aktivere enheten osv. Deretter legger du til alle enhetene ved hjelp av fauxmo.addDevice som vi har opprettet tidligere.
fauxmo.createServer (true); fauxmo.setPort (80); fauxmo.enable (true); fauxmo.addDevice (device1); fauxmo.addDevice (device2); fauxmo.addDevice (device3);
Deretter skriver du en funksjon for å sammenligne talekommandoer med de forhåndsdefinerte enhetsnavnene. Hvis kommandoen stemmer overens, så send et tegn til Arduino serieterminaler ved hjelp av Serial.print.
fauxmo.onSetState ((usignert char device_id, const char * device_name, bool state, usignert char verdi) {if (strcmp (device_name, device1) == 0) {if (state) Serial.print ("1"); ellers Serial.print ("2");}}
I void loop () -funksjon vil fauxmo.handle- funksjonen bare sjekke for innkommende data fra Alexa, og den vil ta handlinger ved hjelp av onSetstate () -funksjonen.
ugyldig sløyfe () {fauxmo.handle (); }
Last nå opp den fullstendige koden som er gitt på slutten til ESP-01-modulen og sørg for vellykket opplasting.
Arduino-kode:
Etter det er det på tide å laste opp koden i Arduino. Koden for Arduino er veldig enkel. Den mottar bare tegnene som sendes fra ESP-01-moduler gjennom UART-terminalene, og sammenligner den for å sende slå PÅ / AV-signalet til reléet. Det komplette programmet for Arduino er vist nedenfor:
røye data; ugyldig oppsett () {Serial.begin (115200); pinMode (7, OUTPUT); pinMode (6, OUTPUT); pinMode (5, OUTPUT); digitalWrite (7, LAV); digitalWrite (6, LAV); digitalWrite (5, LAV); } ugyldig sløyfe () {if (Serial.available ()> 0) {data = Serial.read (); Serial.print (data); Serial.print ("\ n"); hvis (data == '1') digitalWrite (7, HIGH); annet hvis (data == '2') digitalWrite (7, LOW); annet hvis (data == '3') digitalWrite (6, HIGH); annet hvis (data == '4') digitalWrite (6, LOW); annet hvis (data == '5') digitalWrite (5, HIGH); annet hvis (data == '6') digitalWrite (5, LOW); }}
Etter vellykket opplasting, koden til Arduino, koble deretter maskinvaren i henhold til skjemaene gitt nedenfor.
Kretsskjema
Kretsskjemaet for hjemmeautomatisering ved hjelp av Alexa er vist nedenfor:
Her har vi loddet alle komponentene på en Perfboard slik at den fungerer som Arduino-skjold.
På samme måte har vi også bygget en relémodul på en Perfboard:
Konfigurer Amazon Alexa App for hjemmeautomatisering
Etter vellykket gjennomføring av maskinvareoppsett og koding, er det nå på tide å sette opp Alexa Android-appen. Først må vi søke etter smarte enheter i nærheten gjennom denne appen. For å gjøre det, slå på Alexa-enheten din, og åpne deretter Alexa-appen din og klikk på alternativet " Enheter ", og klikk deretter på "+" -tegnet som ber deg om å " Legg til enhet ". Klikk deretter på “ Legg til enhet ”, i enhetstypen klikk “ annet ” og velg deretter oppdag enheter. Da bør Alexa-appen din søke etter enheten som kan ta opptil 45 sekunder.
Merk: Alternativt kan vi også oppdage enhetene ved hjelp av stemmekommandoen " Alexa, oppdag enheter "
Etter at enhetsoppdagelsen er fullført, bør du få 3 nye enheter ved navn som vi har gitt i koden. I mitt tilfelle er dette soveromslys , soveromsvifte og smart stikkontakt . Nå er oppsettet klart for testing, bare test ved å si “ Alexa, slå på soverommet lys ”, og det skal returnere tilbakemeldingen din og si “Ok”, og lyset skal slå på. På samme måte kan vi teste for alle andre kommandoer.
Slik ser det komplette oppsettet for Amazon Echo-punktstyrte husholdningsapparater ut:
Komplett kode for ESP-01 med en demonstrasjonsvideo er gitt nedenfor.