Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Technology >> Proceso de manufactura

Integración MQTT fluida: sensores NodeMCU DHT22 con Raspberry Pi 3 B+ como broker

Despliegue una solución IoT escalable que acopla microcontroladores NodeMCU con sensores de temperatura/humedad DHT22 a una Raspberry Pi 3 B+ actuando como broker MQTT. Los datos se visualizan en tiempo real en la IoT MQTT Panel App.

En esta guía recorro las conexiones de hardware, configuración de software y estructura de código que le permite añadir o quitar nodos de sensor simplemente editando temas MQTT. Cuando la red falla, cada NodeMCU sigue publicando localmente; luego puede reconectar al broker para recuperar los datos almacenados en búfer.

1. Arquitectura de red

El diseño típico coloca la Raspberry Pi en la LAN y cada NodeMCU detrás del mismo router Wi‑Fi. Los sensores leen valores cada 10 segundos y publican en temas distintos como /room1/temperature y /room1/humidity. El broker escucha en el puerto 1883 y reenvía mensajes a la MQTT Panel App.

2. Requisitos previos de software

2.1 Librerías para Arduino IDE

2.2 Dependencias Python en Raspberry Pi

3. Carga del firmware

Flashee el NodeMCU con el sketch proporcionado, luego ejecute el script Python en la Raspberry Pi para suscribirse a los temas y almacenar los datos.

4. Resumen del sketch NodeMCU

#include <ESP8266WiFi.h> // Librería Wi‑Fi ESP8266
#include <PubSubClient.h> // Cliente MQTT
#include "DHT.h" // Librería sensor DHT
const char* mqtt_server = "Broker_IP_Address"; // Reemplace con IP de la Pi
const char* clientID = "room1"; // Identificador del nodo
const char* topicT = "/room1/temperature"; // Tema temperatura
const char* topicH = "/room1/humidity"; // Tema humedad
const char* willTopic = "/room1/status"; // Tema will
const char* willMessage = "0"; // 0 = desconectado
int willQoS = 0;
boolean willRetain = true;
int counter = 0;
const char* swversion = "1.0";
WiFiClient wifiClient;
PubSubClient client(mqtt_server, 1883, wifiClient);
DHT dhtA(2, DHT22); // DHT22 en pin D4 (GPIO2) de NodeMCU
void setup() {
  Serial.begin(9600);
  Serial.print(swversion);
  dhtA.begin();
  delay(2000); // Permitir que Wi‑Fi se asiente
  if (client.connect(clientID, "", "", willTopic, willQoS, willRetain, willMessage, true)) {
    Serial.println("Conectado al broker MQTT");
  }
}

Reemplace Broker_IP_Address con la IP local de la Pi (ej. 192.168.1.200). Para encontrarla, ejecute ifconfig wlan0 en la Pi.

El willTopic y willMessage permiten al broker detectar cuando un nodo se desconecta inesperadamente, publicando un estado «0» retenido que puede visualizarse en el panel.

5. Script suscriptor en Raspberry Pi

El script Python crea una conexión persistente al broker, se suscribe a los temas relevantes y escribe los datos entrantes en un archivo CSV para análisis posterior.

6. Escalado del sistema

Para añadir una nueva habitación, simplemente duplique el sketch, cambie clientID, topicT, topicH y willTopic al nuevo nombre de habitación, y suba a otro NodeMCU. La MQTT Panel App detectará automáticamente los nuevos temas si los añade en la UI.

Cuando se pierde la conectividad de red, el NodeMCU sigue publicando en su cola local del broker. Una vez restaurada la conexión, los mensajes se vacían, asegurando que no haya pérdida de datos.

Sígame para actualizaciones, y manténganse atentos a un vídeo demo del sistema completo en acción.

Proceso de manufactura

  1. Construya un sensor de temperatura remoto con Raspberry Pi y Python – Guía paso a paso
  2. Construya un Sistema de Monitorización de Temperatura y Luz Multi‑Sensor con Raspberry Pi y DS18B20
  3. Control de sensores y actuadores con Raspberry Pi: acelerómetro, servo y streaming de datos
  4. Raspberry Pi 3 B+ – Características Actualizadas, Especificaciones y Guía de Compra
  5. Construya un robot con Raspberry Pi y Python: Guía completa
  6. Electrodepositado vs. Anodizado: Diferencias clave para tratamientos superficiales metálicos
  7. Metales Ferrosos vs. No Ferrosos: Diferencias Clave, Usos y Propiedades
  8. Brazing vs. Soldadura Blanda: Diferencias Clave Explicadas
  9. Diferencias entre Taladrado, Mandrinado y Escariado: Guía Clave
  10. Cepilladora vs. Plaina: Diferencias Clave Explicadas
  11. Bombas Centrífugas vs. Alternativas: Diferencias Clave y Aplicaciones