Automação Residencial

Controlando Componentes com o ESP32 e o Blynk

Eletrogate 26 de julho de 2021

Introdução

Blog-Eletrogate-Blynk-Esp32

 A cada dia, a forma como desenvolvemos, utilizamos e apresentamos nossos projetos e aplicações mudam. Focando, principalmente, no ramo da automação residencial, é sempre bom apresentarmos ao usuário final algo amigável visualmente, e, ao mesmo tempo, este projeto deve ser funcional e otimizado. Portanto, hoje irei demonstrar uma forma que nos permita mesclar estas duas necessidades.

Neste artigo conheceremos uma poderosa plataforma, o Blynk, um aplicativo que nos ajuda a controlar nossas placas microcontroladoras por Wi-Fi e Bluetooth, criando uma interface amigável através de widgets. Nele, vamos conectar um Esp32, criando, no Blynk, uma interface com os widgets necessários para o projeto de demonstração.

No post, irei mostrar o passo a passo para realizar a conexão de nossa placa com o aplicativo, além de mostrar como podemos incluir estas funcionalidades em nosso código para o Esp32. Por fim, temos como objetivo demonstrar de forma prática o que veremos, através de uma demonstração destas funções, utilizando o Wi-Fi para controlar certos componentes, como leds, um buzzer e emitir uma notificação caso um botão seja pressionado.


O que é o Blynk

Blog-Eletrogate-Blynk

Como dito o Blynk é um aplicativo que nos permite criar interfaces a fim de, ao mesmo tempo, controlar nossa aplicação IoT (“Internet of Things”, “Internet das Coisas”, em português), e gerar uma interface visualmente amigável para o usuário de forma simples. O Blynk permite-nos criar estas interfaces com widgets prontos, apenas arrastando-os pela tela.

Seu sistema é composto basicamente de três partes. A primeira é o aplicativo, que como dito, é responsável pelas interfaces. A segunda é o servidor, parte, esta, que será a responsável por toda a ponte entre nossa placa e o aplicativo. Pode ser utilizado o Blynk Cloud ou um servidor Blynk em uma máquina local, podendo este rodar em diversos dispositivos, até em um Raspberry Pi. A terceira parte são suas bibliotecas, destinadas principalmente para a integração do microcontrolador via código.

Para utilizar o Blynk, devemos nos atentar a certos requisitos. Devemos possuir uma das plataformas suportadas pelo aplicativo, como o Arduino, o Esp32, o Raspberry Pi, entre outros (lista de dispositivos suportados). Tendo em vista as funcionalidade via Internet do aplicativo, o seu dispositivo e sua placa microcontroladora devem possuir acesso à internet. Por último, todos os usuários do Blynk devem criar uma conta no aplicativo, algo extremamente simples de se fazer (veremos mais à frente).

O aplicativo é muito rico na variedade de seus widgets, possuindo  vários destes destinados a diferentes funções. Um dos mais utilizados é, certamente, o botão, que pode ser um botão normal, ou como um interruptor. Podemos também utilizar componentes como displays e terminais, além de funcionalidades mais direcionadas ao próprio celular, como notificações e tocadores de música. Também é possível enviar notificações por email ou pelo Twitter.

Blog-Eletrogate-Blynk2

Todos os widgets possuem um custo que, dentro do app, é contabilizado em pontos de energia. Todos os usuários possuem gratuitamente 2.000 pontos de energia, que poderá ser utilizado na “compra” de um widget para o seu projeto. Vale ressaltar que, cada vez que “comprado” um widget, ele só poderá ser utilizado uma vez, ou seja, se você quiser utilizar dois botões, deve pagar o seu preço duas vezes.

Cada projeto, em código, é muito curto, visto que a maioria das funções são computadas pelo próprio aplicativo. Para isso, sempre que um aplicativo é criado, você receberá, no email utilizado para criar sua conta no Blynk, o token do seu projeto, e o mesmo deve ser incluído no código do microcontrolador.


Como Realizar a Conexão

Para criar uma conta no Blynk e criar um projeto, siga o passo a passo abaixo.  

Passo 1. Instale o Blynk em seu dispositivo. (Android ou IOS)

Passo 2. Clique em “Create New Account”.

Blog-Eletrogate-Uso-Blynk-

Passo 3. Insira seu email e crie uma senha. Após isso, clique em “Sign Up”. Lembre-se que esse email será importante para o desenvolvimento do projeto.

Blog-Eletrogate-Uso-Blynk-2

Passo 4. Esta é a página inicial do aplicativo. Para criar um novo projeto clique em “New Project”.

Blog-Eletrogate-Uso-Blynk-3

Passo 5. Feito isso, agora você será redirecionado para a página de configuração do projeto, onde deverá ser inserido o nome, a placa microcontroladora, no nosso caso, o “ESP32 Dev Board”, selecionando o tipo de comunicação, que será “Wi-Fi”. Por fim, selecione o tema do projeto, que pode ser claro ou escuro, e clique em “Create”.

Blog-Eletrogate-Uso-Blynk-4

Após isso, você verá um pop-up na tela indicando que o token foi enviado para o email da sua conta. Ao clicar em “Ok”, você já estará na página principal do projeto.

Blog-Eletrogate-Uso-Blynk-5


Projeto de Demonstração

Para demonstrar algumas funcionalidades do Blynk em conjunto do Esp32, criaremos um sistema que irá se conectar via Wi-Fi com o aplicativo, e, deste modo, irá se comunicar através de um endereço de IP.

Para demonstrar essas funções, um botão no aplicativo irá ligar e desligar um led, como se fosse um interruptor, outro botão, porém funcionando como um botão normal, irá ativar um buzzer. Por último, conectado a nossa placa, teremos um push-button que, quando pressionado, enviará um sinal ao Blynk, que ativará uma notificação em nosso dispositivo.


Materiais Necessários para o Projeto Controlando Componentes com o ESP32 e o Blynk

Para a realização do projeto, os seguintes materiais serão necessários.


Esquemático

Para a execução do projeto de demonstração, utilizaremos o seguinte esquemático. 

Obs.: Os jumpers em cor cinza foram utilizados para a conexão entre os dois lados da protoboard.

Blog-Eletrogate-Uso-Blynk-ESP32-Montagem


Criando a Interface

Para criarmos o nosso esquema de Widgets, devemos apenas arrastá-los para a nossa “área de trabalho”, e, após isso, iremos configurar cada um separadamente.

Botão do led:

Blog-Eletrogate-Uso-Blynk-6

Botão do buzzer:

Blog-Eletrogate-Uso-Blynk-7

Sistema de notificações:

Blog-Eletrogate-Uso-Blynk-8

Interface completa:

Blog-Eletrogate-Uso-Blynk-9


Código do Projeto

O código abaixo será utilizado e carregado para o Esp32 para podermos usufruir das funcionalidades implementadas. Note que o código é bem simples para a “complexidade” de certas ações do nosso projeto de demonstração. Isso ocorre por que o próprio Blynk organiza as funções, logo, apenas basta uma linha de código para que boa parte do código dentro do “void loop” já esteja resolvida. Por fim, foi apenas adicionada a função na qual, quando um botão for pressionado, uma notificação aparecerá em nosso dispositivo.

Código:

#define BLYNK_PRINT Serial                      //Define o serial do Blynk

#include <WiFi.h>                               //Inclusão das bibliotecas
#include <WiFiClient.h>
#include <BlynkSimpleEsp32.h>

char auth[] = "seu_token";                      //Inclua aqui o token recebido por email
char ssid[] = "nome_da_sua_rede";               //Insira aqui o nome da sua rede Wi-Fi
char pass[] = "senha_da_sua_rede";              //Insira aqui a senha da sua rede Wi-Fi

void setup() {
  Serial.begin(9600);                           //Inicialização do Monitor Serial
  Blynk.begin(auth, ssid, pass);                //Inicia o Blynk
  pinMode(23, OUTPUT);                          //Definição dos pinos a serem utilizados (botão estará na porta 21)
  pinMode(22, OUTPUT);
  pinMode(21, INPUT);
}

void loop() {
  Blynk.run();                                  //Ativa o Blynk
  if (digitalRead(21)) {                        //Verifica se o botão foi pressionado
    Blynk.notify("O botao foi pressionado");    //Se sim, envia uma notificação ao app
  }
}

Resultado Final

Confira aqui o resultado final. (O volume do buzzer está baixo, devido a tensão emitida pelo Esp32, se quiser, você pode alterar este componente por outro)


Conclusão

Em síntese, você pôde observar como criar de forma fácil uma interface para seus projetos IoT com Esp32. O Blynk é uma ferramenta muito poderosa e que tem muitas outras funcionalidades. Fique à vontade para testá-las e incluí-las em seus outros projetos. Se tiver alguma dúvida, deixe nos comentários.

Tenha a Metodologia Eletrogate na sua Escola! Conheça nosso Programa de Robótica Educacional.


Sobre o Autor


Miguel Sena
@arduuno

Estudante e hobbista na parte de eletrônica e programação. Gosto de desenvolver projetos no Arduino e ESP-32 voltados á robótica e automação residencial, e de desenvolver projetos em Python, assim como a integração dele com o Arduino.


Eletrogate

26 de julho de 2021

A Eletrogate é uma loja virtual de componentes eletrônicos do Brasil e possui diversos produtos relacionados à Arduino, Automação, Robótica e Eletrônica em geral.

Tenha a Metodologia Eletrogate dentro da sua Escola! Conheça nosso Programa de Robótica nas Escolas!

Eletrogate Robô

Cadastre-se e fique por
dentro de novidades!