Instalando, testando e conhecendo o MQTT no macOS

Eu acredito que quem chegou até aqui, já saiba bastante sobre programação. Então não vou explicar o que é Mosquitto, MQTT e nem Homebrew, a idéia aqui é ser direto e mostrar como deixar as coisas funcionando.

Primeiro, vamos instalar o Homebrew, caso não o tenha feito ainda.

1
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Segundo, vamos instalar o Mosquitto usando o Homebrew.

1
brew install mosquitto

Quando termina a instalação, é mostrado como colocar para iniciar o MQTT server na inicialização do sistema. Simples!

1
ln -sfv /usr/local/opt/mosquitto/*.plist ~/Library/LaunchAgents

Então, precisamos iniciar o Mosquitto, certo? É mamão com açucar!

1
launchctl load /usr/local/Cellar/mosquitto/1.4.10_1/homebrew.mxcl.mosquitto.plist

Legal né? Agora, você pode usar o mosquitto_sub e o mosquitto_pub para brincar e fazer seus testes!

1
mosquitto_sub -t topic/home

1
mosquitto_pub -t topic/home -m "Wowwww padrim, to em casa!"

Opa, mas espera ai! Eu não quero o meu Mosquitto livre pra qualquer um acessar né? Bora colocar senha então!

Antes de mais nada, você precisa definir o mosquitto para não aceitar usuários anônimos, abra o arquivo de configuração usando o editor vim mesmo.

1
sudo vim /usr/local/Cellar/mosquitto/1.4.10_1/etc/mosquitto/mosquitto.conf

E adicione (ou altere) a linha onde está o allow_anonymous para false

1
allow_anonymous false

Se estiver comentado, descomente!
Feito isto reinicie o Mosquitto. Para tal, você pode parar e iniciar novamente o serviço usando os comandos citados no início e no fim deste artigo.

E agora, vamos adicionar um usuário e senha:

1
mosquitto_passwd -c /usr/local/Cellar/mosquitto/1.4.10_1/etc/mosquitto/pwfile USUARIO

Quando você pressionar RETURN/ENTER, ele vai pedir uma senha!
Defina uma senha, confirme e pressione RETURN/ENTER movamente.

E agora você precisa passar o usuário e senha nos seus testes não é mesmo? Simples de novo!

1
mosquitto_sub -t topic/home -u USUARIO -P SENHA

1
mosquitto_pub -t topic/home -m "Noh, agora to protegido!" -u USUARIO -P SENHA

Quer definir o HOST e a PORTA manualmente?

1
mosquitto_sub -t topic/home -h 127.0.0.1 -p 1883

1
mosquitto_pub -t topic/home -m "Wowwww padrim, to em casa!" -h 127.0.0.1 -p 1883

Gosta de Python ou Node.js? Então conheça o pacote paho-mqtt para Python e o MQTT.js para Node.js, esses caras são demais. Tem também para PHP que é bem legal e funciona perfeitamente com a extensão Mosquitto-PHP, eu particularmente uso ele para comunicação com uma API desenvolvida em Laravel.

Cansou de brincar e fazer seus testes? Se quiser, pode finalizar o seu Mosquitto!

1
launchctl unload /usr/local/Cellar/mosquitto/1.4.10_1/homebrew.mxcl.mosquitto.plist

Quer saber mais sobre Mosquitto e MQTT? La no google tem muito material, até o que você não precisa saber e nunca vai usar na sua vida.


Dicas por Gercil Junio - https://gercil.me

Proudly powered by Hexo and Theme by Hacker
© 2020 Faz-B Man