How Can We Help?
Come installare un broker MQTT cloud su un VPS (Virtual Private Server)
Questa esercitazione è utile per configurare un broker MQTT cloud su un VPS (Virtual Private Server) per testare e distribuire i progetti MQTT.
Con questo tipo di broker MQTT si è indipendenti, la sua disponibilità è del 99,99% e il suo costo è molto accessibile. È inoltre possibile scegliere un Broker MQTT pronto all’uso su Internet o un‘applicazione Android come MQTT Broker (per i test). |
Testate il nostro broker MQTT
Prima di iniziare, potete testare il nostro broker MQTT con un uptime del 99,99% (disponibilità)
- Installate sul vostro PC Widnows un client MQTT: MQTT Explorer
- Impostare una nuova connessione
- Host = aceautomation.ddns.net o 101b7a0.online-server.cloud
- Porta = 1883
- Nome utente = aceautomation
- Password = (Contattateci per ottenerla – Questo server MQTT è un broker di prova per i nostri clienti, non per uso permanente)
- Connettiti!
Selezionare il VPS giusto dal provider di vostra scelta
Il costo di un VPS è di circa 1€ – 4€ /mese. Potete aprire un account con Ionos e selezionare il cloud hosting VPS.
- Linux (Debian o simile)
- CPU: 1 vCore o più, RAM: 0,5 Go o più, SSD: 10 Go o più
Politiche del firewall
Tramite la Dashboard del VPS, aggiungere la porta TCP 1883 per il broker MQTT
Le altre porte sono presenti per impostazione predefinita. La porta TCP 22 è necessaria per l’accesso SSH. Le altre non sono utilizzate.
Connettersi al server VPS tramite SSH
Per connettersi è possibile utilizzare PuTTY come client SSH.
Inserite il vostro nome host o IP e 22 come porta e connettetevi.
Il login (root o admin ?) e la password sono quelli forniti dal vostro provider VPS.
Installare il broker MQTT
Installiamo il broker MQTT di Mosquitto.
Inserite i comandi:
sudo apt update
sudo apt install -y mosquitto
Il servizio broker MQTT si avvierà automaticamente al termine dell’installazione.
Stato dell’installazione di Mosquitto Broker
Digitare i comandi: sudo systemctl status mosquitto
per verificare l’installazione di Mosquitto MQTT: assicurarsi che il pacchetto sia“Caricato: …” e“Attivo: …”
Opzionale: Testare localmente il broker Mosquitto
Se si desidera, è possibile installare anche il client mosquitto. Questo può essere utile per testare il broker MQTT sul server stesso.
- Digitare i comandi:
sudo apt-get install mosquitto-clients
e confermare l’installazione - Aprire una seconda interfaccia a riga di comando (CLI) utilizzando PuTTY
- sottoscrivere un argomento di prova chiamato “mymqtttesttopic” digitando:
mosquitto_sub -h localhost -t mymqtttesttopic
- Quindi, pubblicare un messaggio dall’altro terminale:
mosquitto_pub -h localhost -t mymqtttesttopic -m "Inviato dal mio broker MQTT"
- Se l’installazione funziona correttamente, il terminale di sottoscrizione riceverà il messaggio:
- sottoscrivere un argomento di prova chiamato “mymqtttesttopic” digitando:
Arrestare, eseguire e riavviare Mosquitto
Il servizio broker MQTT si è avviato automaticamente al termine dell’installazione, ma è utile conoscere questi comandi, soprattutto dopo aver modificato il file di configurazione di Mosquitto:
Arrestare il servizio MQTT Server: sudo systemctl stop mosquitto
Avviare il servizio Server MQTT: sudo systemctl start mosquitto
Riavviare il servizio server MQTT: sudo systemctl restart mosquitto
Proteggere il server MQTT
Il server MQTT legge le informazioni di configurazione dal seguente percorso: /etc/mosquitto/conf.d
Creare un file default.conf nella directory:
sudo nano /etc/mosquitto/conf.d/default.conf
Siete nell’editor di testo. Forse vi chiederà la vostra password per l’utente SSH
Incollate le informazioni qui sotto per disabilitare le connessioni anonime e permettere a Mosquitto di leggere credenziali valide dal file /etc/mosquitto/passwd:
allow_anonymous false
file_password /etc/mosquitto/passwd
ascoltatore 1883
- [Ctrl] [X]
- [Y]
- [Invio] per salvare il file in /etc/mosquitto/conf.d/default.conf
Aggiungere una password al broker MQTT
Sostituire USER con il proprio nome utente in questo comando ed eseguirlo:
sudo mosquitto_passwd -c /etc/mosquitto/passwd USER
Verrà richiesta due volte la nuova password
Riavviare il servizio mosquitto per caricare le nuove modifiche:
sudo systemctl restart mosquitto
Collegare un client MQTT
È possibile utilizzare MQTT Explorer come client MQTT
Host = indirizzo IP o nome host DNS
Porta = 1883
Nome utente = USER scelto nella sezione precedente
Password = PASSWORD, anch’essa scelta nella sezione precedente
Aggiungere più utenti senza che possano vedere gli argomenti degli altri
Per ogni utente
Aggiungere l‘utente2:
sudo mosquitto_passwd /etc/mosquitto/passwd user2
Creare il file ACL (Access Control List). Questo file definisce ciò che ogni utente può fare
sudo nano /etc/mosquitto/acl_file
Aggiungere queste righe:
utente user2
argomento lettura scrittura user2/#
Questo permette a ciascun utente di leggere e scrivere solo sugli argomenti che iniziano con il proprio nome utente.
- [Ctrl] [X]
- [Y]
- [Invio] per salvare il file in /etc/mosquitto/acl_file
Modificare la configurazione di Mosquitto
Modificare il file di configurazione principale:
sudo nano /etc/mosquitto/mosquitto.conf
Aggiungere o modificare queste righe:
allow_anonymous false
password_file /etc/mosquitto/passwd_file
acl_file /etc/mosquitto/acl_file
Questo indica a Mosquitto di usare la password e i file ACL e di non consentire l’accesso anonimo.
Riavviare il servizio MQTT Server:
sudo systemctl restart mosquitto