Node-RED como Stack IoT
Node-RED no es un “stack” en el sentido tradicional — es una sola herramienta que puede cumplir varios roles del pipeline IoT simultáneamente: recolector de datos, lógica de procesamiento, dashboard y broker de mensajes, todo en un mismo contenedor Docker.
[Node-RED] │ ├─ Recibe datos MQTT (reemplaza a Telegraf) ├─ Procesa y transforma datos (reemplaza a Kapacitor parcialmente) ├─ Muestra dashboards en tiempo real (reemplaza a Grafana para casos simples) └─ Puede escribir a InfluxDB (se integra con TIG cuando crece)¿Qué es Node-RED?
Sección titulada «¿Qué es Node-RED?»Node-RED es una herramienta de programación visual basada en flujos (flow-based programming) desarrollada originalmente por IBM y ahora mantenida por la Fundación OpenJS. Su editor visual corre en el navegador y permite construir lógica de integración de datos arrastrando y conectando nodos sin escribir código.
Cada “nodo” hace una tarea específica:
| Tipo de nodo | Ejemplos | Función |
|---|---|---|
| Entrada | mqtt in, http in, inject, file in | Recibir datos |
| Procesamiento | function, switch, change, json | Transformar datos |
| Salida | mqtt out, http request, debug, influxdb out | Enviar datos |
| Dashboard | ui-gauge, ui-chart, ui-text, ui-button | Mostrar datos |
Ecosistema de Dashboard 2.0
Sección titulada «Ecosistema de Dashboard 2.0»El dashboard oficial para Node-RED es FlowFuse Dashboard 2.0 (@flowfuse/node-red-dashboard), que provee widgets modernos y reactivos:
- Gauge: indicador circular de valor actual
- Chart: gráfica de líneas con historial en memoria
- Text: valor numérico o texto con formato
- Button: botón para disparar acciones en los flujos
- Slider / Switch: controles de entrada del usuario
- Table: tabla dinámica con datos
- Notification: mensajes de alerta en la UI
Todo se configura visualmente, sin escribir HTML ni CSS.
Un flujo típico de sensor IoT
Sección titulada «Un flujo típico de sensor IoT»[mqtt in] ← suscrito a "sensores/temperatura" │ ▼[json] ← parsea el payload JSON │ ▼[switch] ← si value > 35, ruta de alerta │ si value <= 35, ruta normal ├─── normal ──→ [ui-gauge] + [ui-chart] │ └─── alerta ──→ [change] ← construye mensaje │ ▼ [http request] ← POST a webhook de Telegram/SlackTodo esto sin escribir una sola línea de código — solo nodos y conexiones.
Ventajas de Node-RED como stack IoT
Sección titulada «Ventajas de Node-RED como stack IoT»- Tiempo de puesta en marcha mínimo: dashboard en vivo en menos de 20 minutos desde cero
- Un solo servicio Docker: reduce la complejidad operativa a un contenedor
- Sin archivos de configuración: toda la configuración es en la UI del navegador
- Curva de aprendizaje muy suave: si puedes usar PowerPoint, puedes usar Node-RED
- Flexibilidad extrema: con nodos de función (JavaScript) puedes hacer prácticamente cualquier transformación
- Más de 4.000 nodos de comunidad: integraciones con Home Assistant, bases de datos, APIs, hardware (GPIO, I2C, serial)
- Ruta de crecimiento natural: cuando necesitas persistencia, agregas InfluxDB; cuando necesitas mejor visualización, agregas Grafana
- Excelente para prototipos: permite validar ideas de monitoreo en minutos
- Comunidad enorme: especialmente activa en IoT y automatización del hogar
Desventajas de Node-RED como stack IoT
Sección titulada «Desventajas de Node-RED como stack IoT»- Sin persistencia de datos por defecto: los datos del dashboard viven en memoria; un reinicio borra el historial de gráficas
- No escala para grandes volúmenes: para miles de métricas por segundo, InfluxDB es más eficiente
- Flujos complejos se vuelven difíciles de mantener: los flujos muy grandes en el editor visual pueden ser difíciles de leer y depurar
- JavaScript en nodos function: aunque evita código para lo básico, las transformaciones avanzadas requieren JS
- Alertas limitadas: las alertas nativas son más básicas que las de Grafana o Kapacitor
- No es una base de datos: no tiene capacidades de consulta histórica nativa (necesita InfluxDB para eso)
- RBAC limitado en versión vanilla: solo 2 niveles de acceso sin FlowFuse (ver guía de seguridad)
Node-RED solo vs Node-RED + InfluxDB + Grafana
Sección titulada «Node-RED solo vs Node-RED + InfluxDB + Grafana»| Capacidad | Node-RED solo | Node-RED + InfluxDB + Grafana |
|---|---|---|
| Visualización en tiempo real | ✅ Dashboard 2.0 | ✅ Grafana |
| Historial de datos | ❌ (se pierde al reiniciar) | ✅ InfluxDB |
| Consultas históricas | ❌ | ✅ Flux / InfluxQL |
| Dashboards avanzados | 🟡 Básico | ✅ Grafana completo |
| Alertas | 🟡 Básico (nodos) | ✅ Grafana alerts |
| Servicios Docker | 1 | 3–4 |
| Dificultad | 🟢 Muy fácil | 🟡 Moderado |
¿Cuándo usar Node-RED como stack principal?
Sección titulada «¿Cuándo usar Node-RED como stack principal?»Node-RED es ideal cuando:
- Estás aprendiendo IoT y quieres resultados rápidos
- El proyecto es un prototipo o prueba de concepto
- No necesitas historial de datos (monitoreo “ahora mismo”)
- El equipo no tiene experiencia con bases de datos ni Docker
- Quieres integrar múltiples APIs y servicios sin escribir código
- El proyecto de automatización del hogar (Home Assistant, sensores domésticos)
Migra a TIG o TICK cuando:
- Necesitas guardar datos por más de una sesión
- Tienes más de 5–10 sensores enviando datos frecuentemente
- Necesitas dashboards compartidos con múltiples usuarios con roles diferentes
- Requieres alertas complejas con condiciones y escalamiento
Tutorial
Sección titulada «Tutorial»Aprende a levantar Node-RED con un broker MQTT paso a paso en el Tutorial Node-RED + Mosquitto.