Volver al blog
Arquitectura·8 min

Monitoreo remoto de sensores con MQTT y dashboard web

Arquitectura y configuración para monitorear sensores de temperatura, humedad y presión en tiempo real usando MQTT y un dashboard web.

KR

Maykol Rey

Monitoreo remoto de sensores con MQTT y dashboard web

Monitoreo remoto de sensores con MQTT y dashboard web

Una de las aplicaciones más comunes de IoT es el monitoreo remoto de variables físicas: temperatura, humedad, presión, niveles, etc. En este artículo veremos cómo diseñar una arquitectura robusta usando MQTT como columna vertebral y un dashboard web para visualización.

Arquitectura propuesta

[Sensores físicos]
      |
[ESP32 / nodo IoT]
      |
   MQTT TLS
      |
[Broker MQTT (Kuska)]
      |
  +----+----+
  |         |
WebSocket  API REST + DB
  |         |
[Dashboard] [Históricos / Apps]

Los beneficios de esta arquitectura:

  • Desacoplamiento total entre sensores y visualización
  • Escalabilidad horizontal agregando más nodos sin tocar el backend
  • Tolerancia a fallos gracias a la naturaleza asíncrona de MQTT

¿Qué sensores usar?

Para un sistema de monitoreo ambiental básico recomiendo:

SensorVariableInterfazPrecio aprox.
DHT22Temp + HumedadOneWire~$5 USD
BME280Temp + Hum + PresiónI2C/SPI~$8 USD
DS18B20TemperaturaOneWire~$3 USD
SHT30Temp + HumedadI2C~$6 USD
Si tu sensor va a estar expuesto a la intemperie, usa carcasas IP65 y sensores con rango industrial (-40°C a 85°C).

Código ESP-IDF de ejemplo

Este fragmento lee un BME280 por I2C y publica los valores cada 30 segundos:

#define TOPIC_TEMP "proyecto/sensor/temperatura"
#define TOPIC_HUM  "proyecto/sensor/humedad"

void publish_sensor_data(void *arg) {
    float temp = bme280_read_temperature();
    float hum = bme280_read_humidity();
    char buf[16];

    snprintf(buf, sizeof(buf), "%.1f", temp);
    esp_mqtt_client_publish(client, TOPIC_TEMP, buf, 0, 1, 0);

    snprintf(buf, sizeof(buf), "%.1f", hum);
    esp_mqtt_client_publish(client, TOPIC_HUM, buf, 0, 1, 0);

    ESP_LOGI(TAG, "Publicado: temp=%.1f hum=%.1f", temp, hum);
}

Visualización en el dashboard

Con Kuska IoT, cada mensaje MQTT queda registrado automáticamente. Puedes:

  1. Ver los últimos valores de cada sensor en el dashboard en tiempo real
  2. Consultar históricos con filtros por fecha y proyecto
  3. Exponer los datos por API REST para integrarlos con sistemas externos

Conclusión

MQTT + un dashboard web es la combinación más efectiva para monitoreo remoto. Con un ESP32 y sensores básicos puedes tener un sistema productivo funcionando en horas, no en semanas. La clave está en elegir los sensores adecuados para tu entorno y definir una estructura de topics clara desde el inicio.