Skip to content

🌦️ An open-source IoT weather station project to monitor air quality, temperature, humidity, pressure and rainfall. Developed with NodeMCU ESP8266, MQ-135, BMP180, DHT11 sensors and MH-RD rain module. Data accessible via responsive web server and exportable to CSV. Ideal for makers, educators and IoT enthusiasts!

License

Notifications You must be signed in to change notification settings

jancarauma/FormigaWeather

Repository files navigation

FormigaWeather - IoT Weather Station 🌐🌡️

Your low-cost, open-source IoT weather station

🌦️ An open-source IoT weather station project for monitoring air quality, temperature, humidity, pressure, and rain.
Developed using NodeMCU ESP8266, MQ-135, BMP180, DHT11 sensors, and the MH-RD rain module.
Data is accessible via a responsive web server and exportable to CSV.
Perfect for makers, educators, and IoT enthusiasts!

FormigaWeather - Estação Meteorológica IoT 🌐🌡️

Sua estação meteorológica IoT de baixo custo e código aberto

🌦️ Um projeto open-source de estação meteorológica IoT para monitorar qualidade do ar, temperatura, umidade, pressão e chuva. Desenvolvido com NodeMCU ESP8266, sensores MQ-135, BMP180, DHT11 e módulo de chuva MH-RD. Dados acessíveis via web server responsivo e exportáveis para CSV. Ideal para makers, educadores e entusiastas de IoT!

License: MIT Version

Dashboard da Estação FormigaWeather
Captura do Web Server Responsivo

🚀 Funcionalidades

Um sistema IoT completo para monitoramento ambiental, capaz de:

  • Interface Web Responsiva:
    O ESP8266 hospeda um site acessível via http://estacaoformiga.local na rede WiFi local, se não houver rede WiFi disponível, o ESP cria a rede WiFi ainda assim, ideal para locais sem disponibilidade de internet, exibindo os dados dos sensores em tempo real para acesso local.

  • Medição de Qualidade do Ar:
    Utiliza o sensor MQ-135 para detecção de gases e poluentes.

  • Medição Barométrica:
    O sensor BMP180 mede pressão atmosférica e possibilita estimativas, inclusive, de altitude.

  • Medição de Temperatura e Umidade:
    O sensor DHT11 capta informações de temperatura e umidade relativa.

  • Detecção de Chuva:
    Sensor MH-RD Raindrops para monitorar a presença de chuva.

  • Exportação CSV e Logs:
    O site conta com um botão para exportar os dados em formato CSV e outro para monitorar os logs do sistema.

📟 Componentes Utilizados

Componente Função Qtd
NodeMCU ESP8266 Microcontrolador Wi-Fi 1
Sensor MQ-135 Qualidade do ar (CO2/VOC) 1
Sensor BMP180 Pressão atmosférica e altitude 1
Sensor DHT11 Temperatura e umidade 1
Módulo MH-RD Detecção de chuva 1
Resistor 10kΩ Pull-up para DHT11 1
Protoboard Placa de prototipagem 1
Fios jumper Fios diversos para conexões 1

Custo Total Estimado: R$ 143,48

  • Observações: Os preços foram obtidos de fornecedores brasileiros e podem variar conforme a sua região e o fornecedor.

🔌 Diagrama de Ligações

Ligações da Estação FormigaWeather
Exemplo de conexão dos sensores com o NodeMCU:

  • DHT11 ➔ D4 + resistor 10 kΩ
  • BMP180 ➔ (SDA: D2, SCL: D1)
  • MQ-135 ➔ A0
  • MH-RD ➔ D5

⚙️ Configuração

Pré-requisitos

Antes de começar, certifique-se de ter o seguinte instalado e configurado:

  • Arduino IDE 1.8.18 ou superior
  • Bibliotecas Necessárias:
    • Adafruit BMP085 Library
    • DHT sensor library
    • ESP8266WiFi

Configuração da IDE e Instalação das Bibliotecas

  1. Configurar o Gerenciador de Placas para ESP8266:

    • Abra a Arduino IDE.
    • Vá em Arquivo > Preferências.
    • No campo "URLs adicionais para gerenciadores de placas", adicione:
      http://arduino.esp8266.com/stable/package_esp8266com_index.json
      
    • Clique em "OK".
    • Acesse Ferramentas > Placa > Gerenciador de Placas.
    • Busque por "ESP8266" e instale o pacote correspondente.
    • Em Ferramentas > Placa, selecione a opção NodeMCU 1.0 (ESP-12E Module).
  2. Instalar a Biblioteca Adafruit BMP085:

    • Faça o download da biblioteca através deste link.
    • Na Arduino IDE, vá em Sketch > Incluir Biblioteca > Adicionar Biblioteca .ZIP.
    • Selecione o arquivo baixado (Adafruit_Sensor-master.zip) e conclua a instalação.
  3. Instalar a Biblioteca DHT sensor library:

    • Faça o download da biblioteca através deste link.
    • Na Arduino IDE, vá em Sketch > Incluir Biblioteca > Adicionar Biblioteca .ZIP.
    • Selecione o arquivo baixado (DHT-sensor-library.zip) e conclua a instalação.

Após seguir esses passos, sua Arduino IDE estará configurada corretamente para compilar e carregar o projeto da estação no NodeMCU ESP8266.

Instalação

  1. Clone o repositório:
    git clone https://github.com/seuuser/FormigaWeather.git
  2. Abra o projeto na Arduino IDE:
    • Certifique-se de que sua IDE Arduino esteja configurada conforme os pré-requisitos.
    • Abra o arquivo estacao_formiga.ino.
  3. Configure a rede WiFi:
    • No código, altere a variável ssid (atualmente "dlink") para o nome da sua rede WiFi.
    • Modifique a variável password para a senha da sua rede WiFi.
  4. Verifique as conexões do circuito:
    • Confirme se todas as ligações do circuito da estação estão corretas.
  5. Carregue o código no ESP8266:
    • Conecte o ESP8266 via USB ao seu computador.
    • Selecione a porta correta e faça o upload do código.
  6. Monitore a saída serial:
    • Abra o Monitor Serial na Arduino IDE para verificar se o dispositivo está funcionando corretamente ou se há alguma mensagem de erro.
  7. Acesse a interface web:
  • Caso não haja erros, conecte seu computador ou celular à mesma rede WiFi do ESP8266.
  • Se não houver rede WiFi disponível, o ESP8266 criará uma rede própria chamada Estacao_Formiga com a senha senha123.
  • Em seguida, abra seu navegador e acesse: http://estacaoformiga.local ou utilize o endereço IP exibido no Monitor Serial.

🖥️ Como Usar

  • Conecte-se à mesma rede Wi-Fi da estação
  • Acesse http://estacaoformiga.local ou o IP local do NodeMCU (Disponível no Monitor Serial)
  • Interaja com os botões:
    • 📥 Exportar CSV: Gera arquivo com dados no formato:

      • Data, Hora, Temperatura, Umidade,Pressao,QualidadeAr,Chuva
    • 📜 Logs do Sistema: Exibe histórico de conexões e eventos

🌟 Contribuição

Contribuições são bem-vindas! Siga estes passos:

  • Faça um fork do projeto
  • Crie uma branch (git checkout -b feature/nova-feature)
  • Commit suas mudanças (git commit -m 'Adiciona nova feature')
  • Push para a branch (git push origin feature/nova-feature)
  • Abra um Pull Request

📄 Licença

Distribuído sob licença MIT. Veja LICENSE para mais detalhes.

🙌 Agradecimentos

  • Comunidade Arduino/ESP8266
  • Autores das bibliotecas utilizadas
  • Inspiração em projetos open-source de IoT

About

🌦️ An open-source IoT weather station project to monitor air quality, temperature, humidity, pressure and rainfall. Developed with NodeMCU ESP8266, MQ-135, BMP180, DHT11 sensors and MH-RD rain module. Data accessible via responsive web server and exportable to CSV. Ideal for makers, educators and IoT enthusiasts!

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages