Marcio Cunha

Cómo monitorear racks de servidores con ESP32 y MQTT

Aprenda a construir un sistema de telemetría ambiental para racks de servidores usando microcontroladores ESP32, sensores DHT22 y el protocolo MQTT.

Marcio Cunha•5 min
También disponible en:PortuguêsEnglish
Resumen
  • La elección entre sensores DHT22 y DS18B20 depende directamente de la necesidad de medir humedad relativa o solo la temperatura puntual en los racks.
  • El protocolo MQTT opera de forma ligera y eficiente en redes locales, ideal para enviar lecturas frecuentes de temperatura sin congestionar la infraestructura.
  • Los microcontroladores ESP32 ofrecen conectividad Wi-Fi integrada y bajo costo para centralizar datos ambientales de múltiples gabinetes de servidores.
  • Integrar la telemetría con sistemas de supervisión permite crear alertas automáticas antes de que el sobrecalentamiento dañe los equipos de red.
  • Cuidado con la alimentación eléctrica y el aislamiento físico evitan lecturas falsas y garantizan la estabilidad continua del monitoreo.

Por qué monitorear la temperatura del rack de TI

Mantener los servidores en el rango ideal de temperatura es una de las tareas más críticas en la administración de infraestructura. Cuando el aire acondicionado falla o el flujo de aire de un rack se bloquea, los componentes internos sufren un estrés térmico severo, reduciendo drásticamente la vida útil de los discos duros y procesadores. En la práctica, esto significa que un pequeño descuido en la refrigeración puede resultar en paradas no planeadas y pérdida de datos valiosos. Para evitar sorpresas desagradables, contar con un sistema de alerta temprana se ha vuelto indispensable, ya sea en centros de datos corporativos o en pequeños homelabs residenciales.

La buena noticia es que no necesita gastar una fortuna en soluciones propietarias y cerradas para resolver este problema. Con componentes electrónicos accesibles, es totalmente viable crear una red propia de sensores ambientales. Este enfoque descentralizado permite esparcir puntos de medición exactamente donde el calor se acumula, como en la parte superior trasera de los gabinetes, donde el aire caliente expulsado por los servidores suele quedar atrapado.

Eligiendo los sensores y la arquitectura de red

El corazón de nuestro sistema de físico monitoreo es el microcontrolador ESP32, un chip compacto que cuenta con conectividad Wi-Fi y Bluetooth integrada por un precio sumamente bajo. Él será el encargado de leer las magnitudes físicas del ambiente y transmitirlas a través de la red local. Para recopilar los datos de temperatura, tenemos dos opciones principales en el mercado: el DHT22 y el DS18B20. El DHT22 mide tanto la temperatura como la humedad relativa del aire, mientras que el DS18B20 se enfoca exclusivamente en la temperatura, pero ofrece la gran ventaja de encontrarse en sondas impermeables con cable largo.

Para la comunicación entre los microcontroladores y el servidor central, adoptamos el protocolo MQTT. Se trata de un sistema de mensajería extremadamente ligero, diseñado específicamente para dispositivos IoT (Internet de las Cosas) que conversan entre sí mediante el modelo de publicación y suscripción. En la práctica, el ESP32 actúa como un publicador que envía lecturas periódicas a un intermediario llamado broker MQTT, mientras que los sistemas de supervisión y paneles gráficos escuchan estos temas para dibujar gráficos en tiempo real. Si desea comprender más sobre esta dinámica de intercambio de mensajes, vale la pena consultar la guía sobre cómo usar MQTT para integrar sensores industriales en servidores, que profundiza en la lógica de tópicos y retención de paquetes.

Montando el circuito y programando el ESP32

El ensamblaje físico del prototipo requiere pocos componentes y soldadura básica. Si nota inestabilidades de señal o caídas constantes en la red inalámbrica, se recomienda revisar las orientaciones del artículo sobre cómo lidiar con el ESP32 perdiendo Wi-Fi y reconectar con MQTT seguro para garantizar resiliencia ante fallas de conexión. El código siguiente demuestra la lógica esencial para conectar el ESP32 al Wi-Fi, leer el sensor DHT22 y publicar el JSON resultante en el broker MQTT local.

#include <WiFi.h>
#include <PubSubClient.h>
#include <DHT.h>

const char* ssid = "TuRedWiFi";
const char* password = "TuContrasenaWiFi";
const char* mqtt_server = "192.168.1.100";

#define DHTPIN 4
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);

WiFiClient espClient;
PubSubClient client(espClient);

void setup() {
Serial.begin(115200);
dht.begin();
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
client.setServer(mqtt_server, 1883);
}

void loop() {
if (!client.connected()) {
while (!client.connected()) {
client.connect("ESP32RackClient");
delay(5000);
}
}
client.loop();

float h = dht.readHumidity();
float t = dht.readTemperature();

if (!isnan(h) && !isnan(t)) {
String payload = "{\"temperatura\": " + String(t) + ", \"humedad\": " + String(h) + "}";
client.publish("telemetria/rack1/ambiente", payload.c_str());
}
delay(10000);
}

Integrando los datos con sistemas de supervisión

Con los datos circulando mediante MQTT en la red local, el siguiente paso es almacenarlos y mostrarlos en un panel visual amigable. Plataformas como Home Assistant, Node-RED o Grafana se comunican de forma nativa con el protocolo MQTT, permitiendo transformar números crudos en paneles coloridos y alertas sonoras o visuales. Cuando el sensor detecta que la temperatura superó un límite seguro, por ejemplo, el sistema de supervisión puede disparar un mensaje en Telegram o una alarma sonora para el equipo de guardia.

Además, si está operando equipos de alta potencia o fuentes de alimentación que exigen cuidados adicionales en el banco de trabajo y mediciones analógicas precisas, consulte las recomendaciones descritas en el artículo sobre cómo probar componentes de banco y diagnosticar fallas de hardware. Mantener la integridad física de la fuente que alimenta el ESP32 evita reinicios indeseados y garantiza que el monitoreo del rack funcione las 24 horas del día sin interrupciones.

Buenas prácticas de instalación y operación continua

Instalar sensores en un entorno lleno de cables de energía y gabinetes metálicos exige especial atención a la interferencia electromagnética. Procure mantener el cableado de los sensores alejado de líneas de alta corriente eléctrica para evitar ruidos que puedan corromper las lecturas de temperatura. Si utiliza cables largos para el sensor DS18B20, el uso de resistencias de pull-up adecuadas y cables blindados marca toda la diferencia para mantener la estabilidad de la señal digital.

Otro punto crítico es la redundancia de la infraestructura de monitoreo. Como el broker MQTT y el panel de visualización corren en servidores locales, asegúrese de que estos servicios estén configurados para reiniciarse automáticamente en caso de un corte eléctrico. Con una arquitectura bien planificada, el sistema autónomo con ESP32 se transforma en una centinela confiable y de bajo costo para proteger sus servidores contra sobrecalentamientos catastróficos.