¿Podemos instalar Mosquitto en Windows?

Objetivos

 ;

  • Vamos a configurar el brokerMosquitto en Raspberry Pi.
  • Añadiremos unas pocas líneas al fichero de configuración.
  • Veremos como crear usuario y contraseñas.
  • Aprovecharemos para presentar el MQTT explorer.[/three-fourth] [clear/]
  •  

    Material requerido.

     

     

     personal computer Un PC con Windows, claro!!

     

    Montar un broker MQTT en windows

     

    Veamos, si preguntas en Google algo del tipo de que participación tiene cada moderno sistema operativo para PCs, obtenemos rápidamente una tabla como esta:

    Porcentaje de sistemas operativos PC

    Las cifras pueden variar ligeramente dependiendo de a quién preguntes y del año que te muestre. También hay variaciones entre las participaciones a nivel Mundial y la participación por países, pero de todos modos el cuadro que pintan es bastante parecido: Windows Manda de lejos.

    Y si hasta ahora, llevamos unas cuantas sesiones hablando de instalar Mosquitto en Raspberry Pi que es una fracción de ese 2.35% de Linux… ¿No deberíamos ver si es posible instalar nuestro Mosquitto en Windows? Tendría todo el sentido del mundo, ya que Mosquitto es un servidor ligero que podríamos correr y nuestra máquina habitual o en cualquiera de esos PC viejos que tenemos abandonados por los rincones.

    Y en cuanto echas una miradita a Internet, descubres que, por supuesto que hay una versión Mosquito descargable e instalable como servicio para Windows, y dado su predominancia en el mercado, sería un desperdicio no aprovechar la ocasión para ver como instalar en nuestro viejo y confirtable Windows, un broker Mosquitto con todas las de la ley.

    Y de eso va esta sesión

    Descargar e instalar Mosquitto para Windows

     

    Para empezar, tenemos que decir que todo lo que hemos dicho sobre MQTT y Mosquitto en las sesiones anteriores son perfectamente válidas para la versión Windows. Volveremos a ello cuando configuremos Mosquitto Windows, pero los comandos de uso y configuraciones de usuarios y del mosquitto.conf son las mismas y puedes trasladar los ficheros de una a otra versión porque en realidad es el mismo software con compilados diferentes (Y algunas adaptaciones al sistema que es lo que iremos viendo) Empecemos descargando desde la página de Mosquitto el programa instalador

    Hay varias versiones según nuestro sistema operativo, pero aquí hemos venido a hablar de Windows así que pincha en esa opción y cuando acabe de bajar inicia el instalador.

    instalando koquitto windows

    Te conviene dejar la opción de instalar Mosquitto como un servicio más de Windows porque así se incluirá en el apartado de procesos activos en el sistema. Te ofrecerá la instalación por defecto en “Program Files\Mosquitto”, dále a Install y espera tranquilo hasta que acabe:

    opcion de instalacion

    Una vez que termine, tenemos que configurar los usuarios y el mosquitto.conf exactamente igual que en la última sesión, y de hecho deberíamos poder copiar directamente el fichero mosquitto.conf al directorio de la instalación:

     c:\Program Files\mosquitto

    Al terminar podemos abrir una consola de sistema para comprobarlo, con [Windows] + X para que aparezca la consola de administrador de Windows. Pincha en «Windows Power Shell (Administrador)»

    Menu administrador

    Se te abrirá una ventana de consola de Windows muy similar a la consola Bash de Linux Raspi que vimos anteriormente. Escribe en ella.

    cd ‘C:\Program Files\mosquitto\’ Directorio ed mosquitto

    Al cambiar a el directorio de instalación de mosquitto, si haces un listado con “dir” veras los comandos a los que nos hemos acostumbrado en Raspberry, que en Windows se llaman exactamente igual y se comportan exactamente de la misma manera (Y con las mismas opciones, claro está).

    Puedes ahora crear el fichero de contraseñas y el mosquitto.conf donde apuntamos igual que en la version Linux / Raspberry:

    listener 1883
    
    allow_anonymous false
    
    log_dest file /etc/mosquitto/mosquitto.log
    
    password_file /etc/mosquitto/passwd

    Ahora es exactamente lo mismo, pero, cambiando la ruta de los archivos para que se adapten a los path de Windows:

    listener 1883
    
    allow_anonymous false
    
    log_dest file C:\Program Files\mosquitto\mosquitto.log
    
    password_file C:\Program Files\mosquitto\passwd

    Si hemos copiado el fichero de contraseñas que usábamos en la Raspberry Pi debería funcionar aquí también, y si no podemos generar un fichero nuevo con los mismos comandos que en la anteúltima sesión. Recuerda que bastaba con escribir un fichero de texto con los nombres de usuario en el notepad por ejemplo seguidos de «:»

    Lista de usuarios

    Ahora invocas el mismo comando, para que encripte las contraseñas:

    mosquitto_passwd -U passw2.txt

    Resultado tras la encriptacion

    Finalmente, asegurate de que la línea de tu mosquitto.conf que apunta al fichero de passwords corresponda en nombre y directorio al que hagas aqui y listo. Solo nos queda activar / Parar el servicio de Mosquitto en Windows, y para eso basta con escribir la palabra “servicios” en la ventana de búsqueda de la esquina inferior izquierda de Windows junto al botón de inicio y aparece el menú Servicios. (Aplicación) Púlsalo:

    Menu de inicio windows

    Verás una pantalla con los servicios en ejecución en Windows ordenados alfabéticamente. Vete a la M hasta que veas Mosquitto Broker (O pincha en cualquier servicio y luego en la M):

    Imagen del administrador de servicios

    Si te fijas en la columna de estado se muestra que Mosquitto Broker no está en ejecución. Para cambiarlo haz doble clic en la línea del servicio que queremos arrancar y verás esto:

    Propiedades del servicio

    ¡Accede al contenido!

    El tipo de servicio está en Automático, es decir se iniciará con Windows (Puedes cambiarlo a Manual o deshabilitado) y si pulsas debajo en el botón [Iniciar] el servicio arrancará:

    Mosquitto activado

    Ahora el servicio Mosquitto figura En ejecución, o sea activado con la última configuración guardada y si vuelves a hacerle doble clic puedes detenerlo con el botón [Detener]

     

    Probando el servidor Mosquitto en Windows

     

    No hay mucha diferencia con lo que hemos probado en las otras sesiones. Podemos abrir dos consolas de powerShell administrator igual que antes y en una escribir

     

    mosquitto_sub -d -h localhost -p 1883 -u charly -P contrase -t "Prometec/temp"

    Y en la otra publicar algo

    mosquitto_pub -d -h localhost -p 1883 -u charly -P contrase  -t "Prometec/temp"-m "99.99"

    pub sub mqqt

    También puedes probar con el MQTT Explorer y por ejemplo el programa del ESP32 que probamos en otra sesión y veras que se comporta exactamente igual que la versión Raspberry.

     

    IMAGEN DE MARCA


    Deja una respuesta