Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Manufacturing Technology >> Processo de manufatura

Integração MQTT Perfeita: Sensores NodeMCU DHT22 com Raspberry Pi 3 B+ como Broker

Implemente uma solução IoT escalável que acopla microcontroladores NodeMCU com sensores de temperatura/umidade DHT22 a um Raspberry Pi 3 B+ atuando como broker MQTT. Dados são visualizados em tempo real no IoT MQTT Panel App.

Neste guia, percorro as conexões de hardware, configuração de software e estrutura de código que permitem adicionar ou remover nós de sensores simplesmente editando tópicos MQTT. Quando a rede cai, cada NodeMCU continua publicando localmente; você pode reconectar ao broker depois para recuperar os dados em buffer.

1. Arquitetura de Rede

O layout típico coloca o Raspberry Pi na LAN e cada NodeMCU atrás do mesmo roteador Wi-Fi. Sensores leem valores a cada 10 segundos e publicam em tópicos distintos como /room1/temperature e /room1/humidity. O broker escuta na porta 1883 e encaminha mensagens para o MQTT Panel App.

2. Pré-requisitos de Software

2.1 Bibliotecas Arduino IDE

2.2 Dependências Python do Raspberry Pi

3. Carregando Firmware

Flasheie o NodeMCU com o sketch fornecido, então execute o script Python no Raspberry Pi para assinar os tópicos e armazenar os dados.

4. Visão Geral do Sketch NodeMCU

#include <ESP8266WiFi.h> // biblioteca Wi-Fi ESP8266 #include <PubSubClient.h> // cliente MQTT #include "DHT.h" // biblioteca sensor DHT const char* mqtt_server = "Broker_IP_Address"; // Substitua pelo IP do Pi const char* clientID = "room1"; // Identificador do nó const char* topicT = "/room1/temperature"; // Tópico temperatura const char* topicH = "/room1/humidity"; // Tópico umidade const char* willTopic = "/room1/status"; // Tópico 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 no pino D4 do NodeMCU (GPIO2) void setup() { Serial.begin(9600); Serial.print(swversion); dhtA.begin(); delay(2000); // Permite Wi-Fi estabilizar if (client.connect(clientID, "", "", willTopic, willQoS, willRetain, willMessage, true)) { Serial.println("Conectado ao broker MQTT"); } }

Substitua Broker_IP_Address pelo IP local do Pi (ex: 192.168.1.200). Para encontrá-lo, execute ifconfig wlan0 no Pi.

O willTopic e willMessage permitem que o broker detecte quando um nó desconecta inesperadamente, publicando um status "0" retido que pode ser visualizado no painel.

5. Script Assinante do Raspberry Pi

O script Python cria conexão persistente ao broker, assina os tópicos relevantes e grava dados recebidos em arquivo CSV para análise posterior.

6. Escalando o Sistema

Para adicionar um novo cômodo, simplesmente duplique o sketch, altere clientID, topicT, topicH e willTopic para o novo nome do cômodo, e faça upload para outro NodeMCU. O MQTT Panel App detectará automaticamente os novos tópicos se você os adicionar na UI.

Quando a conectividade de rede é perdida, o NodeMCU continua publicando em sua fila local do broker. Uma vez restaurada a conexão, as mensagens são liberadas, garantindo nenhuma perda de dados.

Siga-me para atualizações, e fique atento para um vídeo demo do sistema completo em ação.

Processo de manufatura

  1. Construa um Sensor de Temperatura Remoto com Raspberry Pi e Python – Guia Passo a Passo
  2. Construa um Sistema de Monitoramento de Temperatura e Luz Multi-Sensor com Raspberry Pi e DS18B20
  3. Dominando Controle de Sensores e Atuadores no Raspberry Pi: Acelerômetro, Servo e Streaming de Dados
  4. Raspberry Pi 3 B+ – Recursos Atualizados, Especificações e Guia de Compra
  5. Construa um Robô com Raspberry Pi e Python: Guia Completo
  6. Galvanoplastia vs. Anodização: Diferenças-Chave para Tratamentos de Superfície Metálica
  7. Metais Ferrosos vs. Não Ferrosos: Diferenças, Usos e Propriedades Essenciais
  8. Brasagem vs Solda Branda: Principais Diferenças Explicadas
  9. Entendendo Furação, Alargamento e Rebaixamento: Diferenças-Chave Explicadas
  10. Plainadora vs Plainadora de Mesa: Principais Diferenças Explicadas