Publicando Dados Industriais na Nuvem AWS Usando N3uron, MQTT e Modbus
Introdução
Na automação industrial, Modbus se destaca como um dos protocolos mais comuns. MQTT surgiu como o principal protocolo para IoT em automação industrial devido a várias características. Seu design leve, eficiência, escalabilidade e suporte a mensagens assíncronas são notáveis. No MQTT, os dispositivos se comunicam apenas quando há um evento a ser relatado, em contraste com verificações de atualização constantes. Essa abordagem orientada a eventos, aliada ao relatório por exceção — enviando dados apenas quando eles se desviam do padrão ou em gatilhos específicos — economiza banda e recursos, otimizando a transmissão de dados para aplicações críticas de IoT.
A poderosa combinação do reComputer R1000 e do N3uron Duo facilita uma gestão eficiente da planta ao oferecer conectividade robusta e recursos de manipulação de dados. Este Wiki enfatiza a importância do Modbus TCP em ambientes industriais, destacando a integração fluida de dispositivos MQTT para aprimorar ainda mais a conectividade.
Pré-requisitos
Hardware
| reComputer R1000 |
|---|
![]() |
Software
Recomendamos fortemente estudar o guia Getting Started with N3uron. Ele oferece informações essenciais sobre como navegar na interface web do N3uron, compreender conceitos como o módulo Web UI e Web Vision, entender o conceito de tags e criar dashboards básicos. Se você ainda não explorou esses fundamentos, é recomendável fazê-lo antes de seguir adiante. Você pode acessar o guia através do link fornecido.
Configurar as definições de Ethernet para Modbus TCP/IP
Como o domínio de IP do seu PLC/Dispositivo é diferente das suas configurações sem fio, talvez seja necessário alterar a configuração de IP manualmente. Para isso,
- Passo 01: Execute o seguinte comando se você estiver usando Bullseye:
sudo nano /etc/dhcpcd.conf
- Passo 02: Em seguida, configure as definições da porta Ethernet de acordo com o domínio de rede do seu PLC/Dispositivo e defina prioridades usando o comando metric. O menor valor de métrica tem a maior prioridade.
- Passo 01: Se você estiver usando o Bookworm OS, pode usar a interface gráfica para clicar no ícone de rede. Nas opções avançadas, escolha "Edit Connections."
- Passo 02: Escolha "Wired Connection 2" (ETH 1) e adicione o endereço, máscara de rede (netmask) e gateway nas definições de IPv4.
Criação e Configuração do Módulo Modbus
Criar uma instância de Módulo na Interface WebUI do N3uron
- Passo 01: No painel de Navegação, selecione Config.
- Passo 02: No painel de Explorer, selecione Modules.
- Passo 03: Clique no menu Model e selecione New Module.
- Passo 04: A instância pode receber qualquer nome, mas para o exemplo usaremos ModbusClient.
- Passo 05: Defina a propriedade Module Type como ModbusClient. Deixe o restante das propriedades com seus valores padrão e clique em Save.
Criação e Configuração de Canal
- Passo 01: No Modbus Client e Model criados, selecione New Channel. Dê ao canal o nome Client.
- Passo 02: Agora, vamos nos comunicar com o PLC usando Modbus TCP. Forneça o endereço IP do PLC e a porta.
Se você estiver usando Modbus RTU, há várias configurações a serem consideradas. Para isso, você precisa fornecer detalhes como porta COM, taxa de transmissão (baud rate) etc. Para mais informações sobre como configurar os protocolos Modbus RTU e TCP no N3uron, consulte o guia fornecido.
- Passo 03: Adicionar um dispositivo: Cada canal pode ter um ou mais dispositivos. Defina um nome para o dispositivo e prossiga com a configuração. Neste caso, o nome do dispositivo é PLC.
- Passo 04: Há algumas configurações que você pode ajustar através desta interface. Você pode encontrar mais detalhes neste link. Porém, neste caso, vamos mantê-las como estão.
Configuração de Tags
- Passo 01: Vá para o WebUI, selecione Config e depois clique em Tag. Na seção Model, clique no menu e escolha New Tag. Dê o nome Q1. Normalmente, Q é usado para indicar a bobina de saída.
- Passo 02: Em seguida, você precisa fazer as seguintes configurações.
- Source : Enabled/Yes
- Module Type : ModbusClient
- ModuleName: ModbusClient
- Config: Device: Client/PLC
- Modbus address: 008931
- Data type: Boolean e Save.
É recomendável consultar o datasheet do fabricante do PLC ou dispositivo em relação aos endereços Modbus. Lá você encontrará detalhes sobre endereços de entrada, saída e holding. De acordo com essas especificações, os ajustes devem ser feitos na linha de endereço Modbus na configuração da tag. Por exemplo, se o fabricante indicar a bobina de saída Q1 como 8193, o endereço deve ser configurado como 008193. Da mesma forma, se a entrada de rede for indicada como 1 e for do tipo bobina, o endereço deve ser definido como 000001.
- Passo 03: Simulação em tempo real
Uma vez conectado ao sistema, você pode visualizar o status em tempo real das bobinas de saída e de entrada.
A interação com o PLC por meio da interface do N3uron requer permissões de acesso adequadas, incluindo capacidades de leitura e escrita.
Criar uma instância de módulo MQTT na Interface WebUI do N3uron
- Passo 01: No painel de Navegação, selecione Config.
- Passo 02: No painel de Explorer, selecione Modules.
- Passo 03: Clique no menu Model e selecione New Module.
- Passo 04: A instância pode receber qualquer nome, mas para o exemplo usaremos MQTT.
- Passo 05: Defina a propriedade Module Type como MqttClient. Deixe o restante das propriedades com seus valores padrão e clique em Save.
Configurar o Módulo MQTT do N3uron
-
Passo 01: No painel Explorer, selecione a instância MQTT que você acabou de criar.
-
Passo 02: Clique no botão do menu Model e selecione New Connection.
-
Passo 03: Dê um nome à New connection. Neste exemplo, ela foi nomeada como MqttClient:
- Destination broker : Custom
- Authentication mode: Password
- Username : Your Broker Username
- Password: Your Broker Password
- Protocol:MQTT
- Broker URL:Broker ip Save configurations
Assinar um Tópico Usando o Módulo MQTT do N3uron
- Passo 01: No painel Model, clique com o botão direito na AWS Connection, selecione New Subscriber e dê um nome. Neste exemplo, usaremos simplesmente Subscriber.
- Passo 02: Clique nele e adicione um nome no campo Topic. Neste exemplo, usamos device/data.
Para testes e experiência prática, fornecemos um código Arduino que pode ser executado no XIAO. Além disso, você precisará inserir suas próprias credenciais nesse código antes de fazer o upload.
-
Passo 03: Defina as seguintes propriedades usando os valores mostrados abaixo, deixando o restante com seus valores padrão:
- Qos: Qos 0.
- Encoding: UTF8
- Compression: None
- Serialization: JSON
- Data parser/Type: MqttClient JSON E Save.
Aqui, utilizamos um analisador de dados configurado para o formato JSON do MQTTClient. O dispositivo XIAO publica dados para o broker nesse formato. Se o seu dispositivo não publicar dados nesse formato específico, você precisará identificar o formato que ele utiliza e criar um trecho de código JavaScript personalizado para tratar esses dispositivos adequadamente. Para orientação adicional, consulte as diretrizes fornecidas.
Criar uma Tag
- Etapa 01: No painel Explorer, selecione Tags.
- Etapa 02: No menu Model, clique com o botão direito no ícone de pasta, selecione New Tag e dê um nome. Neste exemplo, usaremos test.
-
Etapa 03: No painel Configuration, defina as seguintes propriedades usando os valores mostrados abaixo, deixando o restante com seus valores padrão:
- Type: Number.
- Source/Enabled: Yes
- Module Type: MqttClient
- Module name: MQTT
- Config/Subscriber: MqttClient/Subscriber Clique em Save.
- Etapa 04: Simulação em tempo real Uma vez conectado ao sistema, você poderá visualizar o status em tempo real da saída do MQTT Broker.
Bônus: Vamos Publicar o Status da Fábrica com a AWS
Fornecemos instruções passo a passo sobre como conectar a nuvem AWS ao seu dispositivo reComputer R1000. Se você é novo neste wiki, consulte este link.
- Etapa 01: No painel Explorer, selecione a instância MQTT que você acabou de criar.
- Etapa 02: Clique no botão do menu Model e selecione New Connection.
- Etapa 03: Dê um nome à nova conexão. Neste exemplo, ela foi nomeada MqttPublisher.
-
Etapa 04: Configure as propriedades da conexão:
- A: Selecione Amazon Web Services no menu suspenso Destination Broker. Authentication mode será Certificate. Também Client Id é N3uron neste exemplo.
- B: Carregue o Certificate, Private key and CA certificate que você baixou e salvou quando criou o Thing no Console AWS IoT.
- C: No console AWS IoT, no menu à esquerda, vá para Settings e copie o seu Device Data Endpoint. Volte ao N3uron e cole-o no campo Broker URL.
- D: Deixe o restante das propriedades com seus valores padrão e clique em Save.
- Etapa 05: No painel Model, clique com o botão direito na conexão MqttPublisher que você acabou de configurar, selecione New Publisher e dê um nome. Neste exemplo, usaremos simplesmente AWS.
-
Etapa 06: Clique nela e adicione um nome no campo Topic. Neste exemplo, usamos N3uron.
-
Etapa 07: Clique no botão Tag Filter, selecione New Tag Filter e altere o nome padrão. Neste exemplo, usamos TagFilter. Deixe Mode, Path e Regex pattern com seus valores padrão. Com essa configuração, toda tag configurada no N3uron será publicada em nosso Broker AWS.
- Etapa 08: Vá para o console AWS IoT e, no menu à esquerda, selecione MQTT test client. Clique na aba Subscribe to a topic, digite N3uron no filtro Topic para assinar tudo e clique em Subscribe.
Suporte Técnico e Discussão de Produtos
Obrigado por escolher nossos produtos! Estamos aqui para oferecer 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.
