Reconexão automática do ESP8266 NodeMCU na rede Wi-Fi - MakerHero

Reconexão automática do ESP8266 NodeMCU na rede Wi-Fi 2

A placa Wi-Fi ESP8266 NodeMCU faz parte de uma plataforma muito interessante, pois é capaz de fornecer I/O’s programáveis, entrada microUSB para programação através do Arduíno IDE ou LUA, regulador de tensão 5/3,3 Vcc, conexão Wi-Fi e conversor FTDI integrado, ou seja, tudo isso reunido em um só dispositivo que pode ser facilmente implementado em projetos IoT, entretanto por alguns motivos externos tais como queda de energia ou falha na rede proveniente do sinal Wi-Fi os dados enviados e recebidos podem ser alterados ou perdidos, fazendo com que haja falha de comunicação entre cliente/servidor sem uma reconexão automática do ESP8266.

Ruim, não é? Então através deste post exemplificaremos como podemos acabar de vez com estes problemas.

O Projeto Controle de umidade e temperatura com reconexão automática através da ESP8266 NodeMCU, consiste em fazer a placa enviar dados de umidade e temperatura medida para um canal criado no site ThingSpeak.com, porém caso haja instabilidade ou falha de conexão na rede Wi-Fi principal é possível se conectar a outra rede Wi-Fi auxiliar através de uma reconexão automática criando o que chamamos de redundância de sinal Wi-Fi, fazendo com que não haja perda de informações por longo período de tempo, e melhor, tudo isso sem a necessidade de reconfigura-la novamente.

montagem da Reconexão automática do ESP8266

Gostou da idéia? Então através deste post exemplificaremos como criar a reconexão automática de sinal Wi-Fi usando o sensor DHT11 e a plataforma ThingSpeak e acabar de vez com estes problemas.

Para saber mais sobre a plataforma ThingSpeak veja o post da Planta IoT com ESP8266 NodeMCU – Parte 1.

Material Necessário

Neste projeto utilizamos os seguintes componentes:

A alimentação pode ser feita pelo cabo USB (o mesmo cabo utilizado na programação do NodeMCU) ou fonte DC chaveada 5V 2A MicroUSB.

Como Funciona a plataforma ThingSpeaK?

O ThingSpeak.com é um serviço IoT na nuvem que possibilita fazer registros de informações recebidas pelos dispositivos IoT, além de disponibilizar diversas análises sobre estes dados.

Para saber mais sobre a plataforma ThingSpeak veja o post de Pedro Bertoleti, Planta IoT com ESP8266 NodeMCU.

Como Funciona o sensor DHT11?

O sensor DHT11 identifica umidade e temperatura do ar, tem internamente um pequeno microcontrolador de 8 bits que transmite as informações sensoriadas por um protocolo específico que utiliza apenas um pino para dados.

Para saber mais sobre o sensor DHT11 veja o post de Adilson Thomsen Monitorando Temperatura e Umidade com o sensor DHT11.

Setup necessário

É de grande importância, que você tenha o Arduino IDE instalado em sua máquina, de preferência a ultima versão disponível no site site oficial do Arduino.

Para comunicarmos a ESP8266 NodeMCU no sensor de umidade e temperatura DHT11 ao site ThingSpeak precisamos baixar as seguintes bibliotecas abaixo:

Na barra de ferramentas acesse Scketch>Incluir bibliotecas>Gerenciar bibliotecas e digite através do campo de buscas dht11 e clique em instalar:

dht11 na IDE do arduino

Digite também através do campo de buscas thingspeak e clique em instalar:

thingspeak na IDE do arduino

Depois é necessário realizar a configuração do Arduino IDE para realizar o desenvolvimento com a ESP8266, você pode fazer essa configuração usando como base esse tutorial descrito no Blog MakerHero.

Para fazer o uso da funcionalidade da plataforma ThingSpeak é necessário realizar o cadastro no site ThingSpeak, e seguir os passos indicados abaixo:

Preencha os dados abaixo, e-mail, localização, nome e sobrenome.

cadastro Thingspeak

Clicar em “New Channel” e preencher os seguintes campos:

cadastro Thingspeak 2

Copie a chave de escrita gerada e cole no programa a ser compilado pelo Arduino IDE:

cadastro Thingspeak 3

 

Montagem do circuito

Observe o circuito esquemático abaixo, que será usado no projeto controle de umidade e temperatura com reconexão automática através da ESP8266 NodeMCU:

Reconexão automática do ESP8266 com DHT11

Programando a reconexão automática do ESP8266

Este código exemplifica a possibilidade de realizar leitura e escrita de dados sem se preocupar com  falhas de conexão na rede Wi-Fi ou quedas de energia, ou seja, ao realizar a leitura dos dados do sensor DHT11 o módulo ESP8266 NodeMCU se conecta ao site ThingSpeak, e envia as strings de dados contendo informações de umidade e temperatura através da rede Wi-Fi principal, sendo possível acompanhá-las através do serial monitor, porém se a conexão Wi-Fi principal falhar no momento da comunicação o módulo buscará a rede Wi-Fi auxiliar que deverá ser configurada conforme programa abaixo e quando a conexão for restabelecida as strings de dados continuaram a trafegar normalmente através do host configurado “api.thingspeak.com”.

Segue o código-fonte do projeto. Leia atentamente todos os comentários do mesmo.

Resultado do controle de umidade e temperatura com reconexão automática do ESP8266

Após carregar o código fonte para o NodeMCU, abra o serial monitor (com baudrate em 115200 bauds) para acompanhar o que a NodeMCU está fazendo.

Reconexão automática do ESP8266 teste

De acordo com a figura acima, podemos verificar que a NodeMCU ESP8266 foi conectada na rede principal.

Caso ocorra falha durante o envio de dados, é possível verificarmos a mudança de conexão da rede principal para rede auxiliar, através do monitor serial, conforme figura abaixo:

Reconexão automática do ESP8266 falha

Após a comunicação com a rede Wi-Fi auxiliar os dados serão transmitidos por ela, até o momento que ocorra o RESET da placa ou falha de comunicação fazendo com que a transmissão de dados seja redirecionada a rede Wi-Fi principal.

Abra o site ThingSpeak no canal configurado, assim pode-se ver, em tempo real, a chegada dos dados de controle de umidade e temperatura.

O gráfico resultante será algo semelhante a figura abaixo:

Reconexão automática do ESP8266 resultado

Gostou de como criar redundância de sinal Wi-Fi na ESP8266 NodeMCU? Deixe seu comentário logo abaixo.

Até a Próxima !

Faça seu comentário

Acesse sua conta e participe

2 Comments

  1. Como faço para entrar em contato com o autor do artigo ?

    Paulo Henrique Ramos da cruz
    1. Olá Paulo Henrique, qualquer dúvida estou a disposição!

      Segue e-mail para tirar dúvidas: [email protected]

      Atenciosamente.