community italiana di domotica personale
 
Installare e configurare il broker MQTT “Mosquitto” su Raspberry Pi OS

Installare e configurare il broker MQTT “Mosquitto” su Raspberry Pi OS

Scopi della guida
  • Installare e configurare il broker MQTT Mosquitto
  • Livello di difficoltà: basso
Concetti affrontati:
  • installazione e configurazione software
Componenti software utilizzate:
Prerequisiti
Dispositivi fisici utilizzati:
GUIDA maggiormente indicata per:

Tutti gli ambienti

NOTE E DISCLAIMER
  • qualsiasi eventuale modifica agli impianti domestici dev'essere progettata e realizzata SOLO da personale qualificato;
  • qualsiasi modifica non prevista attuata in proprio è a propria responsabilità personale nonché a proprio rischio e pericolo (i contenuti della presenta pagina hanno infatti puro scopo didattico) e fa decadere garanzia, omologazioni e certificazioni di qualità; dei dispositivi interessati;
  • tutte le tecniche descritte si intendono applicate a software e firmware aggiornati alle ultime versioni disponibili;
  • gli articoli di inDomus sono totalmente indipendenti e non sponsorizzati. Se mai questo cambiasse, verrà segnalato chiaramente sulle pagine oggetto di sponsorizzazione;
  • questa pagina è materialmente scritta e manutenuta da più individui: non ci si aspetti né si pretenda un supporto personale. In caso di difficoltà, chiedere supporto alla community sul nostro forum o sulla nostra chat;
  • se hai bisogno di orientarti, c'è la mappa.
Revisione guida: 3.0

Abstract

Per qualsiasi implementazione domotica che preveda l’utilizzo del protocollo Message Queue Telemetry Transport (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.

In questa guida, a differenza di quella che usa un container Docker su Raspberry Pi OS, utilizzeremo un approccio diverso ovvero quello di adottare Eclipse Mosquitto come applicativo server su Raspberry Pi OS. Solitamente questo approccio viene seguito da chi preferisce utilizzare questo tipo di installazione più tradizionale piuttosto che usare il più moderno Docker.

Procedimento

Installazione

Una volta collegati via ssh al proprio Raspberry (utilizzando l’utenza “pi”) ed eseguire i seguenti comandi:

wget -O- http://repo.mosquitto.org/debian/mosquitto-repo.gpg.key | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/mosquitto-repo.gpg
sudo wget https://repo.mosquitto.org/debian/mosquitto-bullseye.list -O /etc/apt/sources.list.d/mosquitto-bullseye.list
sudo apt-get update
sudo apt-get install mosquitto mosquitto-clients -y

Al termine, Mosquitto sarà stato installato.

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 /run/mosquitto/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

allow_anonymous false
password_file /etc/mosquitto/passwords

log_dest file /var/log/mosquitto/mosquitto.log
include_dir /etc/mosquitto/conf.d
listener 1883

Uscire e salvare (control/command+x, yes, invio).

Impostare la password e avviare

Ora è necessario definire un file che contenga la password relativa all’utenza d’accesso al servizio. Come nome utente utilizzeremo “mqtt_user“, nomeutente il quale ovviamente può essere personalizzato.

Eseguire dunque i seguenti comandi:

cd /etc/mosquitto
sudo mosquitto_passwd -c passwords mqtt_user

Inserire la password scelta e premere invio.
Infine, effettuare l’abilitazione e l’avvio del servizio tramite i comandi:

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

Configurazioni dispositivi e risoluzione problemi

Si consiglia la lettura attenta della guida dedicata alla configurazione dei componenti MQTT nella propria domotica.
Per risolvere problemi legati alle comunicazioni MQTT, si consiglia di leggere quest’altra guida.

Questa pagina è redatta, manutenuta e aggiornata dallo staff di inDomus, un gruppo di persone molto diverse tra loro che trovi, per domande e supporto, sul forum e sulla chat del sito. Alcuni link sono taggati in qualità di affiliati Amazon e riceviamo un compenso dagli acquisti idonei, utile al sostenimento del sito, ma le nostre recensioni sono tutte indipendenti e non sponsorizzate. Se ti sei perso, a tua disposizione c'è la mappa.