Use o Blynk e ESP8266 para mostrar temperatura e umidade na tela do celular

Procurando uma solução simples para monitorar temperatura e umidade? Junte o Blynk e o ESP8266, montando um sistema que vai enviar os dados para um smartphone usando o módulo sensor de temperatura e umidade DHT11 para ESP8266 ESP-01:

O Blynk é um programa que já vimos algumas vezes aqui no Arduino e Cia, e permite criar aplicativos de monitoramento, acionar portas e ler dados de sensores em placas como Arduino, Raspberry Pi, ESP8266, ESP32 e muitas outras.

O módulo DHT11 para ESP8266 ESP-01

Esse módulo com DHT11 é muito prático para uso em projetos de automação residencial e monitoração pois basta você programar o ESP8266 ESP-01, encaixá-lo na placa e o mesmo fará a comunicação com o DHT11 realizando o envio dos dados via rede sem fio (wifi).

A alimentação é feita através dos 2 pinos disponíveis na placa e aceita entre 3,7 e 12VDC, podendo ser utilizado por exemplo com baterias de lítio de 3,7V.

Dependendo da programação, a bateria pode durar longos períodos se você usar o modo sleep do ESP8266, que aciona o microcontrolador em intervalos definidos e depois entra em estado de espera para economizar energia.

Configurando o Blynk no smartphone

Vamos primeiro criar a aplicação no software Blynk, já que precisamos da chave gerada pelo aplicativo para que o mesmo possa fazer a comunicação com o ESP8266.

Procure pelo Blynk na loja de aplicativos do seu celular (Android / Iphone) e faça a instalação normalmente. É necessário um pequeno cadastro de usuário, email e senha.

Na tela principal do Blynk, crie um novo projeto, dê um nome para ele e escolha o dispositivo ESP8266. Em seguida selecione Create (Criar):

O aplicativo retorna uma mensagem dizendo que uma chave foi gerada e enviada para o seu email. Vamos precisar dessa chave para colocar depois no nosso programa do ESP, ok?

Agora selecione o ícone com o sinal de “mais” na parte superior do projeto, e adicione um widget do tipo LCD:

Selecione o widget que você acabou de criar e coloque a seguinte configuração:

V0 e V1 são os “pinos virtuais” do Blynk, para onde vamos mandar os dados de temperatura (para o V0) e umidade (para o V1). Você pode selecionar outras opções como o texto que será mostrado, cor do display LCD, etc.

Isso finaliza a configuração do Blynk. Retorne para a tela principal e agora vamos para a configuração da IDE, instalação das bibliotecas e programação do ESP8266.

Blynk e ESP8266: Preparando a IDE

Como aqui não temos uma montagem propriamente dita, já que simplesmente vamos encaixar o ESP-01 no módulo e conectar os pinos de alimentação, vamos direto para a parte de configuração, começando pela preparação da IDE para que ela reconheça o ESP8266.

Na IDE do Arduino, acesse o menu Arquivo -> Preferências e coloque a seguinte URL no campo URLs Adicionais para Gerenciadores de Placas:

http://arduino.esp8266.com/stable/package_esp8266com_index.json

Em seguida, acesse o menu Ferramentas -> Placas -> Gerenciador de Placas e procure por ESP8266, clicando em seguida em Instalar:

Isso faz com que as placas da linha ESP8266 fiquem disponíveis no menu Ferramentas -> Placas, bastando selecionar o Generic ESP8266 Module:

Vamos agora para a instalação das bibliotecas e programação do ESP-01.

Programação do módulo DHT11 para ESP8266

Para o nosso programa vamos usar as bibliotecas DHT11 e Blynk, disponíveis para instalação na própria IDE do Arduino.

Acesse o menu Sketch -> Incluir Biblioteca -> Gerenciar Bibliotecas. Dentro do Gerenciador de Bibliotecas, procure por DHT11, selecione a biblioteca DHT sensor library for ESPx e clique em Instalar:

Faça a mesma coisa para a biblioteca Blynk:

Dúvidas na instalação da biblioteca? Confira o post Como instalar uma biblioteca na IDE Arduino.

Agora basta carregar o programa abaixo no ESP-01, alterando primeiro essas informações no código:

Para programar o ESP-01, usamos um Adaptador USB ESP-Link para ESP8266 ESP-01, que não exige a montagem de nenhum circuito para colocar o ESP em modo de programação: basta encaixá-lo no adaptador, plugar na USB e o mesmo já será reconhecido pelo computador como uma porta COM/Serial.

//Programa: Blynk com modulo DHT11 ESP8266
//Autor: Arduino e Cia

#include <DHTesp.h>
#include <BlynkSimpleEsp8266.h>

//Coloque abaixo o token de autorizacao recebido por email
char auth[] = "-yjn47Kt4aY4x7cGbU9Xl1IjgLCKArAP";

//Preencha com os dados da sua rede wifi
char ssid[] = "NOME_DA_REDE_WIFI";
char pass[] = "SENHA_DA_REDE_WIFI";

//Definicoes de pino DHT
#define pino_DHT 2

BlynkTimer timer;

DHTesp dht;

int temperatura;
int umidade;

void enviardados()
{
  //Le os dados do sensor
  temperatura = dht.getTemperature();
  umidade = dht.getHumidity();

  //Envia os dados para o Blynk
  Blynk.virtualWrite(V0, temperatura);
  Blynk.virtualWrite(V1, umidade);
}

void setup()
{
  //Inicializa a comunicacao com o Blynk
  Blynk.begin(auth, ssid, pass);

  //Inicializa o DHT11
  dht.setup(pino_DHT, DHTesp::DHT11);

  //Envia as informacoes para o smartphone
  timer.setInterval(5000L, enviardados);
}

void loop()
{
  Blynk.run();
  timer.run();
}

Tire o ESP-01 do adaptador e encaixe no módulo DHT11 conforme as imagens mostradas anteriormente. Alimente o módulo e se tudo estiver certo o ESP irá conectar na sua rede Wifi e enviar os dados de umidade e temperatura para o seu celular:

Gostou? Confira outros posts usando Blynk aqui mesmo no Arduino e Cia!

5/5 - (4 votos)

Related posts

Como programar o módulo wireless APC220 com Arduino

by Arduino e Cia
6 anos ago

Comunicação Wifi entre módulos ESP8266 ESP-01

by Arduino e Cia
3 anos ago

Como usar o motor shield para ESP8266 NodeMCU

by Arduino e Cia
4 anos ago
Sair da versão mobile