Scopi della guida:
Concetti affrontati:
|
Componenti software utilizzate:Prerequisiti:
Dispositivi fisici utilizzati:
|
GUIDA maggiormente indicatA per: |
|
NOTE E DISCLAIMER
|
|
Revisione guida: 1.1 |
Abstract
Per 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
- Installazione
- Verifica dell’effettivo funzionamento
- Apertura del firewall
- Esecuzione manuale
- Configurazione dispositivi e risoluzione problemi
Installazione
L’installazione di Mosquitto su Windows non è particolarmente complessa(anzi), non fosse che per farlo funzionare è necessario effettuare la copia manuale di alcuni file presso la cartella di destinazione dell’installazione del software.
Mosquitto su Windows gira come “servizio”, è particolarmente leggero e non inficia in alcun modo le prestazione complessive della macchina, specialmente su macchine recenti.
Innanzitutto, cominciamo con il download relativo al pacchetto d’installazione per windows. Scaricare l’ultima “binary version – Cygwin” per Windows da questo indirizzo: https://mosquitto.org/download/
Al termine del download, eseguire l’installer lasciando tutte le impostazioni di default.
Appuntarsi la directory di installazione del software, solitamente “C:\Mosquitto“.
Al termine dell’installazione verrà visualizzato il seguente errore:
Non c’è da preoccuparsi, è (purtroppo) NORMALE.
OpenSSH
Ora è necessario installare OpehnSSH da quale andremo a “rubare” le DLL necessaria all’avvio di Mosquitto.
Scaricare OpenSSH da qui (usale la versione 64bit, se possibile).
Provvedere dunque all’installazione di OpenSSH. Una volta completato, recarsi presso la cartella di installazione di Open SSH e selezionare i seguenti file:
cygcrypto-1.1.0.dll
cyggcc_s-1.dll
cygssl-1.1.0.dll
cygwin1.dll
cygz.dll
libeay32.dll
libssl32.dll
msvcr100.dll
ssleay32.dll
dopodiché copiarli (non spostarli, copiarli) dentro la cartella d’installazione di Mosquitto.
Infine, effettuare il download del file
pthreadVC2.dll
da questo sito: ftp://sources.redhat.com/pub/pthreads-win32/dll-latest/dll/x86/
(tramite mouse/pulsante destro, salva)
e salvarlo direttamente presso il percorso di installazione di Mosquitto.
Installare nuovamente Mosquitto
A questo punto ripetere l’intallazione di Mosquitto, la quale stavolta non segnalerà alcun errore.
Infine, riavviare il computer. Al termine del riavvio, Mosquitto sarà in esecuzione e in ascolto sulla porta 1883.
Verifica dell’effettivo funzionamento
Per verificare se Mosquitto sia in esecuzione è possibile sia verificare presso la lista servizi di Windows sia, tramite prompt dei comandi, eseguire il seguente comando
netstat -na
per elencare quali siano le porte in ascolto.
Se nell’elenco appare la porta 1883, allora Mosquitto è effettivamente in funzione e in ascolto su tale porta:
Apertura firewall
Dopo essesi accertati che Mosquitto sia correttamente in esecuzione, per garantire ai device MQTT presenti sulla propria rete di raggiungere il broker MQTT appena installato è necessario garantire l’accesso a tutte le connessioni in ingresso (a Windows) sulla porta TCP/IP 1883.
Per far ciò è necessario è necessario garantire al file mosquitto.exe (presente nel path di installazione) la presenza sul firewall, con accesso garantito alla porta 1883.
Una guida per effettuare tale impostazione è disponibile qui.
Esecuzione manuale
Oltre all’avvio automatico – come servizio – Mosquitto può anche essere eseguito manualmente. Questo è molto utile per il debug e la verifica di funzionamento.
Per far ciò, è prima necessario fermare il servizio automatico tramite il seguente comando da prompt dei comandi:
net stop mosquitto
dopodiché, per l’esecuzione da prompt dei comandi è sufficiente eseguire il seguente comando:
mosquitto -v
Nb. il parametro “-v” esegue Mosquitto in “verbose mode”, ovvero in modo che ad ogni azione del software corrisponda una voce di log a terminale (utile quando si vuol verificare che i topic MQTT da e per il broker effettivamente arrivino/partano.
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. |