community italiana di domotica personale
 
Installare e configurare il broker MQTT “Mosquitto” con Docker su Sonoff iHost

Installare e configurare il broker MQTT “Mosquitto” con Docker su Sonoff iHost

SCOPI DELLA GUIDA:
  • Installare e configurare il broker MQTT Eclipse Mosquitto come container Docker su Sonoff iHost
  • Livello di difficoltà: medio/basso
CONCETTI AFFRONTATI:
  • installazione e configurazione software
COMPONENTI SOFTWARE UTILIZZATE:
PREREQUISITI:
  • Sonoff iHost precedentemente configurato e collegato alla rete domestica e, tramite essa, ad Internet
DISPOSITIVI FISICI UTILIZZATI:
GUIDA DEDICATA A utenti:
Sonoff iHost - Square
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: 1.0

Mosquitto + Docker

Abstract

Per qualsiasi implementazione per la propria domotica personale che preveda l’uso 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 Linux Debian di Eclipse Mosquitto, uno dei broker opensource più diffusi.

In questa guida utilizzeremo l’approccio che prevede di adottare un pratico container Docker, il che consente di isolare i processi del server, di essere facilmente aggiornato, gestito e molto altro. Solitamente questo approccio viene seguito da chi preferisce utilizzare questo tipo di astrazione piuttosto che la via più tradizionale che ne prevede l’installazione come servizio del sistema operativo.

Il tutto, a bordo di Sonoff iHost, tramite il motore Docker che esso ospita.

Si parte

Assunti

Si assume che Sonoff iHost sia già operativo, connesso alla rete LAN e, di riflesso, a Internet, e che disponga dell’ultima versione fimware disponibile.

Altresì, si assume che sia stata installata a bordo e formattata una microSD, la quale ospiterà non solo Mosquitto stesso, ma anche i contenuti delle applicazioni che si andranno, nel tempo, a configurare presso iHost. La presente guida è in italiano, quindi si assume di aver installato su iHost un pacchetto linguistico in lingua italiana, per esempio il nostro.

Si assume infine di aver implementato FileBrowser, il quale verrà riconifigurato al fine di modificare i file di configurazione di Mosquitto.

Creazione volume

Prima cosa da fare è creare un volume logico allo scopo di ospitare i file di Mosquitto (database e altro).

Da interfaccia web di sonoff iHost (solitamente raggiungibile via LAN all’indirizzo http://ihost.local), recarsi alla voce di menu “Docker” > “Volume” e poi cliccare su “Crea volume“.

Creare tre distinti volumi così chiamati:

  • mosquitto_config
  • mosquitto_data
  • mosquitto_log

e clicchiamo, per ogni ripetizione, su “Conferma” per crearli.

Attivare accesso FileBrowser

Prima di procedere oltre, è necessario far sì che FileBrowser (il quale, arrivati sin qui, dovrebbe già essere operativo) abbia accesso al volume “config” di Mosquitto, così da poter effettuare modifiche alla sua configurazione.

Per farlo, modificare la configurazione di FileBrowser e aggiungere il volume “mosquitto_config” alla sua configurazione.

Configurazione

A questo punto, tramite FileBrowser (accedendo tramite la sua interfaccia) recarsi presso il folder “mosquitto_config” e creare un file chiamato mosquitto.conf.

Aprilo e copiarvi la seguente configurazione:

persistence true
persistence_location /mosquitto/data/

log_dest file /mosquitto/log/mosquitto.log
log_dest stdout

listener 1883
allow_anonymous true

salvare e uscire.

Istanziare Mosquitto

Arrivati a questo punto è possibile provvedere all’instanziamento di Moquitto, il quale viene eseguito come container Docker tramite istanza specifica.

Recarsi dunque alla voce “Docker” > “Lista degli Add-on” e poi cliccare su “Aggiungi Add-on“.

Nella buca di ricerca inserire “mosquitto“, poi cliccare sulla lente d’ingrandimento:

Sonoff iHost - Mosquitto - Aggiunta immagine

selezionare “eclipse-mosquitto“, poi cliccare su “Aggiungi …“.

Al termine si rientrerà sulla finestra principale degli Add-on inclusi su Sonoff iHost; a questo punto cliccare su “Installare” sul nuovo box dedicato a Eclipse Mosquitto.

Attendere il tempo del download dell’immagine di FileBrowser dal repository ufficiale di Docker, poi procedere oltre.

Vetrina - Offerte del giorno

Avviare il container

Al termine, sempre presso il box di FileBrowser, cliccare su “Avvia“.
Apparirà un box di configurazione, il quale va configurato come segue:

  • Rete: bridge;
  • Porta:
    • Porta Host: 1884 (o una a piacere, ma non la 1883, che è in uso interno a iHost)
    • Porta Add-on: 1883
  • Volume:
    • per “Volume dell’host”, selezionare quello precedemente creato, ovvero “mosquitto_config” e per “Volume dell’Add-on”, impostare “/mosquitto/config“;
    • per “Volume dell’host”, selezionare quello precedemente creato, ovvero “mosquitto_data” e per “Volume dell’Add-on”, impostare “/mosquitto/data“;
    • per “Volume dell’host”, selezionare quello precedemente creato, ovvero “mosquitto_log” e per “Volume dell’Add-on”, impostare “/mosquitto/log“.

Riportiamo l’esempio:

Sonoff iHost - Mosquitto - Configurazione container Docker
configurazione d’esempio.

Al termine della configurazione, cliccare su “Avvia” per avviare il container Docker di Mosquitto.

Uso

A questo punto il broker MQTT Eclipse Mosquitto sarà in esecuzione su Sonoff iHost, pronto a ricevere e riconsegnale comandi e telemetrie dai componenti dotati di supporto MQTT presenti sulla rete.

Ivi incluso Home Assistant (inteso come MQTT client), al quale abbiamo dedicato una guida ad hoc.


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.