Node-RED #4: Comunicação com o protocolo MQTT

Aprenda a enviar dados de maneira simples através do protocolo de comunicação MQTT

Por Mário Pessanha | 03 de março de 2023

Esta publicação faz parte de uma sequência de publicações onde aprenderemos sobre a ferramenta Node-RED, que utiliza de programação visual para realizar as mais diversas tarefas, falamos mais sobre isso na publicação anterior que você pode acompanhar clicando no link.

Sumário

Introdução

Neste exemplo veremos alguns dos nodes mais utilizados com frequência e desenvolveremos alguns conceitos vistos anteriormente. Com a ajuda do Node-RED receberemos um objeto JSON através do protocolo MQTT.

Este projeto se baseia no node MQTT que fornece uma maneira conveniente de receber dados de um broker MQTT. O protocolo MQTT é um exemplo de sistema de publish/subscribe (chamado de sistema pub/sub) que permite que sensores publiquem (publish) os dados em tópicos, aos quais alguém se inscreve (subscribe) para receber esses dados de forma assíncrona. 

Utilizando o node MQTT

Para utilizar o node MQTT você precisa de acesso a um broker, há alguns servidores MQTT grátis disponível, por exemplo o http://test.mosquitto.org/ ou o que será utilizado neste exemplo, www.hivemq.com utilizando um tópico e o endereço do broker, você pode configurar o node de input mqtt para se inscrever neste tópico fazendo com que ele gere uma nova mensagem sempre que um novo dado for publicado neste tópico. Essa mensagem vai conter informações sobre o dado publicado, incluindo o próprio dado contido no msg.payload e o tópico do broker MQTT contido no msg.topic.

Para começarmos a utilizar o node mqtt, utilizaremos o broker MQTT grátis HiveMQ, juntamente com o seu websocket (disponível em: https://www.hivemq.com/public-mqtt-broker/). Você também pode utilizar qualquer outro broker MQTT que tenha disponível, incluindo o seu próprio, caso tenha instalado.

Clique em Try MQTT Browser client, na tela seguinte conecte o seu server. Na página temos disponíveis algumas informações sobre o broker como:

– Endereço: broker.hivemq.com

– Porta TCP: 1883

– Porta Websocket: 8000

 

Clicando em Try MQTT Browser Client temos acesso ao cliente MQTT para navegador e preencheremos os campos de acordo com os dados da página anterior. No campo host inserimos o endereço do broker: “broker.hivemq.com”, no campo Port, como se trata de um web socket a porta utilizada é a “8000”, porém case esteja configurando em algum outro dispositivo através de TCP a porta será a 1883. Após entrar com esses dados clique em “connect” para estabelecer conexão com o broker.

 
Figura 1- Conexão como broker mqtt através do websocket

Em um novo flow, na área esqueda da tela do Node-RED busque pelo node “mqtt in” em “network” e arraste-o para o flow, e dê um duplo clique para configurar. 

No campo “Server” adicionaremos os dados da imagem acima onde o endereço do server é “broker.hivemq.com” e a porta nesse caso é a “1883”.

Figura 2- node mqtt in - configuração de server

É importante também escolher o tópico onde serão lidas e publicadas as mensagens, neste caso escolhi o tópico “TAR/sensor” mas você pode escolher qualquer nome que faça sentido para sua aplicação.

Agora de volta ao HiveMQ com o servidor já conectado, na área “Publish” preencha o campo Topic com “TAR/sensor” que foi nosso tópico criado e configurado no Node-RED e no campo Message vamos escrever uma mensagem no formato objeto JSON como por exemplo: 

{“analyze”:false, “value”:10} 

(Ao copiar e colar este exemplo pode acontecer do Node-RED não interpretar as aspas, caso aconteça basta reescrevê-las no campo mensagem). 

Figura 3- HiveMQ - Publicação MQTT

Utilizando o node MQTT

De volta a tela do Node-RED ligue o node “mqtt in” ao node “json” (quem tem a função de converter o texto em objeto) e em sequência a um node “debug” em seguida clique em deploy para conferir que a mensagem de nosso sensor simulado foi recebida.

Figura 4- Node-RED - Debug do json recebido

Conclusão

Utilizamos o MQTT um protocolo de comunicação bem difundido em projetos de Internet das Coisas para enviar dados de um sensor simulado no formato JSON para que esses dados possam então ser trabalhados em sua aplicação.

Referência:

https://nodered.org/

Você pode gostar de:

Este post tem um comentário

  1. Heya i’m for the first time here. I found this board and
    I find It really useful & it helped me out much. I hope to
    give something back and help others like you helped me.

Deixe um comentário

CAPTCHA


SIGA NOSSAS REDES SOCIAIS

NOVIDADES DO SITE

A Idelica é a nossa plataforma educacional que tem como objetivo ajudar no desenvolvimento de estudantes, técnicos, engenheiros e profissionais do ambiente industrial. Através de nossos cursos, animações, jogos e comunidade conseguimos fornecer um melhor aprendizado para o aluno.
Com o objetivo de agregar valor à área de “Fluid Power” fornecemos conteúdos de hidráulica, pneumática e mecatrônica incluindo artigos técnicos, tutoriais e vídeos educativos.

FIQUE ATUALIZADO