sábado, 2 de setembro de 2017

Instalar MQTT Mosquitto no Raspberry PI


O MQTT, que originalmente era um acrônimo para o Transporte de Telemetria de Filas de Mensagem, é um protocolo de fila de mensagens leve, projetado para pequenos pacotes de dados enviados em alta latência e links de baixa largura de banda. O MQTT é um protocolo bastante simples e é perfeito para os projetos da Internet de Coisas. Também é perfeito para este projeto de sistema de segurança!

A versão do MQTT que uso neste tutorial é chamada Mosquitto. Está disponível via apt , então instalá-lo é bastante fácil. Existem várias etapas na configuração do componente Raspberry Pi do sistema de segurança. Como mencionei, estou usando um Raspberry Pi 3.
As etapas que você precisa seguir são, em um nível alto:
  1. Instale os componentes do mosquitto (MQTT).
  2. Configure o Mosquitto e reinicie o serviço.
  3. Habilitando inicialização automática.

1 - Instale os componentes Mosquitto (MQTT)


Instalar mosquitto é tão fácil quanto executar alguns comandos apt. Primeiro, porém, garantimos que estamos executando a versão mais recente de Jessie e que todo o software está atualizado. Aqui estão os comandos para executar para atualizar o sistema e instalar os componentes mosquitto:
$ sudo apt-get update

$ sudo apt-get upgrade

$ sudo apt-get dist-upgrade

$ sudo apt-get install mosquitto

2 Configure mosquitto e reinicie o serviço


Mosquitto é controlado de duas maneiras. Primeiro, a configuração padrão está em etc/mosquitto/mosquitto.conf . Eu recomendo que você não edite este arquivo e use o segundo mecanismo, que é um arquivo com uma extensão .conf em /etc/mosquitto/conf.d. Crie um outro arquivo /etc/mosquitto/conf.d/mosquitto.conf . Aqui está o arquivo de configuração local que eu recomendo:

# Config file for mosquitto
#
# See mosquitto.conf(5) for more information.

user mosquitto
max_queued_messages 200
message_size_limit 0
allow_zero_length_clientid true
allow_duplicate_messages false

listener 1883
autosave_interval 900
autosave_on_changes false
persistence true
persistence_file mosquitto.db
allow_anonymous true
password_file /etc/mosquitto/passwd

3 Habilitando inicialização no boot


Desabilite o script do init.d.

sudo update-rc.d mosquitto remove
Crie um usuário mosquitto.

$ sudo useradd --system mosquitto
Depois crie o arquivo "/etc/systemd/system/mosquitto.service" com os dados abaixo.
[Unit]
Description=Mosquitto MQTT Broker daemon
ConditionPathExists=/etc/mosquitto/mosquitto.conf
After=network.target
Requires=network.target

[Service] 
Type=forking 
RemainAfterExit=no 
StartLimitInterval=0 
PIDFile=/var/run/mosquitto.pid 
ExecStart=/usr/sbin/mosquitto -c /etc/mosquitto/mosquitto.conf -d 
ExecReload=/bin/kill -HUP $MAINPID 
Restart=on-failure 
RestartSec=2

[Install] 
WantedBy=multi-user.target
Habilite o serviço.
$ sudo systemctl daemon-reload

$ sudo systemctl enable mosquitto.service

$ sudo systemctl restart mosquitto

Referências


  • https://learn.adafruit.com/diy-esp8266-home-security-with-lua-and-mqtt/configuring-mqtt-on-the-raspberry-pi;
  • https://xperimentia.com/2015/08/20/installing-mosquitto-mqtt-broker-on-raspberry-pi-with-websockets/

Nenhum comentário:

Postar um comentário