Se mai vi fosse passato per la mente di utilizzare delle periferiche per la domotica, spulciando i vari articoli vi sarete sicuramente imbattuti nella necessita di disporre di un Brocker per il protocollo MQTT, in questo articolo vedremo come configurare un semplice e funzionale Broker sul nostro Raspberry.

La scelta del software ricade sul Mosquitto-broker ‘server’ ed il suo relativo client.

Installiamo Mosquitto

Come sempre prima di tutto aggiorniamo il nostro Raspberry Pi

sudo apt update

sudo apt install -y mosquitto mosquitto-clients

Configuriamo il broker Mosquitto

Tutte le forme di restrizioni, ad esempio ID client, nome utente / password, argomento ecc., sono implementate sul broker MQTT.

Una volta implementato sul broker queste regole, spetta ai cliente rispettare queste restrizioni al fine di connettersi per inviare messaggi di subscribe o publish

Per configurare il broker Mosquitto dovrai:

  • Crea un file di password
  • Modifica il file conf per forzare l'uso della password.

Creazione del nuovo file di password

Il file della password conterrà il tuo nome utente e la password crittografata. Eseguire il comando seguente per creare e aggiungere un utente a questo file.

sudo mosquitto_passwd -c /etc/mosquitto/passwd [nome_utente]



Quindi, ti verrà chiesta la password due volte, inseriamola.

Ora dobbiamo fornire la posizione del file della password al file di configurazione del broker Mosquitto. Per farlo, apri il file mosquitto.conf usando il seguente comando,

 sudo nano /etc/mosquitto/mosquitto.conf

E aggiungi le seguenti due voci al file mosquitto.conf,

password_file /etc/mosquitto/passwd
allow_anonymous false
 




    

allow_anonymous false” viene utilizzato per impedire ai client senza nome utente e password di connettersi al broker.

Ora non ci resta che abilitare l’attivazione automatica al boot di Mosquitto ed avviare il servizio, digitiamo:

sudo systemctl enable mosquitto.service

Se vogliamo sapere quale versione è stata installata possiamo digitare

mosquitto -v



Ora avvia il broker con il seguente comando,

sudo systemctl start mosquitto.service

Se è necessario verificare l'autenticazione, è possibile utilizzare il comando seguente, (è necessario installare i client mosquitto per farlo)

Testiamo Mosquitto

Vediamo adesso come è possibile pubblicare e ricevere dei messaggi con l’ausilio del terminale utilizzando il client di Mosquitto.

SUBSCRIBE

Per prima cosa, apriamo una nuova finestra del terminale e inseriamo il seguente comando:

mosquitto_sub -d -t mynetbrick

In questo modo, ci siamo iscritti al topic mynetbrick e in questa finestra possiamo visualizzare i messaggi ricevuti.

PUBLISH

Per pubblicare un messaggio sul topic mynetbrick, aprire una seconda finestra del terminale e inviare il comando:

mosquitto_pub -d -t mynetbrick -m "Hello world!"

 

Una volta pubblicato il messaggio, il client sottoscritto al topic mynetbrick, riceverà il messaggio “Hello world!”.