MQTT x NODE RED

Olá, em uma comunicação device com a plataforma, como por exemplo ESP (placa para prototipagem) ou um CLP, necessário usar MQTT e Nodered para cominação?
Pode explicar como fazer uma comunicação de ESP e um CLP de forma simples com a Plataforma Wnology e publicar um dashboard de forma simples?

Olá Renato!

Para o ESP32 ou mesmo um ESP8266, é possível utilizar todas as bibliotecas disponíveis para o Arduino.
Recomendo utilizar as bibliotecas:

  • De Ethernet via wi-fi (para iniciar a conexão)
  • De Mqtt para enviar os dados à WEGnology.
  • De JSON para já criar os payloads otimizados para a WEGnology.

Segue um exemplo de conexão e publicação que está na linguagem do Arduino, que pode ser aberta na IDE do Arduino e carregada em um ESP:

MODELO_ESP32_WEGNOLOGY.zip (2.0 KB)

Para o exemplo acima, precisa importar as três bibliotecas:
#include <ArduinoJson.h>
#include <WiFi.h>
#include <PubSubClient.h>

Ou seja, você embarca estas funções direto no ESP na linguagem padrão.
Também existe a possibilidade de programar em Python, fica ao seu critério.

Não postei o passo a passo para preparar a interface de programação para o ESP, caso use a IDE do Arduino ou da Espressif mesmo. Considero que este ambiente já é de conhecimento prévio.

Mas teste as bibliotecas que citei acima.
Com as duas, você já pode ler algum valor em seu microcontrolador e publicar.

Se você for ler um CLP e publicar para a Plataforma, você estará criando um Gateway.
Isto é possível aplicando as bibliotecas de Modbus, por exemplo.

Resumindo, a cada nova função agregada, vai sendo incorporada uma biblioteca nova encontrada facilmente na internet.

Boa tarde Sr. Alexandre
Obrigado pelo retorno

Se você for ler um CLP e publicar para a Plataforma, você estará criando um Gateway.
Isto é possível aplicando as bibliotecas de Modbus, por exemplo.
Esta parte eu não entendi muito bem, você quer dizer ler o CLP com o ESP?
Ou ler o CLP e publicar para a plataforma? que seria a outra duvida que você já respondeu?

Outro ponto, para publicar para plataforma e mostrar em um dashboard e necessário criar payload em JSON para enviar para o servidor MQTT?
Pelo que entendi no código que enviou.

Muito obrigado pela ajuda.

Olá Sr. Renato!

O que comentei é que, quando você criar um equipamento que leia algum protocolo, por exemplo modbus, e transfere os dados lidos para a plataforma, estará criando um “gateway”.
Para isto, além das bibliotecas que eu citei você precisa usar a biblioteca Modbus para adicionar a funcionalidade ao seu código no ESP ou Arduino.

Conforme ilustração na nossa página de gateways:

Gateway WEG GT100 ETH

Referente ao payload em JSON ou não, trata-se de uma opção do usuário.
Porém, caso os dados vierem em formato JSON, podemos enviar mais variáveis consumindo a mesma quantidade de payloads.

Por exemplo, neste tópico nao usamos JSON, utilizamos o formato “crú” (RAW Format).

https://forums.app.wnology.io/t/configuracao-e-testes-de-mqtt-client/59/6