loading

Implementado MQTT com Mosquitto.

Este é o primeiro tutorial sobre IoT publicado pelo HackerLab. O intuito é o de desenvolver uma série de artigos que permitam ao leitor implantar sensores e monitorá-los remotamente.

Iniciaremos com a implementação em um Raspberry Pi (RPi) do Message Queuing Telemetry Transport (MQTT) que é um protocolo de conectividade machine-to-machine (M2M) utilizado na Internet of Things (IoT). MQTT é utilizado para monitoramento remoto onde os dispositivos requerem código enxuto ou em situações onde exista limitação de banda para comunicação.

Este tutorial foi baseado em um post do SwitchDoc Labs.

Publish-Subscribe

É uma arquitetura de comunicação por meio de mensagens onde os dispositivos que controlam os sensores são os publishers e os dispositivos que monitoram os sinais enviados pelos sensores são os subscribers. Os subscribers podem selecionar as mensagens que lhes interessam por meio de filtros. Para que isto ocorra, as mensagens são publicadas por tópicos ou canais lógicos.

Para a implementação completa desta estrutura é necessário um terceiro elemento chamado message broker, que receberá as mensagens dos publishers, as colocará em uma fila e as enviará, filtrada, aos subscribers.

Neste tutoria abordarei a instalação e testes do Mosquitto, um messager broker que implementa o protocolo MQTT. Trata-se de uma aplicação bastante apropriada para a implementacão da "Internet of Things" utilizando sensores, celulares, tablets, Arduino e Raspberry Pi.

Instalando o Mosquitto no RPi

Pelo fato do apt-get do RPi não implementar as versão mais recente do Mosquitto, será necesário preparar o RPi antes da instalação propriamente dita.

sudo wget http://repo.mosquitto.org/debian/mosquitto-repo.gpg.key
sudo apt-key add mosquitto-repo.gpg.key
cd /etc/apt/sources.list.d/
sudo wget http://repo.mosquitto.org/debian/mosquitto-wheezy.list
sudo apt-get update
sudo apt-get install mosquitto

O próximo passo será a instalação das três partes do Mosquitto:

  • mosquitto: o broker MQTT;
  • mosquito-client: command line muito útil para depuração;
  • python-mosquitto: interfaces para a linguagem Python.
sudo apt-get install mosquitto mosquitto-clients python-mosquitto

Em alguns pacotes Linux o servidor MQTT é iniciado logo após a instalação. Como teremos algumas modificações no arquivo de configuração, será necessário parar o servidor.

sudo /etc/init.d/mosquitto stop
Configurando o servidor Mosquitto

Antes de iniciarmos o uso do Mosquitto, será necessário adequar o arquivo de configuração localizado em /etc/mosquitto.

sudo nano /etc/mosquitto/mosquitto.conf

A configuração final do arquivo deverá ser conforme abaixo:

# Place your local configuration in /etc/mosquitto/conf.d/
#
# A full description of the configuration file is at
# /usr/share/doc/mosquitto/examples/mosquitto.conf.example


pid_file /var/run/mosquitto.pid


persistence true
persistence_location /var/lib/mosquitto/


log_dest topic




log_type error
log_type warning
log_type notice
log_type information


connection_messages true
log_timestamp true


include_dir /etc/mosquitto/conf.d
Iniciando o servidor Mosquitto
sudo /etc/init.d/mosquitto start
Testando o servidor Mosquitto

Serão necessários duas janelas de terminais.

No terminal 1 digite:

mosquitto_sub -d -t hello/world

Note que esta mensagem será publicada no canal hello/world.

No terminal 2 digite:

mosquitto_pub -d -t hello/world -m "HackerLab, - Nerd´s Playground"

Note que o subscriber está filtrando as mensagens do canal hello/world.

Após a intridução do comando no terminal 2, observe o terminal 1 com as seguintes mensagens:

~ $ sudo mosquitto_sub -d -t hello/world
Client mosqsub/3014-LightSwarm sending CONNECT
Client mosqsub/3014-LightSwarm received CONNACK
Client mosqsub/3014-LightSwarm sending SUBSCRIBE (Mid: 1, Topic: hello/world, QoS: 0)
Client mosqsub/3014-LightSwarm received SUBACK
Subscribed (mid: 1): 0
Client mosqsub/3014-LightSwarm received PUBLISH (d0, q0, r0, m0, 'hello/world', ... (32 bytes)) HackerLab, - Nerd´s Playground

Pronto! Você instalou um broker Mosquitto com sucesso!

<p>EXCELENTE =]</p>
<p>Obrigado!</p>
<p>https://www.instructables.com/id/Installing-MQTT-BrokerMosquitto-on-Raspberry-Pi/</p>
<p>Cool. Raspberry PI project.</p>
<p>tks</p>

About This Instructable

617views

4favorites

More by durrer:Instalando e testando Mosquitto em Raspberry Pi 
Add instructable to: