me_yo/docs/tasmota-config.md
2026-05-16 18:12:53 +02:00

6.9 KiB
Raw Permalink Blame History

Configuración de Tasmota

ESP8266 en 192.168.1.42, firmware Tasmota 15.4.0.

Comandos a ejecutar (una sola vez)

Todos se ejecutan desde http://192.168.1.42 → Consola, o vía HTTP API: http://192.168.1.42/cm?cmnd=<COMANDO>

1. Seguridad básica

# Contraseña para la interfaz web
Password <tu_contraseña_web>

# Credenciales MQTT (deben coincidir con .env)
MqttUser esp8266
MqttPassword <MQTT_ESP_PASSWORD del .env>

2. Broker MQTT — apuntar a este ordenador

MqttHost 192.168.1.41
MqttPort 1883

3. Esquema de topics — obligatorio para que las ACLs funcionen

Topic riego/bomba
FullTopic %prefix%/%topic%/

Esto genera:

  • cmnd/riego/bomba/POWER (recibe comandos)
  • stat/riego/bomba/POWER (publica confirmaciones)
  • tele/riego/bomba/SENSOR (publica telemetría)

4. Telemetría cada 30 segundos

TelePeriod 30

5. Estado seguro al arrancar — CRÍTICO

PowerOnState 0

Sin este ajuste, si la bomba estaba encendida y el ESP8266 se reinicia, la bomba arranca automáticamente. Con 0 siempre arranca apagada.

6. Cableado y configuración de GPIOs

Hardware identificado

  • Placa: NodeMCU ESP8266
  • Relé: SunFounder 8 Relay Module (activo en LOW → usar Relay1_i)
  • Sensor: HC-SR04 estándar (5V) → requiere divisor de tensión en Echo

⚠️ Divisor de tensión — OBLIGATORIO para HC-SR04 estándar

El pin Echo del HC-SR04 devuelve 5V pero el ESP8266 soporta máximo 3.3V. Sin el divisor puedes quemar el GPIO o dañar el chip con el tiempo.

El divisor va en el pin Echo → D5 (GPIO14). Trig va directo sin resistencias.

Con tres resistencias de 2.2 kΩ (las dos primeras en paralelo forman 1.1 kΩ):

Punto A                    Punto B
   │                          │
HC-SR04 Echo ──[2.2kΩ]────────┤
                               ├──── D5 (GPIO14) NodeMCU  → 3.33 V ✓
               ──[2.2kΩ]────────┤
                               │
                            [2.2kΩ]
                               │
                              GND
  • Punto A: pin Echo del HC-SR04 + un extremo de cada una de las dos resistencias en paralelo
  • Punto B: el otro extremo de las dos resistencias en paralelo + un extremo de la tercera + cable a D5

Esto reduce 5V → 3.33V: 5V × 2.2kΩ/(1.1kΩ+2.2kΩ) = 3.33V ✓ El pin Trigger (ESP8266 → sensor) va directo: 3.3V es suficiente para activar el HC-SR04.

Esquema de cableado completo

Alimentación mixta:

  • NodeMCU → USB (ordenador o cargador)
  • Relay module + HC-SR04 → fuente externa 5V / 1.5A
USB ──────────────────────── NodeMCU (alimentación + lógica 3.3V)

Fuente 5V/1.5A
├── (+) 5V ──┬── Relay module VCC
│            └── HC-SR04  VCC
└── () GND ─┬── Relay module GND
             ├── HC-SR04  GND
             ├── GND divisor de tensión (extremo inferior R2)
             └── NodeMCU GND  ← ⚠️ OBLIGATORIO aunque NodeMCU va por USB
                                  Sin este cable los GPIOs no funcionan

NodeMCU señales:
  D1 (GPIO5)  ──────────────────────── IN1 relay module (bomba)
  D2 (GPIO4)  ──────────────────────── Trig HC-SR04  (directo, sin resistencias)
  D5 (GPIO14) ──[divisor tensión]───── Echo HC-SR04  (3.3V tras el divisor)

Resistencias disponibles: solo 2.2 kΩ

Con dos resistencias de 2.2 kΩ en paralelo como R1 se obtiene 1.1 kΩ, que con una tercera de 2.2 kΩ como R2 da exactamente 3.33 V:

Echo HC-SR04
     │
  [2.2kΩ]──┐
     │      ├── D5 (GPIO14) NodeMCU   → 3.33 V ✓
  [2.2kΩ]──┘
     │
  [2.2kΩ]
     │
    GND

Si también tienes una resistencia de 1 kΩ úsala como R1 (es más sencillo): R1=1kΩ + R2=2.2kΩ → 3.44 V ✓

Resistencias para el divisor de tensión

Necesitas dos resistencias con una relación R2 ≈ 2 × R1. Cualquiera de estas combinaciones es válida:

R1 R2 Tensión en Echo→ESP Observaciones
1 kΩ 2 kΩ 3.33 V ✓ Combinación ideal
1 kΩ 2.2 kΩ 3.44 V ✓ Muy común en kits
2.2 kΩ 4.7 kΩ 3.40 V ✓ Válida
10 kΩ 20 kΩ 3.33 V ✓ Misma ratio, menor corriente
10 kΩ 22 kΩ 3.44 V ✓ Muy común

Cómo medir con multímetro: selector en Ω (ohmios), puntas en los dos extremos de la resistencia. Las más comunes en kits naranja/amarillo son colores de 4 bandas:

Valor Bandas de color
1 kΩ Marrón Negro Rojo (tolerancia)
2 kΩ Rojo Negro Rojo (tolerancia)
2.2 kΩ Rojo Rojo Rojo (tolerancia)
4.7 kΩ Amarillo Violeta Rojo (tolerancia)
10 kΩ Marrón Negro Naranja (tolerancia)
22 kΩ Rojo Rojo Naranja (tolerancia)

Configuración en Tasmota (interfaz gráfica)

Menú → Configuración → Configurar módulo

Seleccionar en los desplegables:

GPIO Función a seleccionar Nota
GPIO5 Relay_i1 La i es crítica (inverted, SunFounder activo LOW)
GPIO4 SR04 Tri/Tx1 Trig — salida directa sin resistencias
GPIO14 SR04 Ech/Rx1 Echo — entrada con divisor de tensión obligatorio

⚠️ Importante: Trig en GPIO4 (D2) y Echo en GPIO14 (D5), NO al revés. Verificado según documentación oficial Tasmota HC-SR04.

Pulsar Save — el dispositivo reinicia.

Alternativa: comandos por consola

Menú → Consola (o http://192.168.1.42/cm?cmnd=):

Backlog GPIO5 Relay_i 1; GPIO4 SR04Tri 1; GPIO14 SR04Ech 1

Verificar que el sensor funciona

Tras guardar, en la consola de Tasmota:

Status 10

Debe aparecer algo como:

{"StatusSNS":{"Time":"...","SR04":{"Distance":45.2}}}

Si no aparece SR04, el build estándar puede no incluirlo. En ese caso descargar tasmota-sensors.bin:

OtaUrl http://ota.tasmota.com/tasmota/release/tasmota-sensors.bin
Upgrade 1

7. Verificar soporte HC-SR04

⚠️ Tasmota 15.4.0 estándar NO incluye SR04. Hay que instalar tasmota-sensors.bin:

OtaUrl http://ota.tasmota.com/tasmota/release/tasmota-sensors.bin
Upgrade 1

Tras el reinicio, los desplegables de GPIO mostrarán SR04 Tri/Tx y SR04 Ech/Rx.

⚠️ La actualización OTA borra la configuración de GPIOs. Después del upgrade hay que volver a configurar GPIO4, GPIO5 y GPIO14 en Configurar módulo.

Verificar que todo funciona

Tras guardar los cambios, Tasmota reinicia. Comprueba:

# El ESP8266 debe conectar al broker local
curl -s "http://192.168.1.42/cm?cmnd=Status%205" | python3 -m json.tool
# MqttCount debe ser > 0