- Gebruikte hardwarecomponenten:
- ESP-01-module programmeren met CP2102 USB-TTL-converter:
- Verbinding van ESP-01 met CP2102-module:
- Programmering van ESP-01-module voor Alexa Home Automation
- Schakelschema
- Stel de Amazon Alexa-app in voor huisautomatisering
Slimme luidsprekers zoals Amazon Echo of Google Home worden tegenwoordig populair en beide hebben de mogelijkheid om aangepaste vaardigheden of acties te integreren om elk apparaat met die slimme luidspreker te bedienen. We bouwden eerder onze eigen Smart-luidspreker met Raspberry Pi en Alexa, en bedienden ook huishoudelijke apparaten met deze Raspberry Pi-slimme luidspreker.
Domotica is tegenwoordig heel gewoon geworden en mensen gebruiken IoT om alles in hun huis te automatiseren. Hier in deze tutorial zullen we een Real Amazon Echo dot-luidspreker gebruiken en een aangepaste vaardigheid creëren om AC-huishoudelijke apparaten zoals lichten, ventilatoren, tv's en stopcontacten te bedienen met behulp van een Amazon Echo-dot-luidspreker. Hier zullen we Arduino UNO en een ESP8266-01 Wi-Fi-module gebruiken om Echo dot-luidspreker te verbinden met AC-apparaten. Na deze tutorial kun je elk apparaat via Alexa bedienen.
Gebruikte hardwarecomponenten:
- Arduino UNO
- ESP-01-module
- Amazon Alexa echo-punt
- CP2102 USB-TTL-omzetter
- Breadboard
- 5V relaismodule
- AC-apparaten
- Truien
ESP-01-module programmeren met CP2102 USB-TTL-converter:
Hier wordt ESP-01 geprogrammeerd met behulp van een CP2102 USB-TTL-converter; het kan ook worden geprogrammeerd met behulp van een Arduino UNO-bord. In mijn geval heb ik hier een CP2102-module gebruikt en de stappen om dit te doen worden hieronder uitgelegd.
ESP-01-module
De ESP8266 ESP-01 is een Wi-Fi-module die erg populair is bij het ontwerpen van IoT-toepassingen en die wordt gebruikt om microcontrollers zoals Arduino UNO verbinding te laten maken met internet. Deze module is een op zichzelf staand systeem op een chip (SOC) dat kan werken als een kleine computer. Het wordt geleverd met een vooraf geïnstalleerde AT-firmware, dus we kunnen het programmeren met Arduino IDE. U kunt meer leren over de ESP-01 Wi-Fi-transceiver en de programmering ervan met Arduino IDE door de link te volgen.
Pin beschrijving:
VCC: Voedingspin van ESP-01 die kan worden geleverd met 3.3V DC
GND: aardingsreferentiepin van ESP-01
TXD: gebruikt als UART-zenderpin
RXD: gebruikt als UART-ontvangerpin
RESET: Het wordt gebruikt om de module te resetten en het is een actieve LAGE pin.
CH_PD: Het is de chip-activeringspin die een actieve HIGH-pin is.
GPIO0: deze pin heeft twee doelen. De ene is als invoer / uitvoer voor algemeen gebruik en de andere is om de programmeermodus van ESP-01 in te schakelen
GPIO2: dit is een invoer- / uitvoerpin voor algemeen gebruik.
Verbinding van ESP-01 met CP2102-module:
De onderstaande afbeelding toont het pinout-diagram van een CP2102 USB-TTL-converter. Sluit de ESP-01-module aan op de CP2102 USB-TTL-convertermodule volgens de onderstaande tabel.
ESP-01-module |
CP2102-module |
VCC |
3.3V |
GND |
GND |
RXD |
TXD |
TXD |
RXD |
CH_PD |
3.3V |
RESET |
Geen connectie |
GPIO0 |
GND |
GPIO2 |
Geen connectie |
Nadat de bovenstaande verbinding met succes is voltooid, zou het circuit er ongeveer als volgt uit moeten zien:
Sluit vervolgens de CP2102-module aan op onze pc om te programmeren. Controleer eerst de communicatiepoort voordat u de code uploadt naar ESP-01. Ga hiervoor naar start-> en zoek naar apparaatbeheer. Klik vervolgens op COM's en poorten. Onder deze optie zouden we een COM-poort moeten krijgen met een USB-TTL-converternaam zoals " Silicon labs CP21xx USB-UART-brug ", zoals weergegeven in de onderstaande afbeelding:
Na succesvolle voltooiing van de bovenstaande stappen, open Arduino IDE en selecteer het bord als " Generic ESP8266 Module " in het menu Tools en selecteer de COM-poort die we in de vorige fase hebben gekregen.
Programmering van ESP-01-module voor Alexa Home Automation
De volledige code wordt aan het einde van dit project gegeven. Hier is de stapsgewijze uitleg van de code die moet worden geüpload naar de ESP-01-module. De eerste stap is om alle benodigde bibliotheken op te nemen. U kunt de "fauxmoESP.h" -bibliotheek downloaden via de link hier.
#include #include
In deze stap moeten we alle inloggegevens definiëren die nodig zijn om ESP-01 met internet te verbinden. Werk uw netwerk-SSID en wachtwoordgegevens bij in het programma.
#define SSID "*******" #define pass "*******"
Definieer vervolgens de naam van de apparaten die we moeten bedienen vanuit Alexa. In mijn geval heb ik de namen van mijn apparaat genomen als " slaapkamerverlichting ", " slaapkamerventilator " en " slimme aansluiting ".
#define device1 "slaapkamerlamp" #define device2 "slaapkamerventilator" #define device3 "smart socket"
De functie WiFi.mode wordt gebruikt om de ESP-01-module in te stellen als Station-modus en de functie WiFi.begin wordt gebruikt om de ESP-01-module met internet te verbinden, waarbij de SSID en het wachtwoord van het netwerk als argumenten worden gebruikt.
WiFi.mode (WIFI_STA); WiFi.begin (ssid, pass);
Het volgende deel is om alle functies van de Fauxmo- klasse te initialiseren, zoals het maken van de server, het poortnummer voor het Alexa-apparaat inschakelen, het apparaat inschakelen, enz. Voeg vervolgens alle apparaten toe met fauxmo.addDevice die we eerder hebben gemaakt.
fauxmo.createServer (waar); fauxmo.setPort (80); fauxmo.enable (true); fauxmo.addDevice (apparaat1); fauxmo.addDevice (apparaat2); fauxmo.addDevice (device3);
Vervolgens schrijf een functie om onze stem commando's te vergelijken met de vooraf gedefinieerde namen apparaat. Als de opdracht overeenkomt, stuur dan een teken naar de seriële terminals van Arduino met Serial.print.
fauxmo.onSetState ((unsigned char device_id, const char * device_name, bool state, unsigned char value) {if (strcmp (device_name, device1) == 0) {if (state) Serial.print ("1"); else Serial.print ("2");}}
In de void loop () -functie zal de fauxmo.handle- functie alleen controleren op de inkomende gegevens van Alexa en acties ondernemen met de functie onSetstate () .
leegte lus () {fauxmo.handle (); }
Upload nu de volledige code die aan het einde wordt gegeven naar de ESP-01-module en zorg voor een succesvolle upload.
Arduino-code:
Daarna is het tijd om de code in Arduino te uploaden. De code voor Arduino is heel eenvoudig. Het ontvangt alleen de tekens die zijn verzonden van ESP-01-modules via zijn UART-terminals en vergelijkt het om het AAN / UIT-signaal naar het relais te sturen. Het complete programma voor Arduino wordt hieronder weergegeven:
char gegevens; ongeldige setup () {Serial.begin (115200); pinMode (7, UITGANG); pinMode (6, UITGANG); pinMode (5, UITGANG); digitalWrite (7, LOW); digitalWrite (6, LOW); digitalWrite (5, LOW); } void loop () {if (Serial.available ()> 0) {data = Serial.read (); Serial.print (data); Serial.print ("\ n"); if (data == '1') digitalWrite (7, HIGH); else if (data == '2') digitalWrite (7, LOW); anders if (data == '3') digitalWrite (6, HIGH); else if (data == '4') digitalWrite (6, LOW); else if (data == '5') digitalWrite (5, HIGH); else if (data == '6') digitalWrite (5, LOW); }}
Na het succesvol uploaden, de code naar Arduino, sluit vervolgens de hardware aan volgens het onderstaande schema.
Schakelschema
Het schakelschema voor Home Automation met Alexa wordt hieronder weergegeven:
Hier hebben we alle componenten op een Perfboard gesoldeerd zodat deze als Arduino shield fungeert.
Evenzo hebben we ook een relaismodule op een Perfboard gebouwd:
Stel de Amazon Alexa-app in voor huisautomatisering
Na de succesvolle voltooiing van de hardware-installatie en codering, is het nu tijd om de Alexa Android-app in te stellen. Eerst moeten we via deze app zoeken naar slimme apparaten in de buurt. Schakel hiervoor uw Alexa-apparaat in en open vervolgens uw Alexa-app en klik op de optie " Apparaten " en klik vervolgens op het "+" -teken dat u vraagt om " Apparaat toevoegen ". Klik vervolgens op " Apparaat toevoegen ", klik in het type apparaat op " andere " en selecteer vervolgens apparaten ontdekken. Dan moet je Alexa-app naar het apparaat zoeken, wat tot 45 seconden kan duren.
Opmerking: als alternatief kunnen we de apparaten ook ontdekken met behulp van het spraakcommando " Alexa, ontdek apparaten "
Nadat de apparaatdetectie is voltooid, krijgt u 3 nieuwe apparaten met de naam die we in de code hebben vermeld. In mijn geval zijn dit slaapkamerlamp , slaapkamerventilator en slimme stopcontact . Nu is de installatie klaar om te testen, test gewoon door te zeggen " Alexa, zet slaapkamerverlichting aan " en het zou je feedback moeten retourneren met "Oké", en het licht zou moeten gaan branden. Evenzo kunnen we alle andere opdrachten testen.
Dit is hoe de complete installatie voor Amazon Echo-puntgestuurde huishoudelijke apparaten eruit zal zien:
De volledige code voor ESP-01 met een demonstratievideo wordt hieronder gegeven.