21 outubro 2018

Automação residencial com módulo 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 usando o ESP32 e o app Blynk, permitindo que você acione lâmpadas, eletrodomésticos, motores e outros equipamentos usando uma rede sem fio (wireless).

Automação Residencial com ESP32 e Blynk

O Blynk é um aplicativo para smartphones que permite controlar de forma fácil e rápida placas como Arduino, Raspberry Pi, ESP8266 e ESP32 por exemplo, 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 e 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, seleciona a placa ESP32 Dev Board e a conexão Wifi:

Novo projeto Blynk com ESP32

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:

Auth Token Blynk enviado por email

 A tela seguinte é a tela de layout. Clique no sinal de + para adicionar dois botões na tela:

Blynk - Configuração layout

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:

Blynk - Configuração botões

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.
Circuito automação residencial com ESP32
Sua placa pode ser um pouco diferente dessa mostrada na imagem acima, mas o princípio é o mesmo, ok? O fio vermelho, que é a 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:

Instalação biblioteca Blynk

O programa é bem simples e para usar você só precisa alterar 3 informações: na linha 13 incluir 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.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
//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 BOOT do 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 e pressionar o ícone (play) no canto superior direito do app e controlar a iluminação da sua casa.

Blynk Automação Residencial

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.


3 comentários:

  1. Nesse caso ela não funcionaria com o interruptor, certo? Como posso fazer a ligação para que não perca essa funcionalidade?
    Obrigado!

    ResponderExcluir
    Respostas
    1. Oi Lucas,

      Não. Nesse caso vc teria que tentar alguma ligação em paralelo com o interruptor, por exemplo.

      Abraço!

      Adilson

      Excluir
    2. É so fazer uma ligação paralela do interruptor e o rele

      Excluir