190 lines
4.7 KiB
Markdown
190 lines
4.7 KiB
Markdown
# 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`:
|
|
```c
|
|
// #define DEVICE_TYPE_RELAY /* ← Comente isso */
|
|
#define DEVICE_TYPE_TEMP_SENSOR /* ← Descomente isso */
|
|
```
|
|
|
|
### 4️⃣ Compilar e Gravar
|
|
```bash
|
|
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
|
|
|
|
1. Conecte DHT11
|
|
2. Grave firmware
|
|
3. 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:**
|
|
1. Sopre no sensor → Umidade aumenta
|
|
2. Aperte o sensor → Temperatura aumenta
|
|
3. Compare com termômetro ambiente
|
|
|
|
### Teste 3: Zigbee Funcionando?
|
|
**Objetivo:** Verificar integração Zigbee
|
|
|
|
1. Parear com coordenador ZHA
|
|
2. Verificar entidade no Home Assistant
|
|
3. 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
|
|
```yaml
|
|
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
|
|
```yaml
|
|
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
|
|
```yaml
|
|
# 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](ARCHITECTURE.md) seção "Como Adicionar Novo Dispositivo"
|
|
|
|
## 🎯 Próximo Passo
|
|
|
|
Agora que o DHT11 funciona, você pode:
|
|
|
|
1. **Adicionar umidade ao Zigbee** (cluster 0x0405)
|
|
2. **Criar dispositivo combo** (relé + sensor)
|
|
3. **Implementar sensor de porta** (GPIO 5 com reed switch)
|
|
|
|
Veja guias completos:
|
|
- [DHT11_GUIDE.md](DHT11_GUIDE.md) - Guia completo
|
|
- [ARCHITECTURE.md](ARCHITECTURE.md) - Arquitetura modular
|