Wiesemann & Theis GmbH

Tecnología de redes, sensores e interfaces para la industria, la oficina y la informática

Ejemplos prácticos sobre la transmisión de estados de conmutación

Box-2-Box vía MQTT con Web-IO 4.0

con CloudMQTT como broker


MQTT Box-to-Box

Estas instrucciones paso a paso explican la configuración del modo Box-2-Box con Web-IO 4.0 Digital en el Internet de las Cosas.

En el modo Box-2-Box, usted conecta dos Web-IO de tal modo que las señales de conmutación que llegan a las entradas de un dispositivo son transmitidas a las salidas del otro dispositivo vía MQTT. Con CloudMQTT se utiliza como broker un pequeño proveedor comercial gratuito.

Para una primera orientación sobre el tema MQTT recomendamos consultar la página "Comunicación en el Internet de las Cosas."

Estructura del sistema MQTT

Para sincronizar las entradas y las salidas, los dos Web-IO intercambian mensajes vía MQTT. Además, cada Web-IO publica los estados de sus propias entradas como publicador en el intermediario (broker).

Al mismo tiempo, cada dispositivo recibe los estados de la entradas del otro como subscripción. Cuando un dispositivo recibe un cambio de estado en una entrada del otro dispositivo, ajusta el estado de su salida correspondiente.

MQTT Box-to-Box


Parte 1: configuración del broker en MQTT

Para configurar un sistema de comunicación en MQTT se necesita, en primer lugar, un broker o intermediario. Este hace las funciones de central de mensajes y coordina el flujo de comunicación entre los usuarios.

En estas instrucciones se utiliza el broker público gratuito para aplicaciones CloudMQTT pequeñas. Para usos profesionales existe una gran variedad de otros operadores para elegir. Con los software comerciales y libres, usted utiliza alternativamente un broker para MQTT propio en Internet o en Intranet. También existen dispositivos de hardware listos para funcionar, por ejemplo de IBM. Encontrará un resumen completo en la página "Recursos para MQTT".

Para la autenticación como broker, cada Web-IO necesita un nombre de usuario y una contraseña. Para garantizar que ningún otro dispositivo conectado con el broker pueda depositar mensajes para los tópicos de estos dispositivos se crean derechos de acceso por ACL.

Resumen de la configuración del broker
  Web-IO 1 Web-IO 2
Nombre de usuario webio1 webio1
Contraseña Super$icher123 Super$icher123
Acceso de escritura en webio1/in/# webio2/in/#
Acceso de lectura en webio2/in/# webio1/in/#
[Información] Con el uso de los wildcards + y # no es necesario especificar explícitamente los derechos para cada tópico. El + abarca todos los elementos dentro de un nivel de la estructura, mientras # designa la parte completa del árbol por debajo de un nivel.

Crear una cuenta de broker

CloudMQTT ofrece en el paquete "CuteCat" un broker online gratuito para hasta 10 dispositivos.

CuteCat en CloudMQTT

  • 1 Abra la página www.cloudmqtt.com y seleccione allí el punto del menú ’Plans’.

  • 2 Seleccione el plan CuteCat gratuito y siga las instrucciones que aparecen en la pantalla.

Crear instancia para el broker

Una vez registrado en el panel de control ya puede crear un nuevo broker.

Instancia para un broker en CloudMQTT

  • 1 Seleccione el centro de datos de Amazon en Irlanda así como

  • 2 el plan gratuito CuteCat.

Configuración del broker para la aplicación Box-to-Box.

En la página de detalles puede realizar los ajustes necesarios en su broker para la aplicación Box-2-Box de Web-IO.

Detalles del broker en CloudMQTT

  • 1 Pulse, junto a su instancia para el broker, la opción Detalles

Crear usuarios
Manage Users en CloudMQTT

1 Cree los usuarios webio1 y webio2 con la 2 contraseña Super$icher123.

Adjudicación de derechos de acceso
ACL en CloudMQTT

Genere ahora la Access Control List (ACL). Aquí se determina para cada usuario 1 los derechos 2 , con los que puede escribir en un tópico 3.

Anotar los datos de conexión

En este último paso, desplácese de nuevo a la página de detalles arriba y anote los datos de conexión en su broker.

Instance Info en CloudMQTT

Necesita la dirección del servidor 1 y el puerto 2 .


Parte 2: configuración de las Web-IO

Ajustes básicos en MQTT

Abra la superficie web del primer Web-IO como se indica en las instrucciones de uso. A continuación, regístrese como usuario administrador.

Configuración de Web-IO en MQTT

  • 1 Dentro de la sección de configuración, seleccione la opción del menú Vías de comunicación >> MQTT.

Introduzca ahora los datos de conexión para el broker en MQTT.

Configuración detallada de Web-IO en MQTT

  • 1 Active MQTT.

  • 2 Introduzca el nombre de usuario para el primer Web-IO.

  • 3 Introduzca la contraseña correspondiente.

  • 4 Introduzca para finalizar el nombre del host y el

  • 5 puerto del broker en MQTT.

  • 6 Para que la aplicación Box-2-Box funcione, las salidas tienen que ser autorizadas para MQTT.

Configuración Web-IO en MQTT OK

Tras pulsar el botón Aplicar el dispositivo señala con una marca verde que se ha guardado los cambios.

Configuración de acciones para las entradas

A través de una acción se define cómo debe reaccionar Web-IO ante una señal de activación. Además de la información general ’Denominación’ y ’Estado de activación’, una acción está formada por una señal de activación y una operación que se ejecuta al recibirse esa señal de activación.

Cuando se modifique el estado en una entrada de un dispositivo, su respectivo dispositivo debe ser informado por MQTT. Por lo tanto, para cada entrada se crea una acción que realice una publicación en MQTT cuando se produce un cambio del estado.

Seleccionar acciones para Web-IO en MQTT

  • 1 Dentro de la sección de configuración, seleccione la opción del menú Acciones.

Agregar acciones para Web-IO en MQTT

  • 2 Pulse ahora el botón Agregar.

Configuración de entradas de Web-IO en MQTT

Datos generales

  • 1 Active la acción y adjudíquele un nombre lógico. Eso le permitirá reconocer la acción fácilmente en el listado general y en el menú.

Datos sobre la señal de activación

  • 2 Seleccione aquí como señal de activación las entradas (Input).

  • 3 Seleccione ahora la primera entrada es decir, Input0.

  • 4 Seleccione para al cambiar a el valor ON.

Datos sobre la operación a ejecutar

  • 5 Seleccione como acción MQTT-Publish.

  • 6 Los mensajes para la primera salida del primer dispositivo se publican con el tópico "webio1/in/0".

  • 7 Indique en texto del tópico "ON" en el contenido del mensaje que debe publicarse cuando se reciba la señal de activación.

  • 8 Indique como texto de Topic Clear el contenido del mensaje que debe enviarse cuando desaparece la señal de activación. Esto ocurre cuando se cambia la salida a OFF.

  • 9 El mensaje debe ser enviado una sola vez cuando se produzca el suceso. Por consiguiente, debe seleccionar aquí "Ejecutar acción solo una vez".

Configure luego una acción con los valores correspondientes para Input1 (tópico: webio/in/1).

Configuración de acciones para las salidas

Configuración de salidas de Web-IO en MQTT

Datos generales

  • 1 Active la acción y adjudíquele un nombre lógico.

Datos sobre la señal de activación

  • 2 Seleccione aquí MQTT Subscribe

  • 3 El tópico (topic) es "webio2/in/0" para la primera entrada en el segundo dispositivo.

  • 4 Topic Text hace referencia al contenido del mensaje recibido, en este caso "ON".

Datos sobre la operación a ejecutar

  • 5 Como acción se selecciona aquí "Conmutar output".

  • 6 Se debe conmutar una salida local (output).

  • 7 La salida (output) que conmuta es la Output 0.

  • 8 El estado al que se conmuta es ON

Configure ahora las tres acciones que faltan para "Output0 off", "Output1 on" y "Output1 off":

Título Tópico Texto del tópico Acción Estado
Output0 off webio2/in0 OFF Conmutar Output0 OFF
Output1 on webio2/in1 ON Conmutar Output1 ON
Output1 off webio2/in1 OFF Conmutar Output1 OFF
[Información] ¿Por qué se ejecutan las acciones de conmutación de las salidas por separado?

Quizás a alguien que quiera ahorrarse dos acciones se le ocurre la idea de enviar el mensaje "TOGGLE" con un cambio de estado y seleccionar la acción "CONMUTAR". en lugar de introducir el cambio de estado explícitamente.

Esto no es aconsejable por la siguiente razón: en Web-IO se ha fijado la calidad del servicio MQTT en QoS1. Esto significa que se repite el envío de los mensajes hasta que la otra parte confirma el recibo.

Si se pierde una confirmación debido a un error de transmisión, entonces se envía el mensaje Toggle de nuevo y la parte contraria conmuta de nuevo. Al ocurrir esto, los dispositivos dejan de estar sincronizados.

Configuración del segundo Web-IO

El último paso consiste en transferir la configuración al segundo Web-IO. ¡No se olvide de adaptar los usuarios y los tópicos!

Acciones para las salidas

Título Tópico Texto del tópico Acción Estado
Output0 on webio2/in0 ON Conmutar Output0 ON
Output0 off webio2/in0 OFF Conmutar Output0 OFF
Output1 on webio2/in1 ON Conmutar Output1 ON
Output1 off webio2/in1 OFF Conmutar Output1 OFF

Acciones para las entradas

Título Tópico Texto del tópico Texto de Topic Clear Al cambiar a
Conmutar Input0 webio2/in0 ON OFF ON
Conmutar Input1 webio2/in0 OFF OFF OFF

Pruébelo usted mismo

¿Desea probar MQTT? Nuestro Web-IO digital es idóneo para iniciarse en el cosmos del IdC. Solo tiene que solicitar Web-IO Digital como muestra oferta. Si devuelve la muestra en un plazo de 30 días solo tiene que abonar los costes de devolución (en Alemania). Si desea quedarse con el dispositivo de prueba, solo tiene que pagar la factura adjunta.

¿Tiene alguna pregunta sobre Web-IO Digital o MQTT?

El Sr. Thiel le atenderá con mucho gusto.
Teléfono: +49 202/2680-110 (lu-vi de 8-17 horas)
E-mail: f.thiel@wut.de

^