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)

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

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

Internet Das Coisas » Protocolo MQTT na Raspberry Pi com Node Red
Comentários:
Notificações
Notificar
guest
2 Comentários
recentes
antigos mais votados
Inline Feedbacks
View all comments
tiago alexandre batista
tiago alexandre batista
09/10/2020 23:29

poderiam fazer um tutorial de como acionar uma lâmpada em horários definidos usando o node Red, seria bem didático.

Bento João da Silva Neto João
Bento
31/03/2020 12:59

Poderia me informar onde consigo um exemplo de acionamento de cargas?

Talvez você goste:

Séries

Menu