¿Cómo podemos ayudarte?

Mosquitto enviar y recibir mensajes

Contenido

Acerca del proyecto

En post pasados conocimos las definiciones principales del mosquitto con el protocolo mqtt y realizamos la instalación en varios sistemas operativos, ahora vamos a ver como se realiza la comunicación a los topics y como hacer la suscripción a ellos.

Conocimiento previo

Para realizar este proyecto se requiere conocimiento previo de los siguientes temas, si aun no has trabajado con lo que se menciona en la siguiente tabla, allí están los links a los post para que puedas dar un repaso adicional o puedas recordar el conocimiento necesario para poder realizar este proyecto.

Proyecto Descripción
Mosquitto server Encontrara las definiciones necesarias para entender el protocolo de comunicación mqtt.
Instalar mosquitto en ubuntu En los repositorios de paquetes de ubuntu, podemos encontrar el servidor de mosquitto, el cual solo necesitamos actualizar los paquetes de nuestro sistema operativo y con una simple instrucción realizar la descarga e instalación del servidor.
Instalar mosquitto en windows En este post, vamos a instalar mosquitto en windows 10, vamos a ingresar a la pagina oficial y buscar el instalador, el cual la ultima versión disponible es la 1.6.7 y lo podemos encontrar para las arquitecturas de procesador de x64 y x32 bits.

mosquitto_sub

mosquitto_sub es un simple cliente MQTT versión 3.1.1 que se suscribirá a temas e imprimirá los mensajes que reciba.[1]

Además de suscribirse a temas, mosquitto_sub puede filtrar los mensajes recibidos para que no se impriman (ver la opción -T) o cancelar la suscripción a los temas (ver la opción -U). Darse de baja de los temas es útil para los clientes que se conectan con una sesión limpia configurada como falsa.

mosquitto_pub

mosquitto_pub es un cliente simple de MQTT versión 3.1.1 que publicará un solo mensaje sobre un tema y terminará.[2]

Opciones

Vamos a ver las opciones en comunes que tienen el publicador y el suscriptor para poder enviar y recibir mensajes.

Estas opciones se pueden enviar directamente desde la url, el programa que estemos utilizando para poder enviar estos mensajes o desde la configuración del archivo config.

Opción Descripción
-t, --topic El tema MQTT al que suscribirse. Esta opción puede repetirse para suscribirse a varios temas.
-m, --message Envíe un solo mensaje desde la línea de comando.
-q, --qos Especifique la calidad de servicio que se utilizará para el mensaje, entre 0, 1 y 2. El valor predeterminado es 0.
-v, --verbose Imprime los mensajes recibidos de forma prolija. Con este argumento, los mensajes se imprimirán como "carga útil del tema". Cuando no se proporciona este argumento, los mensajes se imprimen como "carga útil".
-h, --host Especifique el host al que conectarse. El valor predeterminado es localhost.
-p, --port Conéctese al puerto especificado. Si no se proporciona, se utilizará el valor predeterminado de 1883 para MQTT simple o 8883 para MQTT sobre TLS.

Instalación de mosquitto

Antes de iniciar con los ejemplos les recomiendo ver los post que realizamos para la instalación de mosquito en linux y windows, adicionalmente tenemos un post donde damos la explicación de cómo utilizar esté servidor con docker. Los links no se pueden encontrar en conocimientos previos al principio de este post.

Ejemplo: enviar mensaje al topic

En este primer ejemplo vamos a crear un tema de temperatura (topic), este es creado con el subscriptor y lo dejamos escuchando todas las peticiones que le lleguen, para ello realizamos lo siguiente:

En una ventana de comandos o cmd vamos a crear el topic y lo dejamos a la espera de que se conecte algún subscriptor:

mosquitto_sub -t sensors/temperature

Ahora vamos a enviar una variable a ese topic, para ellos realizamos el envió del valor numérico publicando en el topic, veamos la siguiente instrucción:

>mosquitto_pub -t sensors/temperature -m 32

Referencias

[1] mosquitto sub https://mosquitto.org/man/mosquitto_sub-1.html, Consultado Mayo 2021

[2] mosquitto pub https://mosquitto.org/man/mosquitto_pub-1.html, Consultado Mayo 2021

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-mqtt-enviar-recibir-mensajes
Generic placeholder image
Oscar Fernandez Alzate

05, Mayo 2021

167
Categorías
IOT