Installazione di Mosquitto su Raspberry Pi (MQTT Broker)
MQTT è il protocollo di scelta per le applicazioni M2M (Machine to Machine) e IoT (Internet of Things). Tuttavia, quando si tratta di selezionare il broker MQTT, il più delle volte si ricorre a broker basati su cloud. Avere un broker MQTT locale può avere molti vantaggi rispetto ai broker basati su cloud, come sicurezza, flessibilità, affidabilità, bassa latenza, efficacia dei costi, migliore implementazione del QoS ecc.
Mosquitto è un progetto iot.eclipse.org open source. Implementa le versioni del protocollo MQTT 3.1 e 3.1.1. Per maggiori dettagli, consultare http://mosquitto.org/.
Raspberry Pi:
Il Raspberry Pi è un sigle board computer sviluppato dalla Raspberry Pi Foundation. Per maggiori dettagli puoi fare riferimento a https://www.raspberrypi.org/
Mosquitto su Raspbery Pi:
Raspberry Pi ha una potenza di calcolo sufficiente per eseguire Mosquitto e funzionare come un broker MQTT personale in grado di soddisfare la maggior parte delle nostre esigenze MQTT personali. Quindi andiamo avanti ed esploriamo il processo di installazione, test e disinstallazione.
Di cosa abbiamo bisogno:
- Un Raspberry Pi con il sistema operativo Raspbian
- Una connessione via Ethernet o WiFi connessa ad internet
Installazione di Mosquitto (MQTT Broker):
accedere in SSH al Raspberry Pi e creare una nuova directory per i file temporanei
mkdir mosquitto
cd mosquitto
Importare la chiave di firma del pacchetto repository
wget http://repo.mosquitto.org/debian/mosquitto-repo.gpg.key
sudo apt-key add mosquitto-repo.gpg.key
Rendere la repository disponibile per apt
cd /etc/apt/sources.list.d/
sudo wget http://repo.mosquitto.org/debian/mosquitto-stretch.list
Installazione di Mosquitto MQTT Broker
sudo apt-get install mosquitto
Controlliamo lo stato del servizio Mosquitto, processo e porta predefinita (1883)
service mosquitto status
ps -ef | grep mosq
netstat -tln | grep 1883
se vediamo il servizio Mosquitto in esecuzione ed è in ascolto sulla porta TCP 1883, hai un broker MQTT funzionale.
Test Mosquitto Broker MQTT con client MQTT
Per i test è possibile utilizzare un qualsiasi client MQTT. Tuttavia, se sul tuo computer è installato Python 2.7, puoi provarlo con i seguenti script Python di esempio. Per eseguire questi script, è necessario che sul computer sia installato Paho MQTT Client. Puoi installarlo con il comando pip
pip install paho-mqtt
Una volta installata la Libreria client Paho, è possibile scaricare ed eseguire i seguenti script Python (non dimenticare di cambiare l’indirizzo IP “MQTT_BROKER”)
Disinstallazione di Mosquitto MQTT Broker:
Per disinstallare Mosquitto puoi utilizzare i seguenti comandi:
sudo apt-get purge mosquitto
Se invece vuoi rimuovere completamente Mosquitto con tutti le configurazioni associate, utilizza il comando seguente:
sudo apt-get --purge remove mosquitto
[…] un precedente articolo avevo descritto come integrarlo nativamente su un Raspberry, ma in questo articolo andremo ad […]
se invece volessi cambiare la porta 1883 ?
Ciao,
per modificare la porta di comunicazione per MQTT (di default 1883) devi editare il file
/etc/mosquitto/mosquitto.conf
e sostituire la voceport 1883
conport 1900
(nel caso volessi impostare la porta TCP 1900)