Icon for EMQXIcon for Node-RED

EMQX and Node-RED

Integrates withCurated

Overview

EMQX and Node-RED are complementary tools commonly used together in IoT and IIoT deployments. EMQX serves as the high-performance MQTT broker, while Node-RED provides low-code visual programming for data processing and integration.

Common Architecture

Devices → MQTT → EMQX → Node-RED → [Databases, APIs, Dashboards]
              ↓
         (Other consumers)

Integration Patterns

1. EMQX → Node-RED (Most Common)

  • Node-RED subscribes to EMQX topics
  • Processes/transforms messages visually
  • Routes to databases, APIs, or alerts

2. Node-RED → EMQX

  • Node-RED publishes commands to devices
  • Acts as a control plane interface
  • Schedules device actions

3. Bidirectional

  • Full-duplex communication
  • Device telemetry in, commands out
  • State management

Use Cases

  • Smart Manufacturing: Collect sensor data via EMQX, process in Node-RED, store in InfluxDB
  • Building Automation: HVAC control with EMQX for messaging, Node-RED for logic
  • Agriculture: Soil sensor monitoring with alerting rules in Node-RED
  • Prototyping: Rapid IoT proof-of-concepts before production deployment

Configuration

In Node-RED, use the mqtt-in node:

  • Server: EMQX broker address
  • Port: 1883 (or 8883 for TLS)
  • Topic: Subscribe pattern (e.g., sensors/+/temperature)

When to Use This Stack

This combination excels when:

  • You need high-scale MQTT (10K+ devices) → EMQX
  • You want visual programming → Node-RED
  • You need rapid prototyping → Both
  • You have diverse integration targets → Node-RED nodes

Limitations

  • Node-RED becomes a bottleneck at very high message rates (>1000 msg/s)
  • Single-node Node-RED has no HA; consider clustering or alternative for critical systems
  • Flow-based programming can become unwieldy for complex logic