Mosquitto server

MQTT

MQTT significa MQ Telemetry Transport. Es un protocolo de mensajería de publicación / suscripción, extremadamente simple y liviano, diseñado para dispositivos restringidos y redes de bajo ancho de banda, alta latencia o poco confiables. Los principios de diseño son minimizar el ancho de banda de la red y los requisitos de recursos del dispositivo al mismo tiempo que se intenta garantizar la confiabilidad y cierto grado de garantía de entrega. Estos principios también hacen que el protocolo sea ideal para el emergente mundo de dispositivos conectados "máquina a máquina" (M2M) o "Internet de las cosas", y para aplicaciones móviles donde el ancho de banda y la energía de la batería son muy importantes.[1]

Publish/Subscribe

El protocolo MQTT se basa en el principio de publicar mensajes y suscribirse a temas, o "pub/sub". Varios clientes se conectan a un intermediario y se suscriben a los temas que les interesan. Los clientes también se conectan al intermediario y publican mensajes a los temas. Muchos clientes pueden suscribirse a los mismos temas y hacerlo con la información que deseen. El broker y MQTT actúan como una interfaz simple y común para todo para conectarse. Esto significa que si tiene clientes que envían mensajes suscritos a una base de datos, a Twitter, Cosm o incluso a un simple archivo de texto, entonces se vuelve muy simple agregar nuevos sensores u otra entrada de datos a una base de datos, Twitter, etc.[2]

Topics/Subscriptions

Los mensajes en MQTT se publican sobre temas. No hay necesidad de configurar un tema, es suficiente publicarlo. Los temas se tratan como una jerarquía, utilizando una barra (/) como separador. Esto permite crear arreglos razonables de temas comunes, de la misma manera que un sistema de archivos. Por ejemplo, varias computadoras pueden publicar la información de temperatura de su disco duro en el siguiente tema, con su propia computadora y el nombre del disco duro reemplazado según corresponda:

sensors/COMPUTER_NAME/temperature/HARDDRIVE_NAME

Los clientes pueden recibir mensajes creando suscripciones. Una suscripción puede ser a un tema explícito, en cuyo caso solo se recibirán mensajes a ese tema, o puede incluir comodines. Hay dos comodines disponibles, + o #.

Se puede usar (+) como comodín para un solo nivel de jerarquía. Podría usarse con el tema anterior para obtener información sobre todas las computadoras y discos duros de la siguiente manera:

sensors/+/temperature/+

Como otro ejemplo, para un tema de "a/b/c/d", las siguientes suscripciones de ejemplo coincidirán:

a/b/c/d
+/b/c/d
a/+/c/d

Se puede usar (#) como comodín para todos los niveles restantes de jerarquía. Esto significa que debe ser el personaje final de una suscripción. Con un tema de "a/b/c/d", las siguientes suscripciones de ejemplo coincidirán:

a/b/c/d
#
a/#

Los niveles de tema de longitud cero son válidos, lo que puede conducir a un comportamiento ligeramente no obvio. Por ejemplo, un tema de "a//topic" coincidiría correctamente con una suscripción de "a/+/topic". Del mismo modo, pueden existir niveles de tema de longitud cero al principio y al final de una cadena de tema, por lo que "/a/topic" coincidiría con una suscripción de "+/a/topic", "#" o "/#", y un tema "a/topic/" coincidiría con una suscripción de "a/topic/+" o "a/topic/#".

Arquitectura mqtt

En cuanto a su arquitectura, sigue una topología en estrella, donde existe un nodo central o broker con capacidad para trabajar con un gran número de clientes.

Es precisamente el broker el elemento encargado de gestionar la red y transmitir los mensajes.

Una caracterísitica interesante es la capacidad de MQTT para establecer comunicaciones cifradas lo que aporta a nuestra red una capa extra de seguridad.

Mosquitto

Eclipse Mosquitto es un agente de mensajes de código abierto (con licencia EPL / EDL) que implementa el protocolo MQTT versiones 5.0, 3.1.1 y Mosquitto 3.1. Es liviano y es adecuado para usar en todos los dispositivos, desde computadoras de una sola placa de baja potencia hasta servidores completos.[3]

El protocolo MQTT proporciona un método liviano para llevar a cabo mensajes utilizando un modelo de publicación/suscripción. Esto lo hace adecuado para la mensajería de Internet de las cosas, como con sensores de baja potencia o dispositivos móviles como teléfonos, computadoras integradas o microcontroladores.

El proyecto Mosquitto también proporciona una biblioteca C para implementar clientes MQTT, y los muy populares clientes MQTT de línea de comandos mosquitto_pub y mosquitto_sub.

¿Donde puedo usar mosquito?

Windows

Para windows tenemos el ejecutable .exe disponible para las arquitecturas de x64 y x32 bits, en estos momentos se encuentra la versión 1.6.7 disponible que es compatible con windows 10.

En el siguiente link van a encontrar un post en donde se realizar al explicación paso a paso de como instalar mosquitto en windows y de realizar la configuración básica para su funcionamiento.

Ubuntu

En ubuntu podemos encontrar mosquitto e los repositorios principales, solo es actualizar los paquetes para obtener la ultima versión del paquete y poderlo descargar.

En el siguiente post encontrara como instalar mosquitto en ubunto, donde se dispone de los pasos de instalación y la mínima configuración para realizar las primeras pruebas.

Referencias

[1] mqtt http://mqtt.org/faq, Consultado noviembre 2019

[2] mqtt-7, https://mosquitto.org/man/mqtt-7.html Consultado noviembre 2019

[3] Mosquitto https://mosquitto.org/, Consultado noviembre 2019

Comentarios

Para dejar el comentario solo necesitamos tu correo que registraste en la pagina, pero si aun no te haz registrado se creara el usuario automaticamente.

Detalle contenido

base-mosquitto-server
Generic placeholder image
Oscar Fernandez Alzate

26, Noviembre 2019

138
Categorías
IOT