Esta web es parte de la ayuda TSI-063000-2021-33, financiada por Ministerio de Asuntos Económicos y Transformación Digital y la Unión Europea-Plan de Recuperación de la UE como entidades financiadoras, en el marco del Plan de Recuperación, Transformación y Resiliencia y el Mecanismo de Recuperación y Resiliencia

Experimenta desde un ordenador 👩‍💻

Experimento 5: Crear un Broker MQTT 🛜🏠

Explorando la comunicación en IoT mediante la creación de un Broker MQTT

Descripción del experimento

Este experimento consiste en instalar y configurar un Broker MQTT, un componente clave para facilitar la comunicación entre dispositivos IoT. A través de esta actividad, exploraremos conceptos fundamentales de redes, mensajería y seguridad en sistemas de comunicación digital.

Tema

  • Tema objetivo: Comunicaciones en IoT y protocolos de red.

Duración estimada

  • Tiempo de duración del experimento: Aproximadamente 45 minutos.

Edades Objetivo

  • Edad recomendada: A partir de 15 años (con conocimientos básicos de redes y sistemas operativos).

Estándares

  • Introducir a los estudiantes en el uso de protocolos de comunicación IoT.
  • Desarrollar habilidades prácticas en la instalación y configuración de software de red.
  • Fomentar la comprensión de la importancia de la seguridad y la eficiencia en sistemas de comunicación digital.

Preparación

Materiales

  • Un ordenador con acceso a Internet.
  • Sistema operativo Linux, Windows o macOS.
  • Software necesario:
    • Mosquitto: Un Broker MQTT de código abierto.

Recursos de apoyo

Instrucciones

Pasos

Instalación de Mosquitto:

En Linux (Debian/Ubuntu):
  1. Actualizar los repositorios del sistema:

    • Abre la Terminal (Ctrl + Alt + T) y escribe: sudo apt update
  2. Instalar Mosquitto:

    • En la Terminal, ejecuta: sudo apt install mosquitto mosquitto-clients
  3. Iniciar el servicio Mosquitto:

    • Escribe el siguiente comando para iniciar el servicio: sudo systemctl start mosquitto
    • Para que el servicio se inicie automáticamente con cada reinicio del sistema, ejecuta: sudo systemctl enable mosquitto
En Windows:
  1. Descargar el instalador de Mosquitto:

  2. Instalar Mosquitto:

    • Ejecuta el archivo descargado y sigue los pasos del asistente de instalación.
  3. Iniciar Mosquitto:

    • Abre una ventana de cmd y navega a la carpeta de instalación de Mosquitto.
    • Ejecuta el comando: mosquitto
En macOS:
  1. Instalar Homebrew (si no está instalado):

    • Abre la Terminal (Aplicaciones > Utilidades > Terminal) y ejecuta:

      /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)

  2. Instalar Mosquitto:

    • Escribe en la Terminal:

      brew install mosquitto

  3. Iniciar el servicio Mosquitto:

    • Ejecuta el siguiente comando: brew services start mosquitto

Configuración para permitir la publicación pública

Para permitir que cualquier persona pueda publicar mensajes en el Broker MQTT sin autenticación, debes ajustar la configuración del archivo de Mosquitto. Nota: Esta configuración puede presentar riesgos de seguridad.

  1. Localiza el archivo de configuración de Mosquitto:

    • En Linux, el archivo de configuración generalmente se encuentra en /etc/mosquitto/mosquitto.conf.
    • En Windows y macOS, el archivo puede estar en el directorio de instalación de Mosquitto, por ejemplo, C:\Program Files\mosquitto\mosquitto.conf o /usr/local/etc/mosquitto/mosquitto.conf.
  2. Edita el archivo de configuración:

    • Abre el archivo de configuración con un editor de texto. Por ejemplo, en Linux puedes usar nano: sudo nano /etc/mosquitto/mosquitto.conf
    • En Windows, abre el archivo con un editor de texto como Notepad++.
  3. Configura la política de acceso:

    • Añade o modifica las siguientes líneas para permitir la publicación pública. Busca y ajusta las configuraciones relacionadas con los permisos:

      allow_anonymous true listener 1883

    • La opción allow_anonymous true permite la conexión y publicación sin autenticación. El puerto 1883 es el puerto por defecto para MQTT.

  4. Guarda los cambios y reinicia el Broker:

    • En Linux, guarda el archivo y reinicia Mosquitto con: sudo systemctl restart mosquitto
    • En Windows y macOS, reinicia Mosquitto desde el servicio o la aplicación correspondiente.

Esta configuración es esencial si queremos usar nuestro ordenador como broker MQTT, y recibir o enviar información de dispositivos externos como puede ser otro ordenador, un ESP32 o nuestro telefono movil.

Configuración básica:

  1. Verificación del Broker MQTT:

    • Abre una nueva ventana de Terminal o cmd y suscríbete a un tema de prueba: mosquitto_sub -h localhost -t prueba

    • En otra ventana de Terminal, publica un mensaje en el mismo tema: mosquitto_pub -h localhost -t prueba -m "¡Hola desde MQTT!"

    • Si el Broker está funcionando correctamente, deberías ver el mensaje en la primera ventana.

Actividades complementarias (opcional)

  • Configuración de autenticación y seguridad: Explora cómo agregar autenticación de usuarios y configuraciones de seguridad básicas para proteger tu Broker MQTT.
  • Conectar dispositivos IoT: Configura un dispositivo IoT, como un microcontrolador, para que se comunique con tu Broker MQTT, enviando y recibiendo datos en tiempo real.
  • Aplicaciones educativas: Investiga cómo MQTT se utiliza en entornos educativos, como laboratorios de física o simulaciones de ciudades inteligentes.

Recursos adicionales