Edge Box RPi 200 com Node-RED e Modbus RS485
Introdução
Modbus RTU (Remote Terminal Unit) é um protocolo popular em automação industrial para conectar dispositivos como sensores e controladores por meio de linhas de comunicação serial. Conhecido por sua simplicidade e confiabilidade, é amplamente utilizado no monitoramento e controle de processos industriais. O Edge Box RPi 200, um gateway de IoT industrial baseado em Raspberry Pi, permite a integração de dispositivos Modbus RTU com redes modernas. Usando Node-RED, uma ferramenta de desenvolvimento baseada em fluxos, este wiki orienta os usuários na configuração da comunicação Modbus RTU com o Edge Box RPi 200. Ele destaca aplicações como gerenciamento de energia, monitoramento ambiental e controle de processos. Este recurso oferece uma abordagem rápida e prática para aproveitar o Modbus RTU em diversos cenários industriais.
Primeiros Passos
Antes de iniciar este projeto, você pode precisar preparar seu hardware e software com antecedência, conforme descrito aqui.
Preparação de Hardware
| Edge Box RPi 200 |
|---|
![]() |
Preparação de Software
O Edge Box chega até você com o Raspberry Pi OS pré-instalado. Se você estiver inicializando este dispositivo pela primeira vez, leia nosso Wiki de Primeiros Passos. Preparamos um Guia de Primeiros Passos com Node-RED. É recomendado revisar este guia antes de prosseguir para este wiki. Neste tutorial, vamos conectar o PC host executando o simulador de temperatura ambiente YABE ao Node-RED em execução no Edge Box.
RS485
No Edge Box RPi 200, há uma porta RS-485. Você pode encontrar mais detalhes aqui. Antes de trabalhar no Node-RED, você deve fazer a fiação do dispositivo corretamente.
Instalar Nó Modbus
Para instalar o nó Modbus, inicie o Node-RED no seu Edge Box. Normalmente você pode acessá-lo abrindo um navegador e indo para http://<your-edgebox-ip>:1880. E siga estes passos:
Passo 1. Clique no botão Settings, indicado por um ícone de três traços, localizado no canto superior direito, e selecione Manage palette.
Passo 2. Na aba da paleta, navegue até a aba Install.
Passo 3. Use a barra de busca de nós para encontrar o nó Modbus desejado.
Passo 4. Clique no botão Install ao lado do nó.
Passo 5. Se solicitado, clique no botão Install na janela de aviso em lista suspensa para confirmar a instalação.
Passo 6. Aguarde até que o processo de instalação seja concluído. Quando terminar, o botão Install deve mudar para Installed.

Identificação de Endereços Modbus
Identificar os endereços Modbus corretos é uma etapa crucial. Recomenda-se consultar o datasheet do PLC, dispositivo ou sensor do fabricante para obter informações detalhadas sobre os endereços Modbus, incluindo registradores de entrada, saída e holding.
Aqui vamos usar o sensor de temperatura SHT20 RS485. Usando uma interface de hardware RS485 (com design de proteção contra raios), a camada de protocolo é compatível com o protocolo industrial padrão Modbus-RTU. Quando analisamos o datasheet, podemos encontrar o registrador de entrada que fornece os dados de temperatura e umidade.
Obter Dados do Dispositivo
Nós necessários: Modbus Getter, 2 nós Function, 2 nós Debug, Modbus Response.
Arraste e solte esses nós e conecte-os de acordo com a seguinte forma/ordem.
Configurar Nó Modbus Getter
- Dê um clique duplo no nó Modbus Getter.
- Defina Unit ID como
1. - Defina FC como
FC4: Read Input Registers. - Defina Address como
1(conforme fornecido pelo datasheet do dispositivo de simulação). - Defina Quantity como
2(para ler dois blocos).
Configurar Servidor Modbus
- Na seção Server, clique no botão de lápis para criar uma nova configuração de servidor.
- Dê um nome ao servidor.
- Defina Type como
Serial Expert. - Defina Serial Port como
/dev/ttyACM0. - Defina Serial Type como
RTU. - Mantenha as demais configurações como estão.
Configuração dos Blocos de Função
Usamos o bloco de função para extrair os valores relevantes de temperatura e umidade. A saída do nó getter é um número decimal que contém partes inteira e fracionária, então precisamos ajustá-la usando matemática básica.
Para Temperatura
var tempMsg = { payload: msg.payload[0] / 100.0 };
return tempMsg;
Para Umidade
var humidMsg = { payload: msg.payload[1] / 100.0 };
return humidMsg;
Deploy
Pressione o botão Deploy. Você verá os valores de umidade e temperatura na janela de depuração.

Suporte Técnico & Discussão de Produto
Obrigado por escolher nossos produtos! Estamos aqui para fornecer diferentes tipos de suporte para garantir que sua experiência com nossos produtos seja a mais tranquila possível. Oferecemos vários canais de comunicação para atender a diferentes preferências e necessidades.
