Como publicar dados via MQTT de um device na Plataforma IoT WEGnology

Um dos principais pontos trazidos pelos usuários da Plataforma IoT WEGnology® é como fazer a conexão e publicação de dados via MQTT utilizando a SandBox.

Pensando nisso, trago esse passo a passo para que você possa conectar qualquer dispositivo MQTT no broker da Plataforma IoT WEGnology® para realizar seus testes com dados reais.
Para esse exemplo, irei mostrar como conectar um microcontrolador ESP32, porém podemos utilizá-lo para fazer a conexão de qualquer outro device que opere o protocolo MQTT.

Para conectar um dispositivo MQTT na Plataforma IoT WEGnology® podemos seguir os seguintes passos:

CONFIGURANDO A PLATAFORMA IOT WEGNOLOGY®

  1. Crie seu Device (pode ser do tipo Standalone);
  2. No menu esquerdo, clicando em Access Keys, você irá criar a Chave de Acesso para que seu ESP possa conectar na Plataforma.

image

  1. Clicando em “New Access Key”, marque o campo “Allow only the following devices to connect” e selecione o seu Device, em seguida marque a opção “All topics”.

Nota: Para permitir que qualquer device com essa Access Key tenha acesso, selecione a opção ““Allow all the devices to connect””.

  1. Crie um Workflow do tipo Application Workflow
    • Para aplicarmos um Subscribe em um tópico, vamos utilizar o node “Trigger MQTT" (cor verde), configurando o broker e o tópico que queremos ler:
    • Para aplicarmos um Publish em um tópico, vamos utilizar o node “Output MQTT" (cor laranja), configurando o tópico e o payload que queremos enviar:

A figura abaixo mostra um exemplo de Workflow para Publish e Subscribe MQTT:

CONFIGURANDO O DISPOSITIVO

Dentro do programa do seu dispositivo, faça a chamada das funções da biblioteca MQTT que estiver utilizando para fazer a conexão ao broker da Plataforma IoT WEGnology®:

Você deve alterar os campos de deviceID, accessKey e secret para os valores gerados em sua Access Key

#define clientId  "########"          //Seu deviceID
#define accessKey "########"          //Sua AccessKey
#define secret    "########"            //Seu Secret

const char* broker_MQTT = "broker.app.wnology.io";     //broker WEGnology
int broker _PORT = 1883;                               //porta MQTT

MQTT.client( BROKER_MQTT, BROKER_PORT )
MQTT.connect( clientId, accessKey, secret )

Feitos esses passos, seu dispositivo já será capaz de conectar à Plataforma e enviar e receber dados via MQTT.

Outra forma de publicar dados na plataforma via MQTT é sem o uso de Workflows, dessa forma você pode utilizar o nome dos seus atributos na declaração dos tópicos e enviar um JSON para tais tópicos. Assim esses valores serão atribuídos diretamente aos seus atributos.

Para entender um pouco mais sobre a conexão MQTT na Plataforma IoT WEGnology® lhe convido a acessar o seguinte conteúdo: https://docs.app.wnology.io/mqtt/overview