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:
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