Come installare e configurare il broker MQTT “Mosquitto” su Raspberry Pi

2 minuti di lettura
Scopi della guida
  • Installare e configurare il broker MQTT Mosquitto
  • Livello di difficoltà: basso
Concetti affrontati:
  • installazione e configurazione software
Componenti software utilizzate:
Prerequisiti
  • Rete Wifi connessa ad Internet
  • Raspberry Pi configurato e collegato alla rete Wifi
Dispositivi fisici utilizzati:
GUIDA maggiormente indicata per:

Tutti gli ambienti

Note e disclaimer
  • qualsiasi modifica all'impianto elettrico dev'essere effettuata da personale qualificato
  • qualsiasi modifica attuata in proprio è a propria responsabilità personale nonché a proprio rischio e pericolo (la presente guida ha puro scopo didattico)
  • qualsiasi modifica attuata in proprio a un dispositivo ne fa decadere la garanzia.
Revisione guida: 1.2

Abstract

Eclipse MosquittoPer qualsiasi implementazione domotica che preveda l’utilizzo del protocollo MQTT, è necessario che sulla rete sia disponibile un broker MQTT, ovvero un “instradatore” dei messaggi generati tramite questo protocollo.
In questa guida affronteremo la procedura di installazione su Raspberry Pi di Eclipse Mosquitto, uno dei broker opensource più diffusi.

Procedimento

  1. Installazione
  2. Configurazione
  3. Configurazione dei dispositivi

1. Installazione

Una volta collegati via ssh al proprio Raspberry (utilizzando l’utenza “pi”), aggiungere il repository del software:

sudo apt-get install mosquitto-clients
sudo wget http://repo.mosquitto.org/debian/mosquitto-repo.gpg.key
sudo apt-key add mosquitto-repo.gpg.key
sudo rm mosquitto-repo.gpg.key

Ora installare la lista dei package necessari per il Raspberry:

cd /etc/apt/sources.list.d/
sudo wget http://repo.mosquitto.org/debian/mosquitto-jessie.list

Aggiornare ora le informazioni di apt-get:

sudo apt-get update

Installare ora alcune librerie aggiuntive, necessarie:

cd ~
wget http://security.debian.org/debian-security/pool/updates/main/o/openssl/libssl1.0.0_1.0.1t-1+deb8u11_armhf.deb
sudo dpkg -i libssl1.0.0_1.0.1t-1+deb8u11_armhf.deb

ATTENZIONE: se il secondo comando ritorna errore, probabilmente il file libssl1.0.0_1.0.1t-1+deb8u11_armhf.deb non esiste più sul repository, perché probabilmente è stato aggiornato dagli sviluppatori.
In tal caso, recarsi presso l’indirizzo del repository

http://security.debian.org/debian-security/pool/updates/main/o/openssl/

e individuare la nuova versione (realisticamente sarà cambiato l’ultimo numero presente nel nome. A questo punto correggere il comando indicando il nuovo nome file. Stessa cosa anche nel secondo comando, il  “sudo dpkg -i”.

A seguire:

wget http://ftp.nz.debian.org/debian/pool/main/libw/libwebsockets/libwebsockets3_1.2.2-1_armhf.deb
sudo dpkg -i libwebsockets3_1.2.2-1_armhf.deb

Infine, installare Mosquitto, mosquitto-clients (client CLI) e python-mosquitto (i binding di linguaggio):

sudo apt-get install mosquitto mosquitto
sudo apt-get install mosquitto mosquitto-clients

2. Configurazione

Eseguire ora i seguenti due comandi:

sudo /etc/init.d/mosquitto stop
sudo nano /etc/mosquitto/mosquitto.conf

dopo aver fermato il servizio, ci troveremo dunque di fronte alla configurazione del nostro broker. Modificarla come segue:

# 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

Uscire e salvare (control/command+x, yes, invio).
Effettuare ora l’abilitazione e l’avvio del servizio tramite il comando:

sudo systemctl enable mosquitto
sudo systemctl start mosquitto

Al riavvio, il broker sarà in esecuzione e risponderà sulla porta 1883 dell’IP assegnato(i) al vostro Raspberry Pi oltre che all’ovvio localhost (127.0.0.1) per eventuali software in esecuzione locale (Homebridge, Home Assistant, Node-RED ecc.).

Configurazione dei dispositivi

A tal proposito si consiglia la lettura attenta della guida dedicata alla configurazione dei componenti MQTT nella propria domotica.

🔻 Clicca QUI per commentare l'articolo. 🔻