- Componentes de hardware usados:
- Programação do módulo ESP-01 usando o conversor USB-TTL CP2102:
- Conexão do ESP-01 com módulo CP2102:
- Programação do Módulo ESP-01 para Alexa Home Automation
- Diagrama de circuito
- Configure o aplicativo Amazon Alexa para automação residencial
Alto-falantes inteligentes como Amazon Echo ou Google Home estão se tornando populares hoje em dia e ambos têm a capacidade de integrar habilidades ou ações personalizadas para controlar qualquer aparelho usando esses alto-falantes inteligentes. Anteriormente, construímos nosso próprio alto-falante inteligente usando Raspberry Pi e Alexa, e também controlamos eletrodomésticos usando este alto-falante inteligente Raspberry Pi.
A automação residencial se tornou muito comum hoje em dia e as pessoas estão usando a IoT para automatizar tudo em suas casas. Aqui neste tutorial, usaremos um alto-falante real Amazon Echo dot e criaremos uma habilidade personalizada para controlar eletrodomésticos AC como luzes, ventiladores, TVs, soquetes usando um Amazon Echo dot Speaker. Aqui, usaremos o Arduino UNO e um módulo Wi-Fi ESP8266-01 para conectar o alto-falante Echo dot com aparelhos AC. Após este tutorial, você será capaz de controlar qualquer aparelho através do Alexa.
Componentes de hardware usados:
- Arduino UNO
- Módulo ESP-01
- Amazon Alexa echo dot
- Conversor CP2102 USB-TTL
- Tábua de pão
- Módulo de Relé 5V
- Eletrodomésticos AC
- Jumpers
Programação do módulo ESP-01 usando o conversor USB-TTL CP2102:
Aqui ESP-01 é programado usando um conversor USB-TTL CP2102; ele também pode ser programado usando uma placa Arduino UNO. Aqui, no meu caso, usei um módulo CP2102 e as etapas para fazer isso são explicadas a seguir.
Módulo ESP-01
O ESP8266 ESP-01 é um módulo Wi-Fi muito popular no desenvolvimento de aplicativos IoT e é usado para permitir que microcontroladores como o Arduino UNO se conectem à Internet. Este módulo é um sistema independente em um chip (SOC) que pode funcionar como um pequeno computador. Ele vem com um firmware AT pré-instalado, portanto, podemos programá-lo usando o IDE Arduino. Você pode aprender mais sobre o transceptor ESP-01 Wi-Fi e sua programação usando o IDE Arduino seguindo o link.
Descrição do pin:
VCC: Pino de alimentação do ESP-01 que pode ser fornecido com 3,3 V DC
GND: Pino de referência de aterramento do ESP-01
TXD: Usado como pino do transmissor UART
RXD: Usado como pino receptor UART
RESET: É usado para reinicializar o Módulo e é um pino LOW ativo.
CH_PD: É o pino de habilitação do chip, que é um pino HIGH ativo.
GPIO0: este pino tem duas finalidades. Uma é como entrada / saída de uso geral e a outra é para habilitar o modo de programação do ESP-01
GPIO2: Este é um pino de entrada / saída de uso geral.
Conexão do ESP-01 com módulo CP2102:
A figura abaixo mostra o diagrama de pinagem de um conversor USB-TTL CP2102. Conecte o módulo ESP-01 ao módulo conversor USB-TTL CP2102 conforme tabela abaixo.
Módulo ESP-01 |
Módulo CP2102 |
VCC |
3,3 V |
GND |
GND |
RXD |
TXD |
TXD |
RXD |
CH_PD |
3,3 V |
REDEFINIR |
Sem conexão |
GPIO0 |
GND |
GPIO2 |
Sem conexão |
Após a conclusão bem-sucedida da conexão acima, o circuito deve ter a seguinte aparência:
Em seguida, conecte o Módulo CP2102 ao nosso PC para programação. Antes de enviar o código para ESP-01, primeiro, verifique a porta de comunicação. Para isso, vá para iniciar-> e procure o gerenciador de dispositivos. Em seguida, clique em COMs e portas. Com esta opção, devemos obter uma porta COM com um nome de conversor USB-TTL como “ Silicon labs CP21xx USB-UART Bridge ”, conforme mostrado na imagem abaixo:
Após a conclusão bem-sucedida das etapas acima, abra o IDE do Arduino e selecione a placa como “ Módulo ESP8266 genérico ” no menu Ferramentas e selecione a porta COM que obtivemos no estágio anterior.
Programação do Módulo ESP-01 para Alexa Home Automation
O código completo é fornecido no final deste projeto. Aqui está a explicação passo a passo do código que deve ser carregado no módulo ESP-01. A primeira etapa é incluir todas as bibliotecas necessárias. Você pode baixar a biblioteca “fauxmoESP.h” no link aqui.
#include #include
Nesta etapa, temos que definir todas as credenciais necessárias para conectar o ESP-01 à internet. Atualize o SSID da rede e os dados da senha no programa.
#define SSID "*******" #define pass "*******"
Em seguida, defina o nome dos dispositivos, que precisamos controlar a partir de Alexa. No meu caso, usei os nomes dos meus dispositivos como " luz do quarto ", " ventilador do quarto " e " tomada inteligente " .
#define device1 "luz do quarto" #define device2 "ventilador do quarto" #define device3 "smart socket"
A função WiFi.mode é usada para configurar o módulo ESP-01 como modo Estação e a função WiFi.begin é usada para conectar o Módulo ESP-01 à Internet, que tem como argumentos o SSID e a senha da rede.
WiFi.mode (WIFI_STA); WiFi.begin (SSID, aprovação);
A próxima parte é inicializar todas as funções da classe Fauxmo, como criar o servidor, habilitar o número da porta para o dispositivo Alexa, habilitar o dispositivo, etc. Em seguida, adicione todos os dispositivos usando fauxmo.addDevice que criamos anteriormente.
fauxmo.createServer (true); fauxmo.setPort (80); fauxmo.enable (true); fauxmo.addDevice (dispositivo1); fauxmo.addDevice (dispositivo2); fauxmo.addDevice (device3);
Em seguida, escreva uma função para comparar nossos comandos de voz com os nomes de dispositivos predefinidos. Se o comando corresponder, envie um caractere aos terminais seriais do Arduino usando 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");.print ("2");}}
Na função void loop () , a função fauxmo.handle apenas verificará os dados de entrada do Alexa e executará ações usando a função onSetstate () .
void loop () {fauxmo.handle (); }
Agora faça o upload do código completo fornecido no final para o Módulo ESP-01 e garanta o sucesso do upload.
Código Arduino:
Depois disso, é hora de fazer o upload do código no Arduino. O código do Arduino é muito simples. Ele apenas recebe os caracteres enviados dos módulos ESP-01 por meio de seus terminais UART e os compara para enviar o sinal liga / desliga ao relé. O programa completo para Arduino é mostrado abaixo:
dados char; configuração vazia () {Serial.begin (115200); pinMode (7, OUTPUT); pinMode (6, OUTPUT); pinMode (5, OUTPUT); digitalWrite (7, LOW); digitalWrite (6, LOW); digitalWrite (5, BAIXO); } void loop () {if (Serial.available ()> 0) {data = Serial.read (); Serial.print (dados); Serial.print ("\ n"); if (data == '1') digitalWrite (7, HIGH); else if (data == '2') digitalWrite (7, LOW); else 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); }}
Após o upload bem-sucedido do código para o Arduino, conecte o hardware de acordo com o esquema fornecido a seguir.
Diagrama de circuito
O diagrama de circuito para Domótica usando Alexa é mostrado abaixo:
Aqui, soldamos todos os componentes de um Perfboard para que ele atue como um escudo Arduino.
Da mesma forma, também construímos um módulo de relé em um Perfboard:
Configure o aplicativo Amazon Alexa para automação residencial
Após a conclusão bem-sucedida da configuração e codificação do hardware, agora é hora de configurar o aplicativo Alexa para Android. Primeiro, precisamos pesquisar quaisquer dispositivos inteligentes próximos por meio deste aplicativo. Para fazer isso, ligue seu dispositivo Alexa e, em seguida, abra seu aplicativo Alexa e clique na opção “ Dispositivos ” e depois clique no sinal “+” que pede para você “ Adicionar dispositivo ”. Em seguida, clique em “ Adicionar dispositivo ”, no tipo de dispositivo clique em “ outro ” e selecione descobrir dispositivos. Em seguida, seu aplicativo Alexa deve procurar o dispositivo, o que pode levar até 45 segundos.
Nota: Como alternativa, também podemos descobrir os dispositivos usando o comando de voz “ Alexa, descobrir dispositivos ”
Após a conclusão da descoberta do dispositivo, você deverá obter 3 novos dispositivos pelo nome que fornecemos no código. No meu caso, estes são luz do quarto , ventilador de quarto, e tomada inteligente . Agora a configuração está pronta para teste, basta testar dizendo “ Alexa, ligue a luz do quarto ” e ele deve retornar seu feedback dizendo “Ok”, e a luz deve acender. Da mesma forma, podemos testar todos os outros comandos.
Esta é a aparência da configuração completa para eletrodomésticos controlados por pontos do Amazon Echo:
O código completo para ESP-01 com um vídeo de demonstração é fornecido abaixo.