Automação residencial com ESP32 e Blynk
Que tal controlar as luzes da sua casa usando um módulo wifi ESP32? Neste tutorial vamos mostrar como criar um projeto de automação residencial com módulo ESP32 e o app Blynk, permitindo que você acione lâmpadas, eletrodomésticos, motores e outros equipamentos usando uma rede sem fio (wireless).
O Blynk é um aplicativo para smartphones que permite controlar de forma fácil e rápida placas como Arduino, Raspberry Pi, ESP8266 e ESP32, sendo uma excelente opção para projetos de Internet das Coisas (IoT). O app para celular atualmente oferece suporte para mais de 400 tipos de placas.
Criando o projeto com ESP32 no Blynk
No nosso projeto de automação residencial com módulo ESP32 e Blynk (disponível neste link ou na loja de aplicativos do seu celular) vamos acionar um módulo relé de 2 canais conectado nas portas D32 e D33 do módulo.
Se você ainda não usou o Blynk, sugiro a leitura do post Use o Blynk para controlar o Arduino via bluetooth para saber mais sobre o app. No post eu explico como realizar a instalação e configurações iniciais.
Para criação do nosso projeto, selecione New Project na tela inicial. Na tela seguinte, defina um nome para o projeto, selecione a placa ESP32 Dev Board e a conexão Wifi:
Clique em Create e em logo em seguida você verá um aviso informando que um token foi enviado para o seu endereço de email. O token será utilizado posteriormente na IDE do Arduino para programação do ESP32:
A tela seguinte é a tela de layout. Clique no sinal de + para adicionar dois botões na tela:
Com os botões criados, clique no primeiro botão para abrir a sua tela de configuração, escolhendo a porta GP32. Observe também que o módulo relé é ativo em nível baixo (LOW, ou 0 (zero)), por isso escolhemos o valor 1 para ser enviado quando o botão estiver na posição Desligado, e 0 quando o botão estiver na posição Ligado. Faça o mesmo procedimento para o segundo botão, alterando a porta para GP33:
Finalizada essa parte da configuração, vamos realizar a conexão do relé com o ESP32.
Conexões do ESP32 com módulo relé
Como mencionamos anteriormente, o relé será conectado nas portas D32 e D33 do módulo ESP32. O relé que estamos usando (módulo relé 2 canais) funciona com 5V, então vamos conectar a alimentação dele no pino Vin do ESP32, já que o mesmo está conectado na porta USB do computador sendo alimentado também por uma tensão de 5V.
Sua placa pode ser um pouco diferente dessa mostrada na imagem acima, mas o princípio é o mesmo, ok? O fio vermelho (alimentação do relé) deve ser conectado no pino 5V ou Vin, e o fio preto deve ser conectado no pino GND. O pino IN1 do relé vai conectado no pino 32 e o IN2 no pino 33.
Programa automação residencial com ESP32 e Blynk
Para transferir o programa abaixo vamos utilizar a IDE do Arduino, e todos os passos de configuração do ESP32 com a IDE você encontra no post Como programar o módulo ESP32 com IDE Arduino, aqui mesmo no Arduino e Cia.
Com a IDE configurada para o hardware, vamos apenas incluir a biblioteca Blynk, que é realmente quem faz todo o trabalho de comunicação com o módulo. Instale a biblioteca à partir da própria IDE do Arduino, no menu Sketch -> Incluir Biblioteca -> Gerenciar bibliotecas. Procure por Blynk e clique em Instalar:
O programa é bem simples e para usar você só precisa alterar 3 informações: na linha 13incluir o token que você recebeu por email, e nas linhas 16 e 17 configurar o nome e senha da rede wifi que você irá utilizar para que o ESP32 se conecte à internet.
//Programa: Automacao Residencial com ESP32 e Blynk //Autor: Arduino e Cia //Envia mensagens de debug para o Serial Monitor #define BLYNK_PRINT Serial //Carrega as bibliotecas do ESP32 e Blynk #include <WiFi.h> #include <WiFiClient.h> #include <BlynkSimpleEsp32.h> //Preencha com o token que voce recebeu por email char auth[] = "f12f25258da235eaca92e5ca32b39f8"; //Preenche com o nome e senha da sua rede Wifi char ssid[] = "<nome da rede wifi>"; char pass[] = "<senha da rede wifi>"; void setup() { Serial.begin(9600); Blynk.begin(auth, ssid, pass); } void loop() { Blynk.run(); }
Um detalhe importante no carregamento é que foi necessário pressionar o botão BOOTdo módulo durante todo o processo de transferência do programa. Finalizado o carregamento, reinicie o ESP32.
Voltando ao Blynk, agora basta carregar o projeto que você criou anteriormente. Pressione o ícone (play) no canto superior direito do app e controle a iluminação da sua casa.
O projeto é facilmente adaptável para outros tipos de módulo relé como os de 8 ou 16 canais. Basta criar os botões no app e configurar as portas correspondentes. Não é necessária nenhuma alteração no programa do ESP32.
Gostou do projeto de automação residencial com módulo ESP32? Confira outros posts com ESP32 aqui mesmo no Arduino e Cia!
Nesse caso ela não funcionaria com o interruptor, certo? Como posso fazer a ligação para que não perca essa funcionalidade?
Obrigado!
Oi Lucas,
Não. Nesse caso vc teria que tentar alguma ligação em paralelo com o interruptor, por exemplo.
Abraço!
Adilson
É so fazer uma ligação paralela do interruptor e o rele
Boa noite. Existe limitação na quantidade de lampadas a serem controladas pelo ESP32?
Bom dia,
Teoricamente não. A limitação vai ser mesmo a quantidade de portas da sua placa controladora.
Abraço!
Adilson
Bom dia amigo, tenho uma palca com 4 reles wifi, qual aplicativo preciso usar, pois me conecto via wifi mas não consigo acionar carga, é o modelo "ESP8266 e ESP-01 Módulo de Relé WiFi de 4 Canais"
Oi Egnaldo,
Tem um link desse módulo que vc comprou pra eu dar uma olhada?
Abraço!
Adilson
Bom dia, gostaria de saber como eu controlo 2 reles simultaniamente para acionar uma carga
Boa tarde,
É possível fazer sim. Mas pq vc ia usar 2 relés com a mesma carga?
Abraço!
Adilson
show de bola , funcionou perfeito!
Valeu Everton! 🙂
Abraço.
Adilson
Olá boa tarde, eu estou tentando fazer este procedimento co um relé único, e esta respondendo no app Blynk uma mensagem no desenho do Arduíno "wasn't online yet" , o módulo relé é para uma lâmpada só. Como eu resolvo esta questão ? Sou iniciante e não estou conseguindo .
Bom dia,
Você colocou o número do token corretamente? O módulo está conectado no roteador/internet?
Abraço!
Adilson
Também tive o problema do “wasn’t online yet”. Como sei se meu módulo se conectou a rede de Wi-Fi local?
Como modifico o sketch para acionar pela internet?
Oi José,
No caso não é bem o sketch que vai fazer o módulo funcionar pela internet, e sim o tipo de configuração que você tem que fazer no seu roteador para possibilitar o acesso externo.
Abraço!
Adilson
Olá, porque quando eu ligo o ESP32 , os reles já ficam ligados, como faço pra fazer eles ficarem desligados ao energizar o ESP ?
Oi Ednilson!
No fórum do Lab de Garagem tem uma discussão interessante sobre isso, dá uma olhada, por favor: http://labdegaragem.com/forum/topics/evitar-acionamento-do-rel-ao-reiniciar-esp8266
Abraço!
Adilson
boa tarde gostaria de saber se vc escreve um programa para usar com MCU 8266MOD para acionar 120 relés usando o MCP23017
Desde já agradeço
Att
Antonio Sousa
olá, parabens pela ajuda de vcs, bem simples e funcional o esp com o blynk, mas eu estou com uma questão, não sei oq esta acontecendo com o rele eu vejo as luzes de on e off respondendo ao comando do app, mas o rele ele não atua (sou novo nesse assunto), quando tiro e coloco o cabo ele atua( percebi que o led não ta desligando totalmente, fica meio fraquinha)
Oi Victor,
Vou pedir para você rever as conexões e checar se não tem nada errado com a ligação dos componentes. Uma outra possibilidade é o ESP32 não estar fornecendo corrente suficiente para o relé acionar. Nesse caso, você tem a opção de usar uma fonte externa apenas para o relé.
Abraço!
Adilson