GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Cómo configurar el servidor Mosquitto MQTT en Ubuntu 16.04

Mosquitto MQTT Server es un intermediario de mensajes que funciona sobre el protocolo MQTT. MQTT es un protocolo de mensajería ligero que es el estándar ISO para su uso sobre el protocolo TCP/IP. Se utiliza principalmente para comunicarse con dispositivos de Internet de las cosas. Vamos a instalar Mosquitto en un servidor Ubuntu 16.04 y vamos a enviar mensajes desde el software MQTT-spy. Mosquitto es un proyecto de Eclipse y se distribuye bajo licencia EDL. Así que comencemos.

Compilando el servidor Mosquitto MQTT desde la fuente

Para instalar Mosquitto, debemos seguir los siguientes pasos. Primero actualice la lista de fuentes y obtenga las dependencias

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

Agregue el usuario mosquitto, porque por defecto se ejecuta como no root.

adduser mosquitto

Para mayor comodidad, agregaremos derechos de sudo a este usuario, porque haremos el resto del proceso de instalación como este usuario

usermod -aG sudo mosquitto

Luego iniciaremos sesión como este usuario y cd a su directorio de inicio

su mosquitto

cd

A continuación, descargaremos el código fuente de Mosquitto, la última versión es 1.4.9 al momento de escribir, pero le sugiero que consulte la página de descarga para ver si hay una nueva versión. Así que descarguemos la última versión

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

Descomprimámoslo y cd en el directorio

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

Y luego compilamos e instalamos el software

make && sudo make install

Configuración del servidor Mosquitto MQTT

Una vez finalizada la instalación, necesitamos crear una contraseña para el nuevo usuario.

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

Se le pedirá que cree una contraseña para el nuevo usuario mqtt-spy que usaremos para conectarnos desde el cliente. Eso es diferente al usuario de mosquito, que es el usuario del sistema para ejecutar el servidor mosquitto. Necesitamos agregar permisos a este usuario mosquitto a todos los directorios relevantes

sudo mkdir /var/lib/mosquitto/

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

A continuación, debemos crear un archivo de configuración para el servidor Mosquitto MQTT, así que usemos nano para crear un nuevo archivo

sudo nano /etc/mosquitto/mosquitto.conf

Ahí puedes pegar esto

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 configuración parece larga, pero agregamos registros más detallados y un archivo de contraseña.

Después de guardar la configuración, ejecutamos ldconfig

sudo ldconfig

Agreguemos el archivo de unidad systemd

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

Pega esto allí:

[Unit]
Description=Insite MQTT Broker

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

[Install]
WantedBy=multi-user.target

Comencemos el servicio

sudo systemctl start mosquitto.service

Y comprobar su estado

systemctl status mosquitto.service

Para que se inicie en el arranque, haga este comando

sudo systemctl enable mosquitto.service

Configuración de MQTT-Spy y conexión

MQTT-Spy es un cliente basado en Java que usaremos para conectarnos al servidor MQTT. Puede obtenerlo de github, pero tenga en cuenta que debe tener instalado Oracle JDK. NO funciona con OpenJDK. Lo primero que debe hacer después de mirar MQTT-spy es crear una nueva conexión. Agrega la IP de su servidor y el puerto predeterminado 1883.

Luego agrega la contraseña y el nombre de usuario que creamos anteriormente, en mi caso es mqtt-spy y la contraseña es contraseña.

Luego podemos abrir la ventana de terminal en el servidor y escribir el siguiente comando

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

Para explicar las banderas, -v es para verbosidad, -t es para tema seguido de tema entre comillas, -u es para usuario y -P es contraseña. Después de escribir este comando, parecerá que se bloquea, pero luego necesitamos usar MQTT-spy para crear un nuevo tema y enviar un mensaje al mismo tema, como en la imagen a continuación.

Conclusión

Hemos instalado con éxito el servidor Mosquitto MQTT que le permite tener una red de dispositivos IoT conectados a través del protocolo MQTT 3.1. Lo instalamos en Ubuntu en una PC x86 clásica, que es lo que la mayoría de la gente usa para fines de desarrollo y aprendizaje. Para IoT real, querría un dispositivo ARM. Esto es todo por este artículo, gracias por leer.


Ubuntu
  1. Cómo configurar el servidor Rsyslog en Ubuntu 18.04 LTS

  2. Cómo configurar el servidor de correo Zimbra en Ubuntu 16

  3. Cómo configurar el servidor SFTP de MySecureShell en Ubuntu 18.04

  4. Cómo configurar el servidor NTP en Ubuntu y LinuxMint

  5. Configurar el servidor Rsyslog en Ubuntu 20.04 - ¿Cómo hacerlo?

Cómo configurar OpenVPN en Ubuntu Server

Cómo configurar bloques de servidor Nginx en Ubuntu 18.04 LTS

Cómo configurar la última versión de MySQL en Ubuntu 20.04 LTS

Cómo configurar el servidor Git en Ubuntu 20.04

Cómo configurar el servidor Rsyslog en Ubuntu

Cómo configurar el servidor DHCP en Ubuntu