OPC ROUTER

BY LOGITEK

NOTA TÉCNICA

 

09. “Comunicación MQTT entre OPC Router y Azure IoT Hub”

 

Esta nota técnica explica y detalla la comunicación entre un MQTT client y la plataforma Azure IoT Hub mediante el uso del software OPC Router. Esta nota técnica no pretende explicar el propio protocolo MQTT.

INTRODUCCIÓN

 

OPC Router es una plataforma software de comunicación que habilita el intercambio de información entre diferentes sistemas de manera bidireccional, mientras Amazon AWS Cloud es uno de los entornos cloud referentes del mercado.
Como todas estas plataformas, AWS ofrece un entorno IoT donde se pueden referenciar diferentes objetos y nutrirlos de datos.

Como se verá en esta nota técnica, OPC Router, a través de su plug-in MQTT, puede suplir y adquirir datos de esta plataforma.

 

Concretamente, en esta guía se detalla cómo configurar ambos para que OPC Router pueda enviar datos a Azure IoT Hub de una manera segura.

La arquitectura técnica es la siguiente:

  • Plug-in MQTT de OPC Router como MQTT publisher
  • Azure IoT Hub como MQTT Broker

La potencia de esta arquitectura es que OPC Router puede obtener los datos a enviar por MQTT prácticamente de cualquier fuente de datos presente en una industria o infraestructura, ya sea de proceso vía OPC, del ERP, de un webservices, de una base de datos, …

Azure IoT Hub – creación y configuración de la conexión

 

En este apartado se describe cómo configurar Azure IoT Hub para dejarlo preparado a la recepción de información por una fuente externa.

Los primeros 3 puntos no son necesarios si ya se dispone de una cuenta de Azure con un IoT Hub disponible.

1.- Entrar en la cuenta de Azure y crear un nuevo objeto del tipo “IoT Hub”

 

2.- Elegir o crear un “Resource Group” y nombrarlo

 

 

3.- Aceptar y acabar con la creación del IoT Hub

 

4.- Desde la consola > “All resources” seleccionar el IoT Hub recién creado. Una vez ahí, seleccionar “Shared Access policie” > “iothubowner”

 

 

5.- Dentro del “iothubowner” copiar el “Connection string – Primary key”

 

 

Para los siguientes pasos, se necesita utilizar el Microsoft Azure IoT Hub Device Explorer, software intermedio que genera las claves necesarias para el intercambio de información entre Azure IoT Hub y el resto de aplicaciones, también se puede utilizar para ver los datos que envía y recibe el IoT Hub. Se puede descargar en este enlace.

6.- En el IoT Hub Device Explorer > Configuration copiar la clave obtenida en el punto anterior. Se debe rellenar también el hostname (incluido en la propia clave). Una vez puesto, seleccionar “Update”.

 

 

7.- En la pestaña Management nombrar y crear un dispositivo. Éste será el ID que se utilizará posteriormente en OPC Router.

 

 

8.- Una vez creado, crear un token para este dispositivo, seleccionar un TimeToLive. Es este punto, seleccionar “Generate”. Seleccionar y guardar la parte del texto que se muestra en la imagen ya que se necesitará posteriormente en el MQTT Client de OPC Router.

 

OPC Router – creación y configuración de la conexión

 

A continuación, se detalla qué y cómo configurar OPC Router para poder establecer la comunicación por MQTT con Azure IoT Hub de manera segura.

1.- En OPC Router, añadir un MQTT Client > “Connection properties” de la siguiente manera:

  • Name: como se desee
  • Broker connection: el hostname generado en el punto 6 de esta guía
  • Client ID: el Device ID elegido en el punto 7
  • Username: construcción tal que “Broker connection”/”Client ID”
  • Password: el texto guardado en el punto 8
  • Quality of Service type: “At least once”

Una vez rellenados estos campos, testear la conexión y guardar la configuración

 

2.- Configurar apropiadamente los topics para el envío de los datos. Para ello se puede utilizar la siguiente estructura “Devices/{device-id}/messages/devicebound/#”

Ejemplo

 

A continuación, se muestra un ejemplo donde OPC Router condiciona y envía información de una temperatura guardada en una base de datos a Azure IoT Hub mediante el MQTT Client. Para poder realizarlo, se han debido realizar todos los pasos anteriores de esta nota técnica.

 

 

Información adicional

 

Nota Importante: Esta Nota Técnica se entrega “as is”, es decir, como complemento a la documentación del producto, pero no incluido dentro del ámbito del Soporte Técnico. Por tanto, cualquier mal funcionamiento derivado del contenido de esta nota técnica no es responsabilidad de Logitek.