GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come configurare il server Mosquitto MQTT su Ubuntu 16.04

Mosquitto MQTT Server è un broker di messaggi che funziona tramite il protocollo MQTT. MQTT è un protocollo di messaggistica leggero che è lo standard ISO per l'uso in aggiunta al protocollo TCP/IP. Viene utilizzato principalmente per comunicare con i dispositivi Internet of Things. Installeremo Mosquitto su un server Ubuntu 16.04 e invieremo messaggi dal software spia MQTT. Mosquitto è un progetto Eclipse ed è distribuito sotto licenza EDL. Allora iniziamo.

Compilazione del server Mosquitto MQTT dalla sorgente

Per installare mosquitto dobbiamo eseguire i seguenti passaggi. Primo aggiornamento delle fonti e ottenere le dipendenze

apt update
apt-get install build-essential libwrap0-dev libssl-dev libc-ares-dev uuid-dev xsltproc

Aggiungi l'utente mosquitto, perché per impostazione predefinita viene eseguito come non root.

adduser mosquitto

Per comodità aggiungeremo i diritti sudo a questo utente, perché faremo il resto del processo di installazione come questo utente

usermod -aG sudo mosquitto

Quindi faremo il login come questo utente e cd nella sua home directory

su mosquitto

cd

Successivamente scaricheremo il codice sorgente di Mosquitto, l'ultima versione è 1.4.9 al momento della scrittura, ma ti suggerisco di controllare la pagina di download per vedere se c'è una nuova versione. Quindi, scarichiamo l'ultima versione

wget https://mosquitto.org/files/source/mosquitto-1.4.9.tar.gz

Decomprimilo e cd nella directory

tar xvzf mosquitto-1.4.9.tar.gz
cd mosquitto-1.4.9/

E poi compiliamo e installiamo il software

make && sudo make install

Configurazione del server Mosquitto MQTT

Al termine dell'installazione, è necessario creare la password per il nuovo utente.

sudo mosquitto_passwd -c /etc/mosquitto/pwfile mqtt-spy

Ti verrà richiesto di creare la password per il nuovo utente mqtt-spy che utilizzeremo per connetterci dal client. Questo è diverso dall'utente zanzara, che è l'utente di sistema per l'esecuzione del server mosquitto. Dobbiamo aggiungere i permessi a questo utente mosquitto a tutte le directory rilevanti

sudo mkdir /var/lib/mosquitto/

sudo chown -R mosquitto:mosquitto /var/lib/mosquitto/

Successivamente dobbiamo creare un file di configurazione per Mosquitto MQTT Server, quindi utilizziamo nano per creare un nuovo file

sudo nano /etc/mosquitto/mosquitto.conf

Lì puoi incollarlo

persistence true
persistence_location /var/lib/mosquitto/
persistence_file mosquitto.db
log_dest syslog
log_dest stdout
log_dest topic
log_type error
log_type warning
log_type notice
log_type information
connection_messages true
log_timestamp true
allow_anonymous false
password_file /etc/mosquitto/pwfile

La configurazione sembra lunga, ma abbiamo aggiunto log e file password più dettagliati.

Dopo aver salvato la configurazione, eseguiamo ldconfig

sudo ldconfig

Aggiungiamo il file dell'unità systemd

sudo nano /etc/systemd/system/mosquitto.service

Incollalo lì:

[Unit]
Description=Insite MQTT Broker

[Service]
ExecStart=/usr/local/sbin/mosquitto -c /etc/mosquitto/mosquitto.conf
Restart=always

[Install]
WantedBy=multi-user.target

Iniziamo il servizio

sudo systemctl start mosquitto.service

E controlla il suo stato

systemctl status mosquitto.service

Per farlo partire all'avvio, esegui questo comando

sudo systemctl enable mosquitto.service

Configurazione di MQTT-Spy e connessione

MQTT-Spy è un client basato su Java che useremo per connetterci al server MQTT. Puoi ottenerlo da github ma tieni presente che devi avere installato Oracle JDK. NON funziona con OpenJDK. La prima cosa da fare dopo aver fissato MQTT-spy è creare una nuova connessione. Aggiungi l'IP del tuo server e la porta predefinita 1883.

Quindi aggiungi la password e il nome utente che abbiamo creato in precedenza, nel mio caso è mqtt-spy e la password è password.

Quindi possiamo aprire la finestra del terminale sul server e digitare il seguente comando

mosquitto_sub -v -t 'linoxide/topic' -u mqtt-spy -P password

Per spiegare i flag, -v è per verbosità, -t è per argomento seguito da argomento tra virgolette, -u è per utente e -P è password. Dopo aver digitato questo comando sembrerà che si blocchi, ma poi dobbiamo usare MQTT-spy per creare un nuovo argomento e inviare un messaggio allo stesso argomento, come nell'immagine qui sotto.

Conclusione

Abbiamo installato con successo il server Mosquitto MQTT che ti consente di avere una rete di dispositivi IoT connessi tramite il protocollo MQTT 3.1. L'abbiamo installato su Ubuntu su un classico PC x86, che è ciò che la maggior parte delle persone usa per scopi di sviluppo e apprendimento. Per l'IoT reale vorresti un dispositivo ARM. Questo è tutto per questo articolo grazie per la lettura.


Ubuntu
  1. Come configurare il server Rsyslog su Ubuntu 18.04 LTS

  2. Come configurare Zimbra Mail Server su Ubuntu 16

  3. Come configurare il server SFTP MySecureShell su Ubuntu 18.04

  4. Come configurare il server NTP su Ubuntu e LinuxMint

  5. Imposta il server Rsyslog su Ubuntu 20.04 - Come farlo?

Come configurare OpenVPN su Ubuntu Server

Come configurare i blocchi del server Nginx in Ubuntu 18.04 LTS

Come configurare l'ultimo MySQL su Ubuntu 20.04 LTS

Come configurare Git Server su Ubuntu 20.04

Come configurare il server Rsyslog su Ubuntu

Come configurare il server DHCP su Ubuntu