Estação Meteorológica Simples com BME280 e ESP32 com IP Fixo

Uma Estação Meteorológica Simples é mais fácil de ser obtida do que imaginamos, sabemos o quão importante é o monitoramento de dados em nossos projetos e o monitoramento em tempo real das condições climáticas não pode depender de verificadores externos.

Estação Meteorológica Simples com ESP32 + BME280

Estação Meteorológica Simples com ESP32 + BME280

Para a obtenção de dados da nossa Estação Meteorológica utilizaremos apenas um produto, o BME280, por isto que a chamamos de simples, porém mesmo que utilizando apenas um sensor, poderemos captar temperatura, umidade, pressão e altitude.

Este projeto utiliza ainda um ESP32 como dispositivo de controle, o qual se conecta facilmente através da rede WiFi e cria um servidor Web específico para o nosso projeto. Normalmente os projetos utilizam IP dinâmico, porém para o projeto de hoje iremos utilizar um IP Fixo (IP Extático).

Desta maneira, quando qualquer dispositivo acessar o IP especificado no projeto, desde que conectado na mesma rede, irá conseguir verificar as informações disponibilizadas pelo sensor.

 

Sensor de Temperatura, Umidade e Pressão BME280

O BME280 é o Sensor base do Módulo que iremos utilizar, é um sensor de temperatura, umidade e pressão com tensões de operação de 3,3 a 5V, o que lhe torna um produto ideal para ser utilizado tanto com ESP32 quanto com Arduino.

BME280 – Sensor de Temperatura Umidade e Pressão

BME280 – Sensor de Temperatura Umidade e Pressão

Ao utilizar um sistema de comunicação I2C simples de dois fios, o Módulo BME280 consegue comunicar diversos dados simultaneamente e nos proporciona verificações de temperatura de -40ºC a 80ºC com precisão de +/- 1°C, umidades de 0 a 100% com precisão de +/- 3% e pressões de 330 a 1100hPa com precisão de +/- 1hPa.

O seu sistema de verificação de pressão é tão preciso que através deste, por exemplo, podemos calcular também a altitude do local instalado de acordo com o nível do mar e a sua precisão é de +/- 1 metro.

 

IP Fixo / IP Estático no ESP32

A sigla IP (Internet Protocol) trata-se de um Protocolo de Internet utilizado para determinar através de uma sequência numérica o local de um computador ou celular, por exemplo, em uma rede privada.

Protocolo de Internet – IP Fixo com ESP32

Protocolo de Internet – IP Fixo com ESP32

A rede de internet é toda baseada em endereços IP, cada computador conectado à rede possui um endereço e inclusive sites possuem endereços IP específicos para a armazenagem de dados.

Ao utilizarmos o ESP32 em nosso projeto, sempre que o reinicializarmos ou até mesmo quando ocorrem quedas de energia, o módulo pode ser atualizado com um novo endereço de IP, por isto que muitos optam pela utilização de IP Fixo.

Quando trabalhamos com IP Fixo temos outras variáveis que complementam o simples funcionamento do IP, como por exemplo, o Gateway, Máscara de Rede e Endereços DNS que são fundamentais para o funcionamento final do código.

 

Produtos Usados no Projeto

NodeMCU ESP32 Iot com WiFi e Bluetooth – 38 Pinos

Sensor de Pressão, Umidade e Temperatura BME280

Jumper para Protoboard Macho-Macho 10cm

Protoboard 400 Pontos para Montagem de Projetos

 

Esquema de Ligação da Estação Meteorológica Simples

O esquema de ligação do projeto é extremamente simplificado, contando com apenas 4 fios e uma comunicação I2C, o módulo BME280 assegura uma comunicação de diferentes dados de maneira simples e precisa.

Esquema de Ligação Estação Meteorológica Simples

Esquema de Ligação Estação Meteorológica Simples

Utilizando apenas 3,3V para alimentação o BME280 não necessita de sistemas de divisor de tensão para seus dados, uma das vantagens do sistema de comunicação I2C, seu suporte a tensões tanto de 3,3V quanto 5V.

 

Código de Funcionamento da Estação Meteorológica Simples

O código de funcionamento da Estação Meteorológica é parcialmente complexo, possui um número mais elevado de bibliotecas e possui também diversas variáveis HTML que não vimos em projetos com Arduino, mas que são fundamentais quando criamos um servidor web.

Mesmo sendo algumas das bibliotecas as originais instaladas junto ao próprio ESP32, outras como as responsáveis pelo funcionamento do BME280 precisam ser incluídas antes de carregarmos o código, dentre elas as seguintes:

Adafruit_Sensor.h – DOWNLOAD AQUI.

Adafruit_BME280.h – DOWNLOAD AQUI.

Abaixo segue código completo da Estação Meteorológica Simples com ESP32 e BME280:

Entes de gravarmos o código no Arduino, porém alguns itens devem ser alterados de acordo com a rede de internet ao qual será utilizado, dentre eles o nome da rede (SSID) e a Senha da mesma.

Vale ressaltar que o nome de rede deve ser digitado tal qual o utilizado pela sua rede, respeitando os caracteres minúsculos, maiúsculos e especiais que compõem o mesmo.

Por fim, outra mudança que precisamos realizar no código é a de endereços IP, gateway e demais informações elencadas abaixo:

Ao utilizarmos um endereço de IP Fixo, precisamos verificar se este está disponível na rede local, então se certifique de que nenhum outro dispositivo esteja utilizando este mesmo endereço para evitar algum erro de comunicação após a compilação.

Tendo todos os passos acima verificados e preenchidos de acordo com a sua rede local de internet, já podemos compilar o código e testar o nosso projeto.

Após carregar o código e abrir o monitor serial, certifique-se de estar configurado na velocidade de 115200 para a exibição dos dados, após isto, basta dar um reset no módulo microcontrolador que serão exibidas as informações de conexão assim como demonstrado abaixo:

Confirmação de Conexão junto ao Monitor Serial do Arduino IDE

Confirmação de Conexão junto ao Monitor Serial do Arduino IDE

Estando tudo ok no código e tendo a exibição dos dados acima com a devida confirmação de conexão e inicialização do servidos, já podemos utilizar o IP junto ao navegador para verificarmos as informações do nosso projeto.

Valores exibidos na página Web criada para a Estação Meteorológica Simples

Valores exibidos na página Web criada para a Estação Meteorológica Simples

Os valores são exibidos e poderão ser verificador por qualquer dispositivo conectado à rede WiFi configurada, lembrando que caso esteja utilizando a internet móvel do seu smartphone, por exemplo, o IP não irá exibir os valores.

 

Conclusão

A Estação Meteorológica Simples é um projeto bastante prático e possui um resultado preciso, ao obter valores básicos do clima como temperatura e umidade do Ar. Desta maneira, pode ser aplicado em ambientes internos e externos de acordo com as necessidades de adaptação.

Além da Temperatura e da Umidade, este sensor verifica também a Pressão Atmosférica do local instalado e consequentemente possibilita a leitura da sua altura em relação ao nível do Mar, um dado que particularmente surpreende devido aos seus valores.

É um projeto de fácil conexão, simples compreensão de software e que pode auxiliar em diversos parâmetros, assim como ser integrado com outros projetos e produtos para complementar ainda mais a Estação Meteorológica e criar um modelo completo.

Categorias
ESP32

Mecânico de Manutenção com Experiência em Sistemas Embarcados, Automação e Desenvolvimento de Projetos; Graduado nos Cursos de Matemática - URI e Física - UFFS.
9 Número de Comentários
  • José eduardo salgueiro lima
    18 setembro 2020 at 20:51
    Deixe seu Comentário

    Boa noite parabéns por mais um excelente trabalho e explicação, estou trabalhando num projeto de uma horta indoor e gostaria, se fosse possível, incrementar este circuito E CÓDIGO,para ligar e desligar uma lâmpada FLC, sensor de umidade de solo(já tenho) que aciona uma solenoide (já tenho) para irrigação. Para envio de imagens qual câmera você me indica.
    Você poderia me ajudar? Ou me indicar o caminho das pedras?

    Grato

    Prof. Salgueiro

    • Matheus Gebert Straub
      7 outubro 2020 at 08:34
      Deixe seu Comentário

      Bom Dia José! Quando se trata de implementação de câmeras em projeto, eu sempre gosto de indicar a ESP32 CAM, uma câmera que conta com um ESP32 e consegue transmitir suas informações via web através de programação.

  • Jaime
    25 janeiro 2021 at 23:38
    Deixe seu Comentário

    Boa noite Matheus. Primeiramente parabéns pelo projeto. A minha dúvida é com relação ao sensor bme/bmp280. O hardware que tenho é o mesmo porém com 4 vias apenas e o seu tem 6. Você tem o esquema de ligação com os nomes para saber fazer o esquema correto de conexões? Obrigado.

  • Lean Marques
    2 fevereiro 2021 at 16:48
    Deixe seu Comentário

    Boa tarde

    Verificando seu projeto vi que no codigo não tem especificado os pin para conexão do BME280
    porem o codigo esta funcionando e reconhecendo na pagina web.

    Sem definição dos pin por exemplo D22,D23 ou outros não funciona

    Porque seu codigo esta incompleto?

    • Matheus Gebert Straub
      4 março 2021 at 16:49
      Deixe seu Comentário

      Olá Lean! O código não está incompleto, o que acontece é que o BME280 possui uma comunicação I2C, ou seja, quando tiver associado a um projeto, seus pinos deverão ser sempre aqueles já delimitados pelo microcontrolador, no Arduino, por exemplo, os pinos de comunicação I2C são são os pinos analógicos A4 e A5 e neste caso, os pinos utilizados são os descritos na imagem. Quanto à inclusão dos pinos no código, por serem pinos fixos, os mesmos já estão incluídos na biblioteca do mesmo.

  • jorge
    31 março 2021 at 11:41
    Deixe seu Comentário

    Interessante Matheus! Estou tendo problemas com a umidade medida em um DHT22, ele trava no 99,9. Creio que está retendo umidade nas grades do sensor mesmo após o fim do orvalho matutino.

    encomendei um BME280, e possuo um Wemos D1 R32 ( esp32 preto) . Quando você diz que é I2C, devo plugar nos pinos SCL_I2C E SDA_I2C certo? parabens pelo projeto.

    • Matheus Gebert Straub
      7 abril 2021 at 16:16
      Deixe seu Comentário

      Olá Jorge! Normalmente este tipo de sensor não é recomendado para utilização em ambientes onde o mesmo vá ter um contato direto com líquidos como o orvalho, uma vez que se este orvalho entrar em contato com o sensor, para diminuir esta humidade seria necessário que o líquido evaporasse por completo, por exemplo.
      Quanto ao esquema de ligação do Sensor BME e sua conexão I2C, é exatamente como elencou, a comunicação I2C utiliza como base para seu funcionamento os pinos SCL e SDA.

  • Alfonso
    6 setembro 2021 at 10:18
    Deixe seu Comentário

    Ótimo artigo e me ajudou imensamente!
    Implementei um potenciômetro e um contato digital para obter o valor do nível de uma caixa de água e estatus de bomba ligada, o que funcionou perfeitamente!
    No entanto, gostaria de saber se há uma forma de fazer com que os dados sejam atualizados no site automaticamente, sem ter que solicitar a atualização!
    Em questão de internet, este é meu primeiro projeto!

  • Deixe seu Comentário

    *

    *

    Sobre nós

    Hoje a Usinainfo é um dos maiores ecommerces de Ferramentas, Peças para Eletrônica, Componentes Eletrônicos, Sensores e Arduino do Brasil, contando com uma grande diversidade de produtos na linha de eletrônica.

    Sugestões

    Artigos Relacionados