- Hårdvarukomponenter som används:
- Programmering ESP-01-modul med CP2102 USB-TTL-omvandlare:
- Anslutning av ESP-01 med CP2102-modul:
- Programmering av ESP-01-modul för Alexa Home Automation
- Kretsschema
- Ställ in Amazon Alexa-appen för hemautomation
Smarta högtalare som Amazon Echo eller Google-hem blir populära nu och båda har möjlighet att integrera anpassad skicklighet eller åtgärder för att styra alla apparater som använder de smarta högtalarna. Vi har tidigare byggt vår egen smarta högtalare med Raspberry Pi och Alexa och kontrollerade också hushållsapparater med denna Raspberry Pi smarta högtalare.
Hemautomation har blivit väldigt vanligt nu och människor använder IoT för att automatisera allt i sitt hem. Här i den här handledningen kommer vi att använda en Real Amazon Echo dot-högtalare och skapa en anpassad färdighet för att styra AC-hushållsapparater som lampor, fläktar, TV-apparater, uttag med en Amazon Echo dot-högtalare. Här använder vi Arduino UNO och en ESP8266-01 Wi-Fi-modul för att ansluta Echo dot-högtalare med AC-apparater. Efter denna handledning kommer du att kunna styra alla apparater genom Alexa.
Hårdvarukomponenter som används:
- Arduino UNO
- ESP-01-modul
- Amazon Alexa ekopunkt
- CP2102 USB-TTL-omvandlare
- Bakbord
- 5V relämodul
- AC-apparater
- Tröjor
Programmering ESP-01-modul med CP2102 USB-TTL-omvandlare:
Här programmeras ESP-01 med en CP2102 USB-TTL-omvandlare; det kan också programmeras med ett Arduino UNO-kort. Här i mitt fall har jag använt en CP2102-modul och stegen för att göra detta förklaras nedan.
ESP-01-modul
ESP8266 ESP-01 är en Wi-Fi-modul som är mycket populär vid utformning av IoT-applikationer och används för att låta mikrokontroller som Arduino UNO ansluta till internet. Denna modul är ett fristående system på ett chip (SOC) som kan fungera som en liten dator. Den levereras med en förinstallerad AT-firmware, därför kan vi programmera den med Arduino IDE. Du kan lära dig mer om ESP-01 Wi-Fi-sändtagaren och dess programmering med Arduino IDE genom att följa länken.
Stiftbeskrivning:
VCC: Strömförsörjningsstift på ESP-01 som kan levereras med 3,3 V DC
GND: Markreferensstift på ESP-01
TXD: Används som UART-sändarstift
RXD: Används som UART-mottagarstift
RESET: Den används för att återställa modulen och den är en aktiv LÅG stift.
CH_PD: Det är chip-aktiveringsstiftet som är ett aktivt HÖGT stift.
GPIO0: Denna stift tjänar två syften. Den ena är som allmänt ingång / utgång och den andra är att aktivera programmeringsläget för ESP-01
GPIO2: Detta är en in- / utgångsstift för allmänt ändamål.
Anslutning av ESP-01 med CP2102-modul:
Figuren nedan visar pinout-diagrammet för en CP2102 USB-TTL-omvandlare. Anslut ESP-01-modulen till CP2102 USB-TTL-omvandlarmodulen enligt tabellen nedan.
ESP-01-modul |
CP2102-modul |
VCC |
3,3V |
GND |
GND |
RXD |
TXD |
TXD |
RXD |
CH_PD |
3,3V |
ÅTERSTÄLLA |
Ingen förbindelse |
GPIO0 |
GND |
GPIO2 |
Ingen förbindelse |
Efter framgångsrik anslutning ovan ska kretsen se ut som nedan:
Anslut sedan CP2102-modulen till vår dator för programmering. Innan du laddar upp koden till ESP-01 ska du först kontrollera kommunikationsporten. För detta går du till start-> och söker efter enhetshanteraren. Klicka sedan på COM och portar. Under detta alternativ borde vi få en COM-port med ett USB-TTL-omvandlarnamn som “ Silicon labs CP21xx USB-UART Bridge ” som visas i bilden nedan:
När du har slutfört ovanstående steg, öppna Arduino IDE och välj kortet som ” Generic ESP8266 Module ” från Verktyg- menyn och välj COM-porten som vi fick i föregående steg.
Programmering av ESP-01-modul för Alexa Home Automation
Komplett kod ges i slutet av detta projekt. Här är den stegvisa förklaringen av koden som ska laddas upp på ESP-01-modulen. Det första steget är att inkludera alla nödvändiga bibliotek. Du kan ladda ner biblioteket “fauxmoESP.h” från länken här.
# inkludera # inkludera
I detta steg måste vi definiera alla referenser som krävs för att ansluta ESP-01 till internet. Uppdatera nätverks-SSID och lösenordsdata i programmet.
#define SSID "*******" #define pass "*******"
Definiera sedan namnet på enheterna, som vi behöver styra från Alexa. I mitt fall har jag tagit mina enhetsnamn som " sovrumslampa ", " sovrumsfläkt " och " smart uttag. "
#define device1 "sovrumslampa" #define device2 "sovrumsfläkt" #define device3 "smart socket"
Funktionen WiFi.mode används för att ställa in ESP-01-modulen som stationsläge och funktionen WiFi.begin används för att ansluta ESP-01-modulen till internet som tar nätverkets SSID och lösenord som argument.
WiFi-läge (WIFI_STA); WiFi.begin (ssid, pass);
Nästa del är att initiera alla funktioner i Fauxmo- klassen som att skapa servern, aktivera portnumret för Alexa-enheten, aktivera enheten etc. Lägg sedan till alla enheter med fauxmo.addDevice som vi har skapat tidigare.
fauxmo.createServer (true); fauxmo.setPort (80); fauxmo.enable (true); fauxmo.addDevice (device1); fauxmo.addDevice (device2); fauxmo.addDevice (device3);
Därefter skriver en funktion för att jämföra våra röstkommandon med de fördefinierade enhetsnamn. Om kommandot matchar, skicka sedan ett tecken till Arduino serieterminaler med Serial.print.
fauxmo.onSetState ((osignerad char device_id, const char * device_name, bool state, unsigned char value) {if (strcmp (device_name, device1) == 0) {if (state) Serial.print ("1"); annat Seriell.print ("2");}}
I void loop () -funktionen kommer fauxmo.handle- funktionen bara att söka efter inkommande data från Alexa och den kommer att vidta åtgärder med onSetstate () -funktionen.
ogiltig slinga () {fauxmo.handle (); }
Ladda nu upp den fullständiga koden som ges i slutet till ESP-01-modulen och se till att uppladdningen lyckas.
Arduino-kod:
Efter det är det dags att ladda upp koden i Arduino. Koden för Arduino är väldigt enkel. Den tar endast emot de tecken som skickas från ESP-01-moduler via UART-terminalerna och jämför den för att skicka PÅ / AV-signalen till reläet. Det kompletta programmet för Arduino visas nedan:
char data; ogiltig installation () {Serial.begin (115200); pinMode (7, OUTPUT); pinMode (6, OUTPUT); pinMode (5, OUTPUT); digitalWrite (7, LOW); digitalWrite (6, LOW); digitalWrite (5, LOW); } ogiltig loop () {if (Serial.available ()> 0) {data = Serial.read (); Serial.print (data); Serial.print ("\ n"); if (data == '1') digitalWrite (7, HIGH); annars om (data == '2') digitalWrite (7, LOW); annars om (data == '3') digitalWrite (6, HIGH); annars om (data == '4') digitalWrite (6, LOW); annars om (data == '5') digitalWrite (5, HIGH); annars om (data == '6') digitalWrite (5, LOW); }}
Efter att ha laddat upp koden till Arduino, anslut sedan hårdvaran enligt schemat nedan.
Kretsschema
Kretsschemat för hemautomation med Alexa visas nedan:
Här har vi lödt alla komponenter på en Perfboard så att den fungerar som Arduino-sköld.
På samma sätt har vi också byggt en relämodul på en Perfboard:
Ställ in Amazon Alexa-appen för hemautomation
Efter en framgångsrik slutförande av hårdvaruinstallationen och kodningen är det dags att ställa in Alexa Android-appen. Först måste vi söka efter smarta enheter i närheten via den här appen. För att göra det, slå på din Alexa-enhet och öppna sedan din Alexa-app och klicka på alternativet " Enheter " och klicka sedan på "+" -tecknet som ber dig att " Lägg till enhet ". Klicka sedan på " Lägg till enhet ", klicka på " annan " i typen av enhet och välj sedan upptäck enheter. Då bör din Alexa-app söka efter enheten som kan ta upp till 45 sekunder.
Obs: Alternativt kan vi också upptäcka enheterna med röstkommandot " Alexa, upptäck enheter "
Efter avslutad enhet upptäckt, bör du få tre nya enheter med namn som vi har gett i koden. I mitt fall är detta sovrumslampa , sovrumsfläkt och smart uttag . Nu är installationen redo för testning, testa bara genom att säga " Alexa, slå på sovrumslampan " och den ska returnera din feedback och säga "Okej", och lampan ska tändas. På samma sätt kan vi testa för alla andra kommandon.
Så här kommer den fullständiga installationen för Amazon Echo-punktstyrda hushållsapparater att se ut:
Komplett kod för ESP-01 med en demonstrationsvideo ges nedan.