Aprenda a instalar o MQTT (Mosquitto) no seu Raspberry PI
O MQTT é um protocolo de comunicação com baixos requisitos ao nível da largura de banda e também ao nível do hardware, sendo extremamente simples e leve. Este protocolo foi desenvolvido pela IBM e pela Eurotech e tem como finalidade comunicar dados através de redes com pouca largura de banda, com muita latência e, nesse sentido, pouco confiáveis.
Hoje vamos mostrar como podem criar o vosso próprio broker MQTT num Raspberry PI.
Instalação do Broker MQTT Mosquitto no Raspberry PI
Para procederem à instalação do Broker no Raspberry PI devem realizar os seguintes passos:
Passo 1) Aceder ao Raspberry PI via SSH e fazer update e upgrade ao sistema para que todos os repositórios sejam atualizados. Para isso vamos executar os seguintes comandos:
sudo apt-get update sudo apt-get upgrade |
Passo 2) Vamos agora proceder à instalação do Mosquito (MQTT) no Raspberry PI. Para isso usem os seguinte comando:
sudo apt install -y mosquitto mosquitto-clients |
Passo 3) Para ativarem o serviço, executem o seguinte comando:
sudo systemctl enable mosquitto.service |
Segurança no broker
Uma boa pratica é protegermos o nosso sistema contra acessos indevidos, e uma das melhores formas é utilizando credenciais como, por exemplo, um username e uma password.
Antes de começar temos de primeiro parar o serviço do MQTT usando o seguinte comando:
sudo stop mosquitto |
De seguida, criamos um ficheiro que vai ser responsável por guardar as credenciais username e a password que posteriormente ficará encriptada.
sudo mosquitto_passwd -c /etc/mosquitto/passwd <user_name> </user_name> |
Nota: devem trocar no comando anterior
O sistema vai solicitar para indicar uma password duas vezes, portanto, não se esqueça de inserir a mesma duas vezes.
Posto isto, temos de indicar ao sistema onde estão guardadas as credenciais e bloquear o acesso a utilizadores que não se autentiquem.
sudo nano /etc/mosquitto/mosquitto.conf password_file /etc/mosquitto/passwd allow_anonymous false |
- Allow_anonymous false” como descrito anteriormente deverá estar definido como false para restringir acessos anónimos
Por fim, iniciamos o broker de novo com o seguinte comando:
mosquito -c /etc/mosquitto/mosquitto.conf |
Para testar se tudo está a funcionar como planeado devemos executar o seguinte comando:
mosquitto_sub -h localhost -p 1883 -t myTopic -u <username> -P <senha> </senha></username> |
O sistema ficará à escuta no tópico “myTopic” e podemos enviar uma mensagem com um cliente, como por exemplo o MQTT.FX.
Se tudo estiver a funcionar corretamente, deverá visualizar a mensagem que foi enviada no MQTT.FX no terminal do Raspberry PI.
Este artigo tem mais de um ano
Fantástico! Gostei muito!
Poderiam complementar com outro artigo abordando o HomeAssistant ou o Hassbian, parte ficarmos (os leitores) com uma visão mais abrangente do que se pode fazer com um raspi so nível de IoT.
Obrigado
Next 😀
Olá, Pedro,
Boa iniciativa. Por acaso estou neste momento a fazer o meu Trabalho Final de Curso, precisamente com MQTT e Mosquito num RPi. E uma coisa que queriamos, não sabendo se será possivel, é encriptar com um certificado. Eu sei que dá do lado do Raspberry, só não sei ainda como vamos dar a volta do lado do esp8266, que é o que vamos usar.
Alguma ideia?
Obrigado
Sim, também é possível colocar o certificado do lado do esp8266
E possível instalar num rpi (dos primeiros)?
Já tentei, mas obtenho erro no apt-get update
da sim, esse erro e no gerenciador de update, confere se pegou a versão mais atual do Raspibian lite.
‘sudo stop mosquitto’
‘sudo: stop: command not found’
‘sudo systemctl stop mosquitto’ parece funcionar bem.
‘mosquito -c /etc/mosquitto/mosquitto.conf’ não funciona.
‘sudo systemctl start mosquitto’ parece funcionar bem.