linux

Instalar y probar mosquitto en Raspberry Pi

En este post te mostraré cómo instalar mosquitto y mosquitto-clients sobre raspbian para, más tarde, realizar comunicaciones por el protocolo MQTT y así indagar más en el internet de las cosas.

Después vamos a publicar mensajes, y a suscribirnos a un “tópico o tema” para probar que todo funcione perfectamente.

Instalación y configuración de Mosquitto en Raspberry Pi

Ejecuta los siguientes comandos:

sudo apt install -y mosquitto mosquitto-clients

Espera a que se termine de instalar. Es momento de revisar la versión con:

mosquitto -v

Lo que te debe dar una salida similar a la siguiente. Presta atención al puerto en caso de que te quieras conectar más tarde:

Revisar versión de mosquitto en Raspberry pi

Vamos a hacer que el servicio de mosquitto se inicie con el sistema, así que usamos systemctl:

sudo systemctl enable mosquitto.service

Y después revisamos su status con:

sudo systemctl status mosquitto

Lo que debe resultar en algo como lo de la imagen:

Revisar estado de mosquitto en raspbian con systemctl status

Si aparece algo similar a ello, y dice “active (running)” todo está bien.

Nota: si no aparece habilitado intenta reiniciar, o ejecuta:

sudo systemctl enable mosquitto.service --now

Publicar y suscribir

El funcionamiento de mosquitto es sencillo. Podemos publicar “mensajes” por tópicos, y suscribirnos a ellos.

Publicar con mosquitto_pub

Para publicar usamos el comando mosquitto_pub por ejemplo:

mosquitto_pub -h localhost -t "mi_casa/sala/temperatura" -m "20"

En donde -h indica el hostname; sería localhost en este caso. La opción -t indica el tópico (intentamos enviar la temperatura de la sala dentro de mi casa) y finalmente la opción -m indica el mensaje (indico que estamos a 20 grados celsius)

Suscribir con mosquitto_sub

De igual modo podemos usar mosquitto_sub para suscribirnos a un tópico en especial. Por ejemplo, si quisiera suscribirme al tópico de la temperatura del jardín podría ser:

mosquitto_sub -h localhost -t "jardin/temperatura"

De modo que, cuando se publique en el tópico temperatura del jardín se me mostrará el mensaje (presiona CTRL + C para detenerlo)

Conclusión

Parece simple e incluso sin sentido, pero con esto hemos creado un servidor con el protocolo MQTT. Más adelante traeré tutoriales para usar la ESP8266 con la Raspberry y enviar la temperatura de un sensor DHT22 a la Pi o a otros dispositivos.

Estoy aquí para ayudarte 🤝💻


Estoy aquí para ayudarte en todo lo que necesites. Si requieres alguna modificación en lo presentado en este post, deseas asistencia con tu tarea, proyecto o precisas desarrollar un software a medida, no dudes en contactarme. Estoy comprometido a brindarte el apoyo necesario para que logres tus objetivos. Mi correo es parzibyte(arroba)gmail.com, estoy como@parzibyte en Telegram o en mi página de contacto

No te pierdas ninguno de mis posts 🚀🔔

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.
parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

Entradas recientes

Creador de credenciales web – Aplicación gratuita

Hoy te voy a presentar un creador de credenciales que acabo de programar y que…

2 semanas hace

Desplegar PWA creada con Vue 3, Vite y SQLite3 en Apache

Ya te enseñé cómo convertir una aplicación web de Vue 3 en una PWA. Al…

2 semanas hace

Arquitectura para wasm con Go, Vue 3, Pinia y Vite

En este artículo voy a documentar la arquitectura que yo utilizo al trabajar con WebAssembly…

2 semanas hace

Vue 3 y Vite: crear PWA (Progressive Web App)

En un artículo anterior te enseñé a crear un PWA. Al final, cualquier aplicación que…

2 semanas hace

Errores de Comlink y algunas soluciones

Al usar Comlink para trabajar con los workers usando JavaScript me han aparecido algunos errores…

2 semanas hace

Esperar promesa para inicializar Store de Pinia con Vue 3

En este artículo te voy a enseñar cómo usar un "top level await" esperando a…

2 semanas hace

Esta web usa cookies.