Este post tem o intuito de mostrar um pouco da implementação do serviço de mensagens MQTT e a sua utilização pelo o daemon Mosquitto para gerencia do protocolo e suas aplicações com IoT.
O Mosquitto é um servidor de mensagens MQTT (Message Queuing Telemetry Transport) de código aberto que pode ser usado para enviar e receber mensagens MQTT em um tópico específico. Ele é comumente usado em aplicativos IoT (Internet das Coisas) e em sistemas de monitoramento de redes. Aqui estão os passos básicos para instalar e configurar o Mosquitto em um sistema operacional Linux:
Instale o Mosquitto usando o gerenciador de pacotes do seu sistema operacional. Por exemplo, no Ubuntu, você pode usar o comando sudo apt-get install mosquitto.
Depois de instalar o Mosquitto, você pode iniciá-lo usando o comando mosquitto. O servidor estará disponível na porta padrão 1883.
Para acessar o Mosquitto, você pode usar o cliente de linha de comando mosquitto_sub para se inscrever em um tópico e o cliente mosquitto_pub para publicar mensagens em um tópico. Por exemplo, para se inscrever em um tópico chamado “test”, você pode usar o comando mosquitto_sub -h localhost -t test.
Você também pode configurar o Mosquitto para usar um arquivo de configuração. O arquivo de configuração padrão é o mosquitto.conf, que fica no diretório /etc/mosquitto/. Este arquivo permite que você configure opções como o nome do servidor, a porta em que o servidor está escutando e as credenciais de autenticação dos usuários.
Depois de editar o arquivo de configuração, reinicie o Mosquitto para que as alterações tenham efeito usando o comando sudo systemctl restart mosquitto.
Configurando autenticação
Para configurar a autenticação no Mosquitto, você pode usar um arquivo de usuários, que especifica os usuários e senhas permitidos no servidor. Para habilitar a autenticação com um arquivo de usuários, siga estes passos:
Crie um arquivo de usuários usando o comando mosquitto_passwd -c /caminho/para/arquivo/de/usuarios nome_de_usuario. Isso irá criar um arquivo de usuários no caminho especificado e adicionar o usuário especificado a ele. Você pode adicionar mais usuários ao arquivo usando o mesmo comando, sem a opção -c.
Abra o arquivo de configuração do Mosquitto (normalmente localizado em /etc/mosquitto/mosquitto.conf) e adicione a seguinte linha: allow_anonymous false. Isso desabilitará a autenticação anônima, o que significa que todos os usuários precisarão fornecer um nome de usuário e senha válidos para se conectar ao servidor.
Adicione as seguintes linhas para especificar o arquivo de usuários e a localização do arquivo de senhas criptografadas:
password_file /caminho/para/arquivo/de/usuarios
allow_anonymous false
Salve o arquivo de configuração e reinicie o Mosquitto para que as alterações tenham efeito usando o comando sudo systemctl restart mosquitto.
Agora, todos os usuários precisarão fornecer um nome de usuário e senha válidos para se conectar ao servidor do Mosquitto. Você pode usar o comando mosquitto_pub e mosquitto_sub com as opções -u e -P para fornecer as credenciais de autenticação quando enviar ou receber mensagens.