Tengo el producto moxa E1212 conectado a un sistema y para la comunicación utilizo modbus-tcp ( paquete jsmodbus ) y tengo varios clientes.
Necesito que cuando un cliente envíe una solicitud a moxa (como encender un LED), otros clientes estén al tanto de ese tiempo real o el servidor transmita su respuesta a todos los clientes.
¿Cómo puedo implementar algo como esto?
actualmente leo el estado cada 200 ms en un bucle para notar si hay algún cambio:
setInterval(function () { client.readCoils(start, count) .then(function (resp) { // console.log(resp) // socket.end() }).catch(function () { console.error(arguments) socket.end() }) }, 200)Esa transmisión no existe en el protocolo Modbus, la única forma de que todos los clientes sepan sobre el estado de la bobina es leerlo periódicamente, que parece ser lo que ya está haciendo.
El protocolo MQTT sería mejor para lo que pretendes hacer, pero parece que este dispositivo no lo admite.