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