Como integrar sistemas legados de fábrica com MQTT e Node-RED
Descubra como conectar máquinas antigas de chão de fábrica a dashboards web modernos usando MQTT e Node-RED sem trocar o hardware existente.
Resumo
- Protocolos industriais antigos isolam dados em silos locais que dificultam a leitura remota em tempo real
- O protocolo MQTT funciona como uma central de recados leve que consome pouca banda em redes fabris instáveis
- O Node-RED traduz sinais binários e registradores complexos de CLPs em JSON legível por navegadores web
- O uso correto de fluxos desacoplados evita que falhas na rede de TI derrubem o controle crítico do chão de fábrica
- Dashboards web modernos conseguem exibir o estado das máquinas instantaneamente após a conversão adequada do protocolo
O desafio de conectar máquinas antigas à internet industrial
Quem visita o chão de fábrica de uma indústria tradicional logo percebe que muitas máquinas funcionam perfeitamente há décadas, mas operam em completo isolamento digital. Esses equipamentos costumam usar protocolos proprietários ou padrões antigos, como o Modbus RTU sobre cabos seriais RS-485, que foram criados em uma época em que conectar uma furadeira à internet era ficção científica. Na prática, isso significa que engenheiros e gestores precisam caminhar até o painel físico da máquina para anotar contadores de produção ou verificar códigos de erro, perdendo tempo precioso.
Modernizar esse parque fabril trocando todo o maquinário por modelos novos de última geração é uma alternativa financeiramente inviável para a maioria das empresas. A boa notícia é que a engenharia de automação permite criar uma camada intermediária de software e hardware leve para extrair os dados desses sistemas legados. Assim como tratamos gargalos em servidores em sistemas legados lentos, precisamos planejar a extração de dados industriais calculando o retorno sobre o investimento sem interromper a produção diária.
Entendendo o papel do MQTT na comunicação de chão de fábrica
Para enviar dados de uma máquina isolada para um servidor web na nuvem ou na rede local, precisamos de um protocolo de comunicação adequado para ambientes industriais ruidosos e conexões instáveis. O MQTT, sigla para Message Queuing Telemetry Transport, funciona como um carteiro extremamente eficiente que entrega mensagens usando pouquíssima largura de banda. Ele opera sob o modelo de publicação e assinatura, onde a máquina publica informações em um canal específico e qualquer sistema interessado apenas escuta esse canal sem sobrecarregar o dispositivo de origem.
Diferente de requisições HTTP tradicionais que abrem e fecham conexões o tempo todo gerando lentidão, o MQTT mantém um canal leve e persistente aberto com um intermediário central chamado de broker. Na prática, isso significa que se a rede Wi-Fi da fábrica piscar por alguns segundos, o protocolo gerencia a reconexão automática e garante que os pacotes essenciais de telemetria não se percam no meio do caminho. Essa resiliência lembra a lógica de redes tolerantes a partições, onde a aplicação precisa continuar funcionando mesmo quando o enlace principal sofre instabilidades físicas.
Como estruturar a leitura de CLPs usando o Node-RED
O Node-RED é uma ferramenta de programação visual baseada em blocos conectados por linhas que facilita enormemente a integração de sistemas sem exigir milhares de linhas de código complexo. Desenvolvido originalmente pela IBM, ele roda perfeitamente em pequenos computadores de baixo custo instalados no próprio chão de fábrica, como um Raspberry Pi ou um mini PC industrial. Dentro do Node-RED, podemos instalar pacotes específicos para conversar diretamente com controladores lógicos programáveis, conhecidos como CLPs ou PLCs, que são os cérebros eletrônicos que comandam os motores e sensores das esteiras.
O fluxo de trabalho começa com um bloco de leitura periódica que solicita os registradores de memória do CLP usando portas seriais ou redes Ethernet industriais. Em seguida, transformamos esses números brutos em mensagens estruturadas no formato JSON, que é o padrão universal compreendido por qualquer linguagem de programação web moderna. Para garantir que essa ponte de software não sofra com travamentos de memória ou picos de processamento, muitos arquitetos aplicam boas práticas semelhantes às usadas no ajuste de conexões de banco de dados concorrentes, limitando o volume de requisições simultâneas feitas ao hardware antigo.
Implementando o fluxo de dados do CLP até o painel web
Para colocar a mão na massa e estruturar a coleta de dados de uma linha de montagem, podemos seguir uma sequência lógica de configuração diretamente no ambiente do Node-RED. Essa abordagem garante que a conversão do protocolo industrial aconteça de forma ordenada e segura antes de expor as informações em dashboards visuais para os operadores.
- Instale o Node-RED no servidor local da fábrica e adicione os nós de comunicação industrial compatíveis com o seu CLP, como o nó Modbus TCP.
- Configure o endereço IP da máquina legada e defina os endereços dos registradores de memória que contêm a temperatura atual e o número de peças produzidas.
- Adicione um bloco de função em JavaScript para converter os dados binários brutos em um objeto JSON limpo e legível.
- Conecte esse objeto a um nó de saída MQTT configurado para enviar a mensagem periodicamente para o broker local da rede.
- Crie um painel visual utilizando nós de dashboard ou conecte uma aplicação web externa para escutar o tópico MQTT em tempo real.
O código abaixo exemplifica como uma função simples dentro do Node-RED processa o payload bruto recebido de um registrador industrial e o prepara para publicação:
// Exemplo de script executado dentro de um nó de função no Node-RED
let rawValue = msg.payload;
// O CLP envia a temperatura multiplicada por 10 para evitar casas decimais
let actualTemperature = rawValue[0] / 10.0;
msg.payload = {
machineId: