Installare il broker MQTT “Mosquitto” su Windows

2 minuti di lettura
Scopi della guida
  • Installare e configurare il broker MQTT Mosquitto
  • Livello di difficoltà: medio
Concetti affrontati:
  • installazione e configurazione software
Componenti software utilizzate:
Prerequisiti
  • Rete Wifi connessa ad Internet
  • Windows configurato e collegato alla rete Wifi
Dispositivi fisici utilizzati:
  • Un computer con sistema operativo WIndows.
GUIDA maggiormente indicatA per
Windows-200x200
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.

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

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, comincimo 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:

Installazione Mosquitto su WIndows - Errore

Non c’è da preoccuparsi, è (purtroppo) NORMALE.

Installare OpenSSH

Ora è necessario installare OpehnSSH da quale andremo a “rubare” le DLL necessaria all’avvio di Mosquitto.

Scaricare OpenSSH da qui:

Provvedere all’installazione. 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 1833, allora Mosquitto è effettivamente in funzione e in ascolto su tale porta:

netstat -na Mosquitto

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.

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