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:
- Chave de autorização (aquela que você recebeu por email quando criou o projeto no Blynk) na linha 8
- Nome da sua rede Wifi na linha 11
- Senha da sua rede Wifi na linha 12
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!