- Componenti hardware utilizzati:
- Programmazione del modulo ESP-01 utilizzando il convertitore USB-TTL CP2102:
- Collegamento di ESP-01 con il modulo CP2102:
- Programmazione del modulo ESP-01 per la domotica Alexa
- Schema elettrico
- Configura l'app Amazon Alexa per l'automazione domestica
Gli altoparlanti intelligenti come Amazon Echo o Google Home stanno diventando popolari oggigiorno ed entrambi hanno la capacità di integrare abilità o azioni personalizzate per controllare qualsiasi apparecchio utilizzando quegli altoparlanti intelligenti. In precedenza abbiamo costruito il nostro altoparlante intelligente utilizzando Raspberry Pi e Alexa e abbiamo anche controllato gli elettrodomestici utilizzando questo altoparlante intelligente Raspberry Pi.
La domotica è diventata molto comune oggigiorno e le persone utilizzano l'IoT per automatizzare tutto nella loro casa. Qui in questo tutorial useremo un vero altoparlante Amazon Echo dot e creeremo un'abilità personalizzata per controllare elettrodomestici AC come luci, ventole, TV, prese utilizzando un Amazon Echo dot Speaker. Qui useremo Arduino UNO e un modulo Wi-Fi ESP8266-01 per collegare l'altoparlante Echo dot con apparecchi AC. Dopo questo tutorial, sarai in grado di controllare qualsiasi dispositivo tramite Alexa.
Componenti hardware utilizzati:
- Arduino UNO
- Modulo ESP-01
- Punto di eco di Amazon Alexa
- Convertitore USB-TTL CP2102
- Breadboard
- Modulo relè 5V
- Elettrodomestici AC
- Ponticelli
Programmazione del modulo ESP-01 utilizzando il convertitore USB-TTL CP2102:
Qui ESP-01 è programmato utilizzando un convertitore USB-TTL CP2102; può anche essere programmato utilizzando una scheda Arduino UNO. Nel mio caso, ho utilizzato un modulo CP2102 e i passaggi per farlo sono spiegati di seguito.
Modulo ESP-01
ESP8266 ESP-01 è un modulo Wi-Fi molto popolare nella progettazione di applicazioni IoT e viene utilizzato per consentire a microcontrollori come Arduino UNO di connettersi a Internet. Questo modulo è un sistema autonomo su un chip (SOC) che può agire come un piccolo computer. Viene fornito con un firmware AT preinstallato, quindi possiamo programmarlo utilizzando l'IDE di Arduino. Puoi saperne di più sul ricetrasmettitore Wi-Fi ESP-01 e sulla sua programmazione utilizzando Arduino IDE seguendo il link.
Descrizione pin:
VCC: pin di alimentazione di ESP-01 che può essere fornito con 3,3 V CC
GND: pin di riferimento di massa dell'ESP-01
TXD: utilizzato come pin del trasmettitore UART
RXD: utilizzato come pin del ricevitore UART
RESET: Serve per resettare il Modulo ed è un pin LOW attivo.
CH_PD: è il pin di abilitazione del chip che è un pin HIGH attivo.
GPIO0: questo pin ha due scopi. Uno è come ingresso / uscita per scopi generali e l'altro è per abilitare la modalità di programmazione di ESP-01
GPIO2: questo è un pin di input / output generico.
Collegamento di ESP-01 con il modulo CP2102:
La figura seguente mostra il diagramma di pinout di un convertitore USB-TTL CP2102. Collegare il modulo ESP-01 con il modulo convertitore USB-TTL CP2102 come da tabella sotto.
Modulo ESP-01 |
Modulo CP2102 |
VCC |
3,3V |
GND |
GND |
RXD |
TXD |
TXD |
RXD |
CH_PD |
3,3V |
RIPRISTINA |
Nessuna connessione |
GPIO0 |
GND |
GPIO2 |
Nessuna connessione |
Dopo aver completato con successo la connessione sopra, il circuito dovrebbe avere un aspetto simile a quello seguente:
Quindi collegare il modulo CP2102 al nostro PC per la programmazione. Prima di caricare il codice su ESP-01, controllare innanzitutto la porta di comunicazione. Per questo vai su Start-> e cerca Gestione dispositivi. Quindi fare clic su COM e porte. Sotto questa opzione dovremmo ottenere una porta COM con un nome di convertitore USB-TTL come " Silicon labs CP21xx USB-UART Bridge " come mostrato nell'immagine seguente:
Dopo aver completato con successo i passaggi precedenti, apri l'IDE di Arduino e seleziona la scheda come " Modulo ESP8266 generico " dal menu Strumenti e seleziona la porta COM che abbiamo ottenuto nella fase precedente.
Programmazione del modulo ESP-01 per la domotica Alexa
Il codice completo viene fornito alla fine di questo progetto. Ecco la spiegazione graduale del codice che deve essere caricato sul modulo ESP-01. Il primo passo è includere tutte le librerie necessarie. È possibile scaricare la libreria "fauxmoESP.h" dal collegamento qui.
#include #include
In questo passaggio, dobbiamo definire tutte le credenziali necessarie per connettere ESP-01 a Internet. Aggiorna il tuo SSID di rete e i dati della password nel programma.
#define SSID "*******" #define pass "*******"
Quindi definisci il nome dei dispositivi, che dobbiamo controllare da Alexa. Nel mio caso, ho preso i nomi dei miei dispositivi come " luce della camera da letto ", " ventilatore della camera da letto " e " presa intelligente " .
#define device1 "luce della camera da letto" #define device2 "ventilatore della camera da letto" #define device3 "presa intelligente"
La funzione WiFi.mode viene utilizzata per impostare il modulo ESP-01 come modalità Station e la funzione WiFi.begin viene utilizzata per connettere il modulo ESP-01 a Internet che utilizza l'SSID e la password della rete come argomenti.
WiFi.mode (WIFI_STA); WiFi.begin (ssid, pass);
La parte successiva è inizializzare tutte le funzioni della classe Fauxmo come creare il server, abilitare il numero di porta per il dispositivo Alexa, abilitare il dispositivo, ecc. Quindi aggiungere tutti i dispositivi usando fauxmo.addDevice che abbiamo creato in precedenza.
fauxmo.createServer (true); fauxmo.setPort (80); fauxmo.enable (true); fauxmo.addDevice (device1); fauxmo.addDevice (device2); fauxmo.addDevice (device3);
Quindi, scrivi una funzione per confrontare i nostri comandi vocali con i nomi dei dispositivi predefiniti. Se il comando corrisponde, invia un carattere ai terminali seriali Arduino utilizzando 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");}}
Nella funzione void loop () , la funzione fauxmo.handle controllerà solo i dati in arrivo da Alexa e intraprenderà azioni utilizzando la funzione onSetstate () .
void loop () {fauxmo.handle (); }
Ora carica il codice completo fornito alla fine sul modulo ESP-01 e assicurati che il caricamento sia riuscito.
Codice Arduino:
Dopodiché, è il momento di caricare il codice in Arduino. Il codice per Arduino è molto semplice. Riceve solo i caratteri inviati dai moduli ESP-01 attraverso i suoi terminali UART e li confronta per inviare il segnale di accensione / spegnimento al relè. Il programma completo per Arduino è mostrato di seguito:
dati char; 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 (dati); Serial.print ("\ n"); if (data == '1') digitalWrite (7, HIGH); else if (data == '2') digitalWrite (7, LOW); altrimenti if (data == '3') digitalWrite (6, HIGH); else if (data == '4') digitalWrite (6, LOW); altrimenti if (data == '5') digitalWrite (5, HIGH); else if (data == '6') digitalWrite (5, LOW); }}
Dopo aver caricato con successo, il codice su Arduino, quindi collegare l'hardware secondo gli schemi riportati di seguito.
Schema elettrico
Di seguito è mostrato lo schema del circuito per la domotica che utilizza Alexa:
Qui abbiamo saldato tutti i componenti su una Perfboard in modo che funga da scudo Arduino.
Allo stesso modo, abbiamo anche costruito un modulo relè su una Perfboard:
Configura l'app Amazon Alexa per l'automazione domestica
Dopo aver completato con successo la configurazione e la codifica dell'hardware, ora è il momento di configurare l'app Alexa per Android. Innanzitutto, dobbiamo cercare eventuali dispositivi intelligenti nelle vicinanze tramite questa app. Per farlo, accendi il tuo dispositivo Alexa, quindi apri l'app Alexa e fai clic sull'opzione " Dispositivi ", quindi fai clic sul segno "+" che ti chiede di " Aggiungi dispositivo ". Quindi fare clic su " Aggiungi dispositivo ", nel tipo di dispositivo fare clic su " altro " e quindi selezionare rileva dispositivi. Quindi la tua app Alexa dovrebbe cercare il dispositivo che potrebbe richiedere fino a 45 secondi.
Nota: in alternativa possiamo anche scoprire i dispositivi utilizzando il comando vocale " Alexa, scopri i dispositivi "
Dopo il completamento del rilevamento del dispositivo, dovresti ricevere 3 nuovi dispositivi in base al nome che abbiamo fornito nel codice. Nel mio caso, si tratta di luce camera da letto , ventilatore camera da letto, e la presa intelligente . Ora la configurazione è pronta per il test, basta provare dicendo " Alexa, accendi la luce della camera da letto " e dovrebbe restituire il tuo feedback dicendo "OK", e la luce dovrebbe accendersi. Allo stesso modo, possiamo testare tutti gli altri comandi.
Ecco come apparirà la configurazione completa per gli elettrodomestici controllati da Amazon Echo:
Di seguito viene fornito il codice completo per ESP-01 con un video dimostrativo.