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
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.
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.
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.
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.
1 Pulse, junto a su instancia para el broker, la opción Detalles
1 Cree los usuarios webio1 y webio2 con la 2 contraseña Super$icher123.
Adjudicación de derechos de accesoGenere 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ónEn este último paso, desplácese de nuevo a la página de detalles arriba y anote los datos de conexión en su broker.
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.
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.
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.
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.
1 Dentro de la sección de configuración, seleccione la opción del menú Acciones.
2 Pulse ahora el botón Agregar.
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
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 |
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