Instalando E Testando Mosquitto Em Raspberry Pi


Introduction:

Instalando E Testando Mosquitto Em Raspberry Pi

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 remotamete.

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 existe 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 menssagens 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 message 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!




Comments

Add a Comment

Sign in to comment.