4.7 KiB
4.7 KiB
Teste Rápido - DHT11
🚀 Teste de Bancada (5 minutos)
1️⃣ Hardware Necessário
✅ ESP32-C6
✅ DHT11 sensor
✅ Resistor 10kΩ (pull-up)
✅ 3 fios jumper
✅ Breadboard (opcional)
2️⃣ Montagem
ESP32-C6 DHT11
3.3V ────────► VCC (pino 1)
│
GPIO5 ────┬───► DATA (pino 2)
│
10kΩ
│
3.3V
GND ─────────► GND (pino 4)
3️⃣ Ativar Modo Sensor
Edite main/device_config.h:
// #define DEVICE_TYPE_RELAY /* ← Comente isso */
#define DEVICE_TYPE_TEMP_SENSOR /* ← Descomente isso */
4️⃣ Compilar e Gravar
cd /workspaces/bomba-esp
idf.py build flash monitor
5️⃣ Logs Esperados
I (1250) DHT11: DHT11 initialized on GPIO 5
I (1260) DEVICE_REGISTRY: DHT11 sensor task started (update interval: 10000 ms)
I (2260) ESP_ZB_ON_OFF_SWITCH: Start Zigbee stack
...
I (11260) DHT11: Temperature: 23.0°C, Humidity: 65.0%
I (11265) DEVICE_REGISTRY: Sensor updated - Temperature: 23.0°C (Zigbee: 2300), Humidity: 65.0% (Zigbee: 6500)
I (21265) DHT11: Temperature: 23.5°C, Humidity: 64.0%
I (21270) DEVICE_REGISTRY: Sensor updated - Temperature: 23.5°C (Zigbee: 2350), Humidity: 64.0% (Zigbee: 6400)
🧪 Testes de Funcionamento
Teste 1: Sensor Responde?
Objetivo: Verificar comunicação básica
- Conecte DHT11
- Grave firmware
- Observe logs a cada 10 segundos
✅ Sucesso:
I (11260) DHT11: Temperature: XX.X°C, Humidity: XX.X%
❌ Falha - Timeout:
E (11260) DHT11: Timeout waiting for response LOW
→ Verifique conexões e resistor pull-up
Teste 2: Valores Coerentes?
Objetivo: Validar leituras
Temperatura esperada: 15°C a 35°C (ambiente normal) Umidade esperada: 30% a 80% RH
Teste:
- Sopre no sensor → Umidade aumenta
- Aperte o sensor → Temperatura aumenta
- Compare com termômetro ambiente
Teste 3: Zigbee Funcionando?
Objetivo: Verificar integração Zigbee
- Parear com coordenador ZHA
- Verificar entidade no Home Assistant
- Observar atualização a cada 10s
✅ No Home Assistant:
Dispositivo: 0x98a316fffebf43a4
├─ Manufacturer: ESPRESSIF
├─ Model: Zigbee Temperature & Humidity Sensor DHT11
├─ Sensor: Temperature
│ └─ Estado: 23.5°C
└─ Sensor: Humidity
└─ Estado: 64.0%
📊 Exemplo de Automação (Home Assistant)
Alerta de Temperatura Alta
automation:
- alias: "Alerta Temperatura Alta"
trigger:
- platform: numeric_state
entity_id: sensor.temperatura_sala
above: 30
action:
- service: notify.mobile_app
data:
title: "🌡️ Temperatura Alta!"
message: "Sala está em {{ states('sensor.temperatura_sala') }}°C"
Alerta de Umidade Baixa
automation:
- alias: "Alerta Umidade Baixa"
trigger:
- platform: numeric_state
entity_id: sensor.umidade_sala
below: 30
action:
- service: notify.mobile_app
data:
title: "💧 Umidade Baixa!"
message: "Umidade está em {{ states('sensor.umidade_sala') }}%"
Gráfico Combinado
# configuration.yaml
sensor:
- platform: statistics
name: "Temperatura Média Diária"
entity_id: sensor.temperatura_sala
state_characteristic: mean
max_age:
hours: 24
- platform: statistics
name: "Umidade Média Diária"
entity_id: sensor.umidade_sala
state_characteristic: mean
max_age:
hours: 24
🔧 Troubleshooting Rápido
| Sintoma | Causa Provável | Solução |
|---|---|---|
| Sem leitura | DHT11 não conectado | Verifique VCC, GND, DATA |
| Timeout | Falta pull-up | Adicione resistor 10kΩ |
| Valores errados | Cabo longo | Use cabo <30cm |
| Checksum error | Ruído elétrico | Adicione capacitor 100nF |
| Não pareia | Modo errado | Verifique DEVICE_TYPE_TEMP_SENSOR |
📈 Ajuste Fino
Temperatura Muito Estável?
Problema: DHT11 lê apenas inteiros (sem decimal)
Solução: Normal! DHT11 tem precisão limitada
Quer Mais Precisão?
Use sensor melhor:
- DHT22 (±0.5°C, ±2% RH)
- SHT30 (±0.3°C, ±2% RH)
- BME280 (±1°C, pressão também)
Veja ARCHITECTURE.md seção "Como Adicionar Novo Dispositivo"
🎯 Próximo Passo
Agora que o DHT11 funciona, você pode:
- Adicionar umidade ao Zigbee (cluster 0x0405)
- Criar dispositivo combo (relé + sensor)
- Implementar sensor de porta (GPIO 5 com reed switch)
Veja guias completos:
- DHT11_GUIDE.md - Guia completo
- ARCHITECTURE.md - Arquitetura modular