- Verwendete Hardwarekomponenten:
- Programmieren des ESP-01-Moduls mit dem USB-TTL-Konverter CP2102:
- Verbindung von ESP-01 mit CP2102-Modul:
- Programmierung des ESP-01-Moduls für Alexa Home Automation
- Schaltplan
- Richten Sie die Amazon Alexa App für die Heimautomation ein
Intelligente Lautsprecher wie Amazon Echo oder Google Home werden heutzutage immer beliebter und beide können benutzerdefinierte Fähigkeiten oder Aktionen integrieren, um jedes Gerät mit diesen intelligenten Lautsprechern zu steuern. Wir haben zuvor unseren eigenen Smart-Lautsprecher mit Raspberry Pi und Alexa gebaut und auch Haushaltsgeräte mit diesem Raspberry Pi-Smart-Lautsprecher gesteuert.
Hausautomation ist heutzutage weit verbreitet und Menschen verwenden IoT, um alles in ihrem Haus zu automatisieren. Hier in diesem Tutorial verwenden wir einen echten Amazon Echo-Punktlautsprecher und erstellen eine benutzerdefinierte Fähigkeit zur Steuerung von Haushaltsgeräten wie Lichtern, Lüftern, Fernsehgeräten und Steckdosen mit einem Amazon Echo-Punktlautsprecher. Hier verwenden wir Arduino UNO und ein Wi-Fi-Modul ESP8266-01, um den Echo-Punktlautsprecher mit Wechselstromgeräten zu verbinden. Nach diesem Tutorial können Sie jede Appliance über Alexa steuern.
Verwendete Hardwarekomponenten:
- Arduino UNO
- ESP-01-Modul
- Amazon Alexa Echopunkt
- CP2102 USB-TTL-Konverter
- Steckbrett
- 5V Relaismodul
- AC-Geräte
- Jumper
Programmieren des ESP-01-Moduls mit dem USB-TTL-Konverter CP2102:
Hier wird ESP-01 mit einem CP2102 USB-TTL-Wandler programmiert; Es kann auch mit einer Arduino UNO-Karte programmiert werden. In meinem Fall habe ich hier ein CP2102-Modul verwendet, und die Schritte dazu werden unten erläutert.
ESP-01-Modul
Der ESP8266 ESP-01 ist ein Wi-Fi-Modul, das beim Entwerfen von IoT-Anwendungen sehr beliebt ist und Mikrocontrollern wie Arduino UNO die Verbindung mit dem Internet ermöglicht. Dieses Modul ist ein in sich geschlossenes System auf einem Chip (SOC), das sich wie ein kleiner Computer verhalten kann. Es wird mit einer vorinstallierten AT-Firmware geliefert, daher können wir sie mit der Arduino IDE programmieren. Sie können mehr über den Wi-Fi-Transceiver ESP-01 und seine Programmierung mit Arduino IDE erfahren, indem Sie dem Link folgen.
Pin Beschreibung:
VCC: Stromversorgungsstift des ESP-01, der mit 3,3 V DC versorgt werden kann
GND: Erdungsreferenzstift von ESP-01
TXD: Wird als UART-Sender-Pin verwendet
RXD: Wird als UART-Empfänger-Pin verwendet
RESET: Dient zum Zurücksetzen des Moduls und ist ein aktiver LOW-Pin.
CH_PD: Es ist der Chip-Aktivierungs-Pin, der ein aktiver HIGH-Pin ist.
GPIO0: Dieser Pin dient zwei Zwecken. Eine dient als Allzweck-Ein- / Ausgabe und die andere dient zum Aktivieren des Programmiermodus von ESP-01
GPIO2: Dies ist ein Allzweck-Eingangs- / Ausgangspin.
Verbindung von ESP-01 mit CP2102-Modul:
Die folgende Abbildung zeigt das Pinbelegungsdiagramm eines USB-TTL-Konverters CP2102. Verbinden Sie das ESP-01-Modul mit dem USB-TTL-Konvertermodul CP2102 gemäß der folgenden Tabelle.
ESP-01-Modul |
CP2102-Modul |
VCC |
3,3V |
GND |
GND |
RXD |
TXD |
TXD |
RXD |
CH_PD |
3,3V |
RESET |
Keine Verbindung |
GPIO0 |
GND |
GPIO2 |
Keine Verbindung |
Nach erfolgreichem Abschluss der obigen Verbindung sollte die Schaltung wie folgt aussehen:
Schließen Sie dann das CP2102-Modul zur Programmierung an unseren PC an. Überprüfen Sie vor dem Hochladen des Codes auf ESP-01 zunächst den Kommunikationsanschluss. Gehen Sie dazu zu start-> und suchen Sie nach Geräte-Manager. Klicken Sie dann auf COMs und Ports. Unter dieser Option sollten wir einen COM-Anschluss mit einem USB-TTL-Konverternamen wie " Silicon Labs CP21xx USB-UART Bridge " erhalten, wie in der folgenden Abbildung gezeigt:
Nach dem erfolgreichen Abschluss der oben genannten Schritte, Open Arduino IDE und wählen Sie das Board als „ Generisches ESP8266 Modul “ von Extras - Menü und wählen Sie den COM - Port, die wir in der vorherigen Stufe bekam.
Programmierung des ESP-01-Moduls für Alexa Home Automation
Der vollständige Code wird am Ende dieses Projekts angegeben. Hier finden Sie die schrittweise Erläuterung des Codes, der auf das ESP-01-Modul hochgeladen werden soll. Der erste Schritt besteht darin, alle erforderlichen Bibliotheken einzuschließen. Sie können die Bibliothek „fauxmoESP.h“ über den Link hier herunterladen.
#include #include
In diesem Schritt müssen wir alle Anmeldeinformationen definieren, die erforderlich sind, um ESP-01 mit dem Internet zu verbinden. Aktualisieren Sie Ihre Netzwerk-SSID- und Kennwortdaten im Programm.
#define SSID "*******" #define pass "*******"
Definieren Sie als Nächstes den Namen der Geräte, die wir von Alexa aus steuern müssen. In meinem Fall habe ich meine Gerätenamen als " Schlafzimmerlicht ", " Schlafzimmerventilator " und " Smart Socket " verwendet.
#define device1 "Schlafzimmerlicht" #define device2 "Schlafzimmerventilator" #define device3 "Smart Socket"
Die Funktion WiFi.mode wird verwendet, um das ESP-01-Modul als Stationsmodus einzurichten, und die Funktion WiFi.begin wird verwendet, um das ESP-01-Modul mit dem Internet zu verbinden, wobei die SSID und das Kennwort des Netzwerks als Argumente verwendet werden.
WiFi.mode (WIFI_STA); WiFi.begin (ssid, pass);
Der nächste Teil besteht darin, alle Funktionen der Fauxmo- Klasse wie das Erstellen des Servers, das Aktivieren der Portnummer für das Alexa-Gerät, das Aktivieren des Geräts usw. zu initialisieren. Fügen Sie dann alle Geräte mit fauxmo.addDevice hinzu, die wir zuvor erstellt haben.
fauxmo.createServer (true); fauxmo.setPort (80); fauxmo.enable (true); fauxmo.addDevice (device1); fauxmo.addDevice (device2); fauxmo.addDevice (device3);
Schreiben Sie als Nächstes eine Funktion, um unsere Sprachbefehle mit den vordefinierten Gerätenamen zu vergleichen. Wenn der Befehl übereinstimmt, senden Sie mit Serial.print ein Zeichen an die seriellen Arduino-Terminals .
fauxmo.onSetState ((vorzeichenlose Zeichen-Geräte-ID, const char * Gerätename, Bool-Status, vorzeichenloser Zeichenwert) {if (strcmp (Gerätename, Gerät1) == 0) {if (Status) Serial.print ("1"); else Serial.print ("2");}}
In Leere Schleife () Funktion, fauxmo.handle wird Funktion für die eingehenden Daten von Alexa überprüfen gerade, und es wird Aktionen mit onSetstate () Funktion.
void loop () {fauxmo.handle (); }}
Laden Sie nun den am Ende angegebenen vollständigen Code in das ESP-01-Modul hoch und sorgen Sie für einen erfolgreichen Upload.
Arduino Code:
Danach ist es Zeit, den Code in Arduino hochzuladen. Der Code für Arduino ist sehr einfach. Es empfängt nur die von ESP-01-Modulen über seine UART-Terminals gesendeten Zeichen und vergleicht sie, um das Ein- / Ausschaltsignal an das Relais zu senden. Das vollständige Programm für Arduino ist unten dargestellt:
char data; void setup () {Serial.begin (115200); PinMode (7, OUTPUT); PinMode (6, OUTPUT); PinMode (5, OUTPUT); digitalWrite (7, LOW); digitalWrite (6, LOW); digitalWrite (5, LOW); } void loop () {if (Serial.available ()> 0) {data = Serial.read (); Serial.print (Daten); Serial.print ("\ n"); if (data == '1') digitalWrite (7, HIGH); sonst wenn (data == '2') digitalWrite (7, LOW); sonst wenn (data == '3') digitalWrite (6, HIGH); sonst wenn (data == '4') digitalWrite (6, LOW); sonst wenn (data == '5') digitalWrite (5, HIGH); sonst wenn (data == '6') digitalWrite (5, LOW); }}
Nach erfolgreichem Hochladen des Codes auf Arduino, Next verbinden Sie die Hardware gemäß den unten angegebenen Schaltplänen.
Schaltplan
Der Schaltplan für die Heimautomation mit Alexa ist unten dargestellt:
Hier haben wir alle Komponenten auf ein Perfboard gelötet, so dass es als Arduino-Abschirmung fungiert.
In ähnlicher Weise haben wir auch ein Relaismodul auf einem Perfboard gebaut:
Richten Sie die Amazon Alexa App für die Heimautomation ein
Nach dem erfolgreichen Abschluss der Hardware-Einrichtung und -Codierung ist es nun an der Zeit, die Alexa Android-App einzurichten. Zuerst müssen wir über diese App nach Smart-Geräten in der Nähe suchen. Schalten Sie dazu Ihr Alexa-Gerät ein, öffnen Sie Ihre Alexa-App, klicken Sie auf die Option „ Geräte “ und dann auf das Pluszeichen („+“), mit dem Sie aufgefordert werden, „ Gerät hinzufügen “. Klicken Sie dann auf " Gerät hinzufügen ", klicken Sie im Gerätetyp auf " Andere " und wählen Sie " Geräte erkennen". Dann sollte Ihre Alexa-App nach dem Gerät suchen, was bis zu 45 Sekunden dauern kann.
Hinweis: Alternativ können wir die Geräte auch mit dem Sprachbefehl „ Alexa, Geräte erkennen “ erkennen.
Nach Abschluss der Geräteerkennung sollten Sie 3 neue Geräte mit Namen erhalten, die wir im Code angegeben haben. In meinem Fall sind dies Schlafzimmerlicht , Schlafzimmerventilator und intelligente Steckdose . Jetzt ist das Setup zum Testen bereit. Testen Sie einfach, indem Sie " Alexa, Schlafzimmerlicht einschalten" sagen. Es sollte Ihr Feedback mit "Okay" zurückgeben und das Licht sollte sich einschalten. Ebenso können wir auf alle anderen Befehle testen.
So sieht das komplette Setup für Amazon Echo Dot Controlled Home Appliances aus:
Der vollständige Code für ESP-01 mit einem Demonstrationsvideo ist unten angegeben.