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
Nota: devem trocar no comando anterior pelo username que pretendem.
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 -P
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.