Estação Meteorológica WiFi com ESP8266 e Sensor DHT22
Componentes e Materiais
| Componente | Quantidade |
|---|---|
| ESP8266 ESP-01 (Espressif) | 1 |
| Sensor de Temperatura/Umidade DHT22 | 1 |
| Protoboard (genérico) | 1 |
| Jumpers (genéricos) | 1 |
| Módulo USB/Serial UDOO (para debug) | 1 |
| Arduino UNO (para programar ESP-01) | 1 |
Sobre o Projeto
Estação meteorológica compacta para monitoramento externo de longo prazo, registrando dados automaticamente no ThingSpeak. Ideal para agricultura – o autor monitora condições favoráveis para cultivo em sua região.
Passo a Passo
Passo 1: Preparação
Monte o hardware em protoboard conforme esquemático.
Passo 2: Programar ESP8266 via Arduino
Conecte ESP-01 ao Arduino (via serial) e carregue o código diretamente no ESP8266 via IDE. Atenção: isso apaga o firmware original. Para restaurar, processo longo – consulte vídeo do "El Profe Garcia" no YouTube.
Passo 3: Conectar Sensor DHT22
Dados do DHT22 no GPIO2 do ESP8266. Alimentação 3.3V.
Passo 4: Configurar ThingSpeak
Crie canal no ThingSpeak. Linhas essenciais no código:
#include <ThingSpeak.h>
unsigned long myChannelNumber = 167319;
const char * myWriteAPIKey = "XXXP9V86RWR7R9Y";
ThingSpeak.writeField(myChannelNumber, 1, h, myWriteAPIKey); // Umidade
delay(20000);
ThingSpeak.writeField(myChannelNumber, 2, t, myWriteAPIKey); // Temperatura
delay(20000);
Passo 5: Alimentação
ESP8266 consome corrente elevada. Alimente via USB do PC e fonte externa simultaneamente para evitar falhas.
Passo 6: Expansão
Canais ThingSpeak suportam até 8 campos. Considere adicionar sensor de pressão barométrica.
Código Completo (temphumwifi.ino)
#include <ThingSpeak.h>
#include <DHT.h>
#include <ESP8266WiFi.h>
#define DHTPIN 2
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);
unsigned long myChannelNumber = 167319;
const char * myWriteAPIKey = "XXXP9V86RWR7R9Y";
const char* ssid = "SUA_REDE";
const char* password = "SUA_SENHA";
WiFiClient client;
WiFiServer server(80);
void setup() {
Serial.begin(115200);
delay(10);
dht.begin();
Serial.print("Conectando a "); Serial.println(ssid);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500); Serial.print(".");
}
Serial.println("\nWiFi conectado");
Serial.println(WiFi.localIP());
ThingSpeak.begin(client);
}
void loop() {
float h = dht.readHumidity();
float t = dht.readTemperature();
Serial.print("Umidade: "); Serial.println(h);
Serial.print("Temperatura: "); Serial.println(t);
delay(2000);
ThingSpeak.writeField(myChannelNumber, 1, h, myWriteAPIKey);
delay(20000);
ThingSpeak.writeField(myChannelNumber, 2, t, myWriteAPIKey);
delay(20000);
}
Esquemáticos
Conexão ESP-01 + DHT22: GPIO2 → Data DHT22, VCC/CH_PD → 3.3V, GND → GND. Use conversor de nível se programar via Arduino UNO (5V).
Processo de manufatura
- Construa um Sensor de Temperatura Remoto com Raspberry Pi e Python – Guia Passo a Passo
- Construa Estação Meteorológica Raspberry Pi que Envia Dados Diários por Email
- Construa um Sistema de Monitoramento de Temperatura e Luz Multi-Sensor com Raspberry Pi e DS18B20
- Dominando Controle de Sensores e Atuadores no Raspberry Pi: Acelerômetro, Servo e Streaming de Dados
- Verifique e Calibre Seu Sensor de Umidade para Medições Precisas
- Monitoramento Preciso de Temperatura e Umidade com SHT15 no Windows 10 IoT Core
- Integrando Sensor Termopar com Arduino Portenta H7 usando CI MAX6675
- Projeto DHT11: Sensor Temperatura/Umidade com LEDs Indicadores e Buzzer
- Construa um Pote Inteligente IoT com ESP8266, Arduino e Sensor Ultrassônico – Monitoramento em Tempo Real
- Monitor de Saúde de Rios: Sistema de Qualidade da Água Baseado em Arduino