Protocolo MQTT na Raspberry Pi com Node Red

Nesse artigo vamos aprender a instalar o protocolo MQTT na Raspberry utilizando o sistema operacional Raspbian, e fazer suas configurações de comunicação via Node Red.

 

Continuaremos nosso estudo de combinar todo o poder da plataforma Node Red com a Raspberry para leitura de sensores e acionamento de relés e motores seguindo o que discutimos no primeiro artigo aqui no Embarcados.

 

Caso queiram conhecer mais sobre o protocolo MQTT, seus níveis de segurança e resposta, recomendo a leitura do artigo do Marcelo barros também aqui no Embarcados.

 

Passo 1: Instalando MQTT na Raspberry

 

Antes de qualquer coisa, precisamos fazer a instalação do MQTT. Para isso, abra o terminal Linux na rasp e faça a atualização dos pacotes utilizando os comandos:

 

Em seguida vamos fazer a instalação do MQTT-Broker e MQTT Client com os comandos:

 

Após terminar a instalação, para testar se o MQTT está funcionando corretamente abra dois terminais em um deles digite o comando:

 

Esse terminal ficará escutando tudo que chegar por MQTT da máquina no topic /teste.

 

No segundo terminal, vamos enviar as mensagens com o comando:

 

No campo mensagem, digite o texto que gostaria de enviar após o envio, note que será recebida no primeiro terminal que foi aberto.

 

Passo 2: Instalando MQTT no Node Red

 

Inicie seu Node Red em sua raspberry e entre no ambiente de desenvolvimento.

Protocolo MQTT na Raspberry Pi com Node Red

 

Para fazer a instalação dos nodes do MQTT entre em Ferramentas ao lado do "Deploy" e selecione a opção "Manage Palete".

 

Na opção install pesquise por mqtt-broker e clique em install. Com isso os nodes do MQTT serão instalados.

 

Passo 3: Teste interno do MQTT no Node Red

 

Para se fazer um Pub, ou enviar uma mensagem, você precisará de um node de output do MQTT e algo que injete essa mensagem nele. No exemplo usaremos o node de inject configurado em String para enviar um texto via MQTT.

 

No node do MQTT a primeira coisa que precisamos fazer é configurar um servidor ou broker, para isso basta clicar no símbolo de um lápis e digitar localhost na porta 1883 como no exemplo abaixo.

 

 

Em security é possível configurar um Username e password dessa comunicação para garantir a segurança no dado que esta sendo enviado.

 

Caso queira utilizar um Servidor web ou outro servidor interno, insira a rota deste servidor na porta configurada, por padrão a porta do MQTT é a 1883.

 

Para receber o dado, utilize um Node In do MQTT.

 

Para configurar o Node In do MQTT siga os mesmos passos no Node Out, apenas escutando o mesmo servidor, porta e topic. Caso tenha configurado o security no node output, não esqueça de colocar as informações de credenciais Username e Password.

 

Quando fizer o Deploy, ambos os nodes apresentarão o texto de Connected. Caso não aconteça, verifique as informações configuradas e se nossa rasp está com acesso à rede.

 

Observações: Pode ser que seu roteador ou provedor de internet tenha portas de tráfego que não são por padrão bloqueadas. Confira esses acessos antes de iniciar um projeto com MQTT.

 

Passo 4: Utilizando os Nodes do Raspberry com MQTT

 

Exemplo para leitura de sensor digital

 

Exemplo para leitura de sensor PWM

 

Exemplo para acionamento de pinos I/O

 

Exemplo para acionamento de pinos I/O interno ao Node Red

 

Com isso podemos receber e enviar mensagens via protocolo MQTT e ainda seguir com acionamentos ou leituras de pinos GPIO.

 

Agradecimento especial a Matheus Marabesi que me ensinou muito o conceito e utilização prática do MQTT configurando tanto em terminal quanto no próprio Node Red.

 

Nos sigam nas redes sociais para ficar por dentro das novidades do Node Red.

 

Things Hacker Team

facebook.com/ThingsHackerTeam

instagram.com/tht.br

 

NodeRed-Brasil

facebook.com/NodeREDBrasil/

instagram.com/noderedbrasil/

twitter.com/noderedbrasil

 

Me sigam também nas redes Sociais.

 

Fernando Veiga

linkedin.com/in/pfveiga7

facebook.com/fernando.veiga.3950

instagram.com/pfveiga7

 

Saiba mais

 

Curso grátis online de Node.js para iniciantes

Trabalhando com Arduino, Node.js e Angular: Aplicação com sensores

Acessando GPIOs da Raspberry Pi 3 por meio de um servidor web embarcado (node.js, express e wiringpi-node)

NEWSLETTER

Receba os melhores conteúdos sobre sistemas eletrônicos embarcados, dicas, tutoriais e promoções.

Obrigado! Sua inscrição foi um sucesso.

Ops, algo deu errado. Por favor tente novamente.

Licença Creative Commons Esta obra está licenciada com uma Licença Creative Commons Atribuição-CompartilhaIgual 4.0 Internacional.

Fernando Veiga
Fernando veiga, Coordenador do Things Hacker Team, professor de Tecnologia apaixonado por astronomia e Física. A 8 anos lecionando para crianças e adolescentes novas formas de ver o mundo através das inovações constantes.

Deixe um comentário

avatar
 
  Notificações  
Notificar