Como Monitorar o Ambiente com ESP32 e Vários Sensores
Construindo um Sistema IoT para Monitorar Qualidade do Ar
A qualidade do ar é um fator crítico para ambientes saudáveis, especialmente em áreas urbanas ou espaços fechados. Este artigo detalha a construção de um sistema IoT baseado no ESP8266, capaz de medir poluentes como CO₂, NH₃ e VOC, emitir alertas sonoros personalizados e integrar-se a dashboards para análise em tempo real. Combinando eletrônica, programaçãoSistema de controle de cortinas automatizadas com ESP8266Descubra como automatizar cortinas com ESP8266. Aprenda componentes, montagem, programação e integração IoT para conforto e eficiência energética. e análise de dados, o projeto é aplicável em residências, escritórios, escolas e indústrias, oferecendo desde monitoramento local até automações avançadas.
🔗 Índice
- Componentes necessários
- Funcionamento do sistema
- Configuração do sensor de qualidade do ar
- Conexão Wi-Fi e protocolos de comunicação
Sistema de controle de acesso com ESP8266 e QR codeDescubra neste tutorial como integrar ESP8266, QR Code e sistemas criptografados, garantindo segurança e controle de acesso moderno.
- Lógica de programação
Sistema de controle de cortinas automatizadas com ESP8266Descubra como automatizar cortinas com ESP8266. Aprenda componentes, montagem, programação e integração IoT para conforto e eficiência energética. e leitura contínua
- Implementação do alerta sonoro
- Visualização de dados em tempo real
- Calibração e ajuste de sensibilidade
Detector de fumaça com ESP8266 e alarme sonoroMonte um detector de fumaça inteligente com ESP8266 e MQ-2. Tutorial que ensina montagem, programação e integração IoT para sistemas residenciais.
- Casos de uso práticos
Componentes necessários🔗
Componente | Descrição |
---|---|
ESP8266 (NodeMCU) | Microcontrolador com Wi-Fi integrado para conexão IoT |
Sensor MQ-135 | Detecta CO₂, NH₃, NOₓ e benzeno (faixa: 10-1000 ppm) |
Buzzer ativo (5V) | Emite alertas sonoros em diferentes frequências |
Display OLED 0.96" | Exibe leituras locais (opcional) |
Resistor de 10kΩ | Para divisão de tensão no sensor analógico |
Protoboard e jumpers | Facilita conexões temporárias sem solda |
Fonte de alimentação | USB ou bateria LiPo 3.7V |
Comparativo de sensores:
Sensor | Gases detectados | Interface | Precisão |
---|---|---|---|
MQ-135 | CO₂, NH₃, NOₓ | Analógica | ±15% |
CCS811 | CO₂, TVOC | I²C | ±10% |
SGP30 | CO₂eq, TVOC | I²C | ±5% |
Funcionamento do sistema🔗
1. Coleta de dados:
O sensor (ex: MQ-135) gera um sinal analógico proporcional à concentração de poluentes.
2. Processamento:
O ESP8266Sistema de automação residencial com ESP8266 e controle de luzesEste tutorial aborda a implementação de automação residencial com ESP8266, destacando segurança, eficiência energética, integração MQTT e interface web. converte o sinal em ppm (partes por milhão) e compara com limites pré-definidos.
3. Alerta sonoro:
Se o nível ultrapassar o limite seguro, um buzzer é acionado com padrões sonoros específicos.
4. Comunicação:
Dados são enviados via Wi-Fi para dashboardsDashboard de monitoramento remoto com ESP8266Aprenda a criar um dashboard IoT com ESP8266, integrando sensores, segurança avançada e otimização de comunicação para monitoramento remoto eficiente. ou sistemas de automação (ex: HVAC).
Fluxo do sistema:
Configuração do sensor de qualidade do ar🔗
Circuito do MQ-135
Cálculo da concentração:
Onde:
- \( R_s \): Resistência do sensor em função do gás
- \( R_L \): Resistor de carga (10kΩ)
Exemplo de código para leitura:
int readAirQuality() {
int raw = analogRead(SENSOR_PIN);
float voltage = raw * (5.0 / 1023.0);
return map(voltage, 0.1, 4.9, 0, 500); // Ajuste conforme calibração
}
Conexão Wi-Fi e protocolos de comunicação🔗
Conexão básica ao Wi-Fi
#include <ESP8266WiFi.h>
const char* ssid = "SUA_REDE";
const char* password = "SENHA";
void setup() {
Serial.begin(115200);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("Conectado!");
}
Protocolos recomendados
- MQTT
Sistema de controle de cortinas automatizadas com ESP8266Descubra como automatizar cortinas com ESP8266. Aprenda componentes, montagem, programação e integração IoT para conforto e eficiência energética.: Ideal para IoT em tempo real (ex: Integração com Home Assistant).
- HTTP POST
Simulador de tráfego com ESP8266Explore a plataforma inovadora que integra simulação de tráfego, IoT, protocolos avançados e modelagem matemática para controle dinâmico e preditivo.: Para envio a APIs personalizadas ou bancos de dados.
#include <PubSubClient.h>
WiFiClient espClient;
PubSubClient client(espClient);
void reconnect() {
while (!client.connected()) {
client.connect("ESP8266Client");
client.publish("casa/sensor/ar", "Conectado!");
}
}
Lógica de programação e leitura contínua🔗
Estrutura principal
#define BUZZER_PIN D1
#define SENSOR_PIN A0
void setup() {
pinMode(BUZZER_PIN, OUTPUT);
pinMode(SENSOR_PIN, INPUT);
// Inicializa Wi-Fi e comunicação
}
void loop() {
int ppm = readAirQuality();
checkThreshold(ppm);
delay(1000);
}
Controle de alertas
void checkThreshold(int ppm) {
if (ppm > 300) { // Limite para CO₂
playAlert(2); // Alerta contínuo
Blynk.virtualWrite(V0, ppm); // Envia dados ao Blynk
} else if (ppm > 150) {
playAlert(1); // Alerta moderado
}
}
Implementação do alerta sonoro🔗
Nível de risco | Frequência (Hz) | Padrão sonoro |
---|---|---|
Normal | 0 | Silêncio |
Moderado | 800 | 1 bip a cada 5s |
Alto | 2000 | Bips contínuos |
Código para padrões personalizados:
void playAlert(int level) {
switch(level) {
case 1: // Moderado
tone(BUZZER_PIN, 800, 500);
delay(5000);
break;
case 2: // Alto
tone(BUZZER_PIN, 2000); // Som contínuo
break;
}
noTone(BUZZER_PIN); // Desliga o buzzer
}
Visualização de dados em tempo real🔗
Integração com Blynk
#define BLYNK_PRINT Serial
#include <BlynkSimpleEsp8266.h>
Blynk.begin(auth, ssid, password);
Blynk.virtualWrite(V0, ppm); // Atualiza o app
Alternativas avançadas
- Node-RED: Para criar fluxos de dados customizados.
- ThingSpeak: Armazena históricos e gera gráficos temporais.
Calibração e ajuste de sensibilidade🔗
Método 1: Calibração inicial
1. Exponha o sensor ao ar livre por 24h.
2. Calcule \( R_0 \) (resistência base):
Método 2: Ajuste linear
// Ajuste o mapeamento conforme testes locais
float calibratedPPM = (raw * 0.21) + 12.5;
Dica: Use um sensor comercial calibrado como referência para validar os valores.
Casos de uso práticos🔗
1. Escritórios inteligentes:
- Acionar ventilação automática ao detectar CO₂ > 1000ppm.
- Integrar com sistemas HVAC via MQTT
Sistema de controle de cortinas automatizadas com ESP8266Descubra como automatizar cortinas com ESP8266. Aprenda componentes, montagem, programação e integração IoT para conforto e eficiência energética..
2. Indústrias químicas:
- Monitorar vazamentos de NH₃ em tempo real.
- Configurar alertas sonoros diferenciados por tipo de gás.
3. Escolas:
- Exibir dados em displays
Relógio de parede inteligente com ESP8266 e NTPDescubra como montar um relógio de parede inteligente com ESP8266 e NTP, sincronizando a hora com precisão. Personalize seu projeto IoT com displays e sensores. OLED públicos.
- Gerar relatórios semanais via API para análise ambiental.
Conclusão🔗
Este projeto combina hardware acessível e programação versátil para criar um sistema de monitoramento de ar escalável. Ao integrar alertas sonoros personalizados, visualização de dados em tempo real e protocolos de comunicaçãoSistema de controle de acesso com ESP8266 e QR codeDescubra neste tutorial como integrar ESP8266, QR Code e sistemas criptografados, garantindo segurança e controle de acesso moderno. IoT, ele serve como base para soluções em segurança ambiental, saúde pública e automação predial. Experimente ajustar os limiares, adicionar sensores secundários (ex: DHT22 para umidade) ou expandir a lógica para controle de dispositivos externos, como exaustores ou purificadores de ar. Com criatividade e calibração cuidadosa, o sistema pode adaptar-se a cenários tão diversos quanto residências, fábricas ou espaços públicos.
Autor: Marcelo V. Souza - Engenheiro de Sistemas e Entusiasta em IoT e Desenvolvimento de Software, com foco em inovação tecnológica.
Referências🔗
- Documentação Wiki do ESP8266: github.com/esp8266/esp8266-wiki/wiki
- GitHub - ESP8266 Community: github.com/esp8266/Arduino
- Random Nerd Tutorials: randomnerdtutorials.com/projects-esp8266/
- Site Oficial da Espressif: www.espressif.com/en/products/socs/esp8266