fbpx
ESPNovidade

Monitorando Temperatura e Umidade pelo Celular Utilizando a plataforma Blynk

Olá pessoal!

No post de hoje vamos ensinar a vocês como monitorar temperatura e umidade por meio de um aplicativo criado no Blynk. Caso você não conheça esta plataforma de desenvolvimento de aplicativos leia o artigo Conhecendo a Plataforma Blynk.

A proposta desta prática é criar um sistema de hardware composto pela placa microcontroladora NODEMCU ESP8266 e pelo DHT11, sensor capaz de medir a temperatura e umidade de um ambiente. Desta forma, o sensor enviará as informações de temperatura e umidade para a NODEMCU que, por meio de uma conexão Wi-Fi, enviará estas informações ao Blynk.


MATERIAIS NECESSÁRIOS


1 x NODEMCU ESP8266;
1 x Sensor DHT11;
1 x Protoboard;
Fios de jumper.


ESQUEMÁTICO DE LIGAÇÃO DOS COMPONENTES


Verifique se a sua placa NODEMCU ESP8266 encontra-se descontada do seu computador. Em seguida, monte atentamente o circuito da Figura 1.

Figura 1: Circuito elétrico para projeto Monitorando Temperatura e Umidade pelo Celular Utilizando a Plataforma Blynk.


Ao montar seu circuito observe os seguintes pontos:
• O sensor DHT11 possui 4 terminais. O primeiro (VCC) é o terminal de alimentação, que conforme datasheet do fabricante pode ser entre 3 V e 5,5 V. O segundo (DATA) é o pino de comunicação de dados, será através dele que o valor da temperatura e umidade serão comunicados. O terceiro (NC) é um pino vazio. Por fim, o último (GND) é o terminal de terra do sensor;
• O pino 1 do sensor DHT11 será ligado a alimentação de 3,3 V da placa NODEMCU ESP8266, o pino 2 deve ser conectado à porta digital D2, o pino 3 não será utilizado e o pino 4 deve ser conectado ao GND (terra).


CONSTRUINDO O APLICATIVO NO BLYNK


Conforme mencionado anteriormente, o aplicativo para monitoramento da temperatura e umidade será construído utilizando a plataforma Blynk. Para saber mais o Blynk e como instalá-lo clique aqui.
Para dar início à construção do aplicativo, abra o Blynk App em seu celular e selecione a opção “+ New Project”, conforme a Figura 2.

Figura 2: Clique em “+ New Project” para criar um novo projeto no Blynk App.


Em seguida, na tela Create New Project configuraremos o projeto conforme a Figura 3. Neste caso, atribuímos “Clima” como nome do projeto, selecionamos como dispositivo a placa NODEMCU e o tipo de conexão via Wi-Fi. Tendo feita as configurações, clique em “Create”.

Observação: Você também pode construir essa aplicação com outro microcontrolador ou outro tipo de comunicação. Para isso, configure o projeto conforme especificações da sua placa.

Figura 3: Configuração do projeto no Blynk App.


Em seguida, você receberá uma mensagem informando que o Auth Token do projeto foi enviado ao seu e-mail de cadastro. Clique em OK para fechar esta mensagem. Na tela de projeto incluiremos os Widgets necessários para construção do aplicativo, conforme a Figura 4.

Figura 4: Widgets do projeto Clima no Blynk App.


Para incluir os widgets do projeto clique no símbolo + , localizado na barra superior da tela de projetos do Blynk App. Os Widgets a serem inclusos são do tipo Image Gallery e Gauge.

Utilizaremos o Widgets Image Gallery para exibir a nossa logo na aplicação, mas você pode incluir qualquer outra imagem. Para exibir as informações referentes a temperatura e umidade lida pelo sensor DHT11 vamos usar os Widgets do tipo Gauge, ideal para exibição visual de valores numéricos.

Após a inclusão dos Widgets, vamos configurar cada um deles para a nossa aplicação. Para entrar no modo de configuração dos Widgets dê um clique leve sobre o mesmo, mas se deseja mover ou redimensionar clique e segure.

Iniciaremos a configuração do Image Gallery. A Figura 5 ilustra a página de configuração desse Widget. Para incluir a imagem desejada clique em “+ Add Image URL”.

Figura 5: Configuração do Widget Image Gallery no Blynk App.


Em seguida, será exibida a tela da Figura 6. A partir de então, você precisa apenas informar a URL da imagem desejada no campo URL. Em nosso exemplo, utilizamos como imagem a logo do Blog Robótica, que encontra-se disponível na URL: https://www.blogdarobotica.com/wp-content/uploads/2020/04/logo_blog_da_robotica-scaled.jpg.

Figura 6: Adicionando imagem a partir da URL no Blynk App.


Em seguida, vamos configurar os Gauges responsáveis por receber as informações de temperatura e umidade, conforme a Figura 7.

Figura 7: Configuração dos Gauges para exibir umidade e temperatura.


Para receber as informações de umidade e temperatura, vamos utilizar os pinos virtuais V5 e V6. O pino virtual é uma maneira de transmissão de dados entre o hardware e o Blynk App, e são comumente utilizados para fazer interface com outras bibliotecas e implementar lógica de programação personalizada. Os pinos virtuais não possuem representação física e não devem ser confundidos com os pinos GPIO físicos da NODEMCU ESP8266.

Em seguida, definimos a faixa de valores a ser exibido pelos Gauges Umidade e Temperatura, que deve ser de 0 a 100. Em label vamos definir a formatação dos dados recebidos. Utilizamos a opção /pin.#/ para que o Gauge exiba o valor com 1 digito decimal apenas. Em seguida, incluímos as unidades de medida: a umidade será medida em porcentagem (%) e a temperatura em graus Celsius (ºC).

Você pode alterar as cores do Gauge clicando em Text, na opção Design.


ELABORANDO O CÓDIGO


Nesta aplicação utilizaremos um código exemplo disponibilizado no site de exemplos da Plataforma Blynk. Na barra lateral, configuraremos a placa para NODEMCU, o tipo de conexão para ESP8266 WiFi, incluiremos o Auth Token e selecionamos o exemplos DHT11. Logo após, copiamos o código para o Arduino IDE.

Figura 8: Exemplo DHT11 no Blynk.


Você também pode copiar o código abaixo:

#include <ESP8266WiFi.h> //Biblioteca para uso do WiFi do ESP8266
#include <BlynkSimpleEsp8266.h> //Biblioteca para uso do ESP8266 no Blynk
#include <DHT.h> //Biblioteca do DHT11

char auth[] = "YourAuthToken"; //Auth token do projeto
char ssid[] = "YourNetworkName"; //Nome da rede Wi-Fi
char pass[] = "YourPassword"; //Senha da rede Wi-Fi

#define DHTPIN D2          // Define o pino digital que o DHT11 está conectado
#define DHTTYPE DHT11     // DHT 11
DHT dht(DHTPIN, DHTTYPE); //Inicializando o objeto dht do tipo DHT passando como parâmetro o pino (DHTPIN) e o tipo do sensor (DHTTYPE)
BlynkTimer timer; //Inicializando o objeto timer do tipo BlynkTimer

//Função de leitura do sensor
void sendSensor(){
  float h = dht.readHumidity(); //Realiza a leitura da umidade e armazena na variável h
  float t = dht.readTemperature(); //Realiza a leitura da temperatura e armazena na variável t

  if (isnan(h) || isnan(t)) { //Verifica se houve falha na leitura do sensor
    Serial.println("Failed to read from DHT sensor!");
    return;
  }

  Blynk.virtualWrite(V5, h); //Escreve no pino virtual V5 o valor de h (umidade)
  Blynk.virtualWrite(V6, t); //Escreve no pino virtual v6 o valor de t (temperatura)
}

void setup(){
  Serial.begin(9600); //Inicialização da comunicação serial

  Blynk.begin(auth, ssid, pass); //Inicializa o blynk passando como parâmetro o auth token, o nome da rede Wi-Fi e a senha
  dht.begin(); //Inicializa o sensor

  timer.setInterval(1000L, sendSensor); //Função sendSensor sendo chamada a cada segundo
}

void loop(){
  Blynk.run(); //Chama a função Blynk.run()
  timer.run(); //Chama a função timer.run()
}



Observe que no código incluímos algumas bibliotecas que podem ser baixadas através dos seguintes links:

Biblioteca Blynk

Biblioteca DHT11

Biblioteca Adafruit Unified Sensor Lib

Outra etapa necessária para o funcionamento correto do código é a inclusão do nome e da senha da rede Wi-Fi que a NODEMCU deve se conectar. Desta forma, preencha estas informações no código, mantendo as aspas duplas (“ ”).

Em seguida, vamos realizar o upload do código para a placa NODEMCU ESP8266.

Após a transferência do código, abra o aplicativo criado no Blynk App e clique no ícone “Play” para iniciar a comunicação entre o aplicativo e a placa NODEMCU ESP8266.

Ao final, o aplicativo para monitorar a temperatura e a umidade funcionará conforme mostrado no vídeo 1.

Vídeo 1: Monitorando a temperatura e a umidade pelo celular usando a plataforma Blynk.


Espero que tenham gostado deste tutorial. Em caso de dúvidas deixe seu comentário abaixo.

Att.,
Carol Correia Viana

Dúvidas? Deixe seu comentário

Bacharel em Engenharia Elétrica com ênfase em Eletrônica, mestra em Engenharia Industrial e especialista em Docência com ênfase em Educação Inclusiva. Atua no setor de Desenvolvimento de Produtos na Casa da Robótica. Editora chefe e articulista no Blog da Robótica. Fanática por livros, Star Wars e projetos Maker.

Carol Correia Viana

Bacharel em Engenharia Elétrica com ênfase em Eletrônica, mestra em Engenharia Industrial e especialista em Docência com ênfase em Educação Inclusiva. Atua no setor de Desenvolvimento de Produtos na Casa da Robótica. Editora chefe e articulista no Blog da Robótica. Fanática por livros, Star Wars e projetos Maker.

Deixe uma pergunta

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.