Arduino + OPC

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 5

1

Implementación de una red de sensores usando


dispositivos Arduino mediante el estándar OPC
UA
B. Guerrero, Senior Member, IEEE, [email protected].

Resumen—La implementación de dispositivos o sensores En la industria, la mayor parte de empresas a la hora de brindar
desarrollo de sistemas embebidos basados en hardware de código soluciones de ingeniería, opta por utilizar un PLC para el
abierto es una clave muy importante en los proyectos destinados a control de sus procesos, ya que hay una gran variedad de
promover los conceptos del Internet de las cosas. Debido a la marcas y modelos, que se han ido desarrollando y mejorando a
heterogeneidad de estos proyectos y especialmente la falta de un lo largo de varios años por distintos fabricantes y para sustentar
estándar para regular el proceso de comunicación entre los
dicha inversión comercializan estos productos a precios
sensores y el Servidor de aplicación, teniendo en cuenta que
muchos de los elementos no pueden reutilizarse en proyectos de bastante elevados, donde mientras mayor es la capacidad de
infraestructura similar. Esta propuesta considera una entradas y salidas, la confiabilidad, las seguridades y otros
arquitectura basada en el uso del estándar OPC UA y del uso de factores como accesorios o la distribución del software
mensajes MQTT para regular el proceso de la transmisión de propietario para el desarrollo de un HMI, lo van encareciendo
datos entre el sensor y el sistema SCADA disponibles en la aún más.
industria.
Palabras clave – Hardware de código abierto, Redes de sensores Esto genera un nuevo inconveniente y es que al momento no
inteligentes, OPC, Interoperabilidad, Arduino existe un estándar que permita regular el proceso de
integración entre los diferentes proyectos de una manera
Abstract--The implementation of devices or sensors developed ordenada para lograr una administración centralizada. El
over open source electronic platforms is a very important key of
principal inconveniente se presenta en el proceso de
the projects aiming for promoting concepts such as Internet of
things. Due to the heterogeneity of these projects and especially transmisión de datos y generación de información, ya que al no
the lack of a standard to regulate the communication process existir un estándar para la estructura y proceso de transmisión
between the sensors and the application server, taking into de datos, la gran mayoría de los proyectos funcionan de manera
account that many of the elements cannot be reused on similar aislada o cuentan con interfaces de conexión únicas para
infrastructure projects. This proposal considers an architecture sistemas de gestión desarrollados a medida, esto significa que
based on the use of standard OPC UA and the use of messages gran parte de los desarrollos realizados por aficionados,
MQTT to regulate the process of data transmission between the estudiantes y profesionales, trabajan de manera aislada
sensors and Supervisory Control and Data Acquisition systems generando datos que por sí solos no pueden ser usados para la
available in the industry.
generación de conocimiento completo vinculado al estado de
Keywords – Hardware open source, Smart sensor network, OPC,
SCADA, Interoperability, Arduino. un Campus, Ciudad o País[4].

I. INTRODUCCIÓN Aunque la necesidad de generar un estándar para las redes


de sistemas embebidos basados en hardware de código
A CTUALMENTE el inicio de emprendimientos como
Arduino, Raspberry pi [1], Discovery STM32F4, entre
otros han impulsado el desarrollo de sistemas embebidos
abierto es reciente, el problema de integrar varios tipos de
sensores o dispositivos desarrollados por diferentes
fabricantes ya se presentó en la década de los 90 cuando
basados en hardware de código abierto que pueden ser usados
fabricantes como Siemens, Rockwell. Opto22, Fisher-
dentro del proceso de implementación de proyectos
Rosemount entre otros notaron que los usuarios gastaban
tecnológicos, sobre todo en aquellos que están orientados a
formar parte de soluciones que apoyan el concepto de internet altas sumas de dinero en realizar integraciones entre
de las cosas, por ejemplo en [2] se presenta el prototipo de un sensores de diferentes marcas y sus aplicaciones de gestión,
sistema de medición de presión. En [3] se muestra una esto con el fin de lograr desarrollar módulos de
propuesta de hardware open source que no alcanza los 12 administración y monitoreo centralizados, este
dólares de costo, con un convertidor analógico a digital, inconveniente reunió a los líderes de la industria y se generó
interfaz USB y con una capacidad de 15000 muestras por la primera versión del estándar Openness, Productivity, and
segundo. La simplicidad en el uso de estos dispositivos ha Connectivity Unified Architecture –OPC- [5] que con el
provocado que el número de proyectos que hacen uso de este paso de los años dejaría de centrarse en las interfaces
tipo de hardware se incremente cada día. análogas y se enfocaría en el proceso seguro de transmisión
2

de los datos sobre IP, hasta transformarse en OPC UA que II. DESCRIPCIÓN DE LA ARQUITECTURA PROPUESTA.
es la última versión del estándar. Sobre la base de proyectos [1, 2, 11] existentes desarrollados
usando hardware de código abierto, en este documento se
Como se puede ver en la figura 1, OPC plantea una define una arquitectura (Fig.2) que permite la integración de
arquitectura que permite la integración entre elementos estos dispositivos a una red diseñada de acuerdo a las
elaborados por diferentes fabricantes por medio de la consideraciones que propone la normativa OPC. Los
generación de un middleware entre el firmware de los elementos que componen la arquitectura planteada son:
dispositivos o sensores y las aplicaciones de Control y
adquisición de datos[6]. • Dispositivos o sensores de hardware limitado.
• OPC Gateway.
• OPC Server.
• Servidor de análisis de datos.

Para la implementación de estos elementos se recomienda


hacer uso de las librerías generadas por la OPC Foundation,
estas pueden ser descargadas desde el portal oficial de la
organización y están disponibles para realizar
implementaciones sobre C, Java [12] o .Net. Durante el
desarrollo de este documento se hizo uso de las librerías
Fig. 1. Arquitectura OPC.
desarrolladas para JAVA, ya que como se puede revisar en
[13] el uso de java dentro del proceso de desarrollo e
El middleware cumple varias funciones siendo las más implementación de elementos de una red de sensores
habilita el funcionamiento de los módulos o aplicaciones
importantes: realizar proceso de transformación de los datos
desarrollados sobre diversos Sistemas Operativos.
recibidos a un Schema XML [7] definido por la normativa,
transmitir de manera segura de los datos, administrar las
interfaces de envío y recepción de datos, habilitar métodos de
descubrimiento de servidores [8]. Los elementos existentes
dentro de una red convencional de dispositivos con soporte
para OPC son [9] :

• OPC Client.
• OPC Server.

El estándar se acopla perfectamente a sistemas de


comunicación Machine to Machine -M2M- además de las
arquitecturas de seguridad industrial existentes como la
propuesta por El Instituto Nacional de Estándares y
Tecnología de los Estados Unidos de Norteamérica -NIST-.
De la misma forma en que OPC está ampliamente difundido
dentro de las soluciones de control y adquisición de datos a Fig. 2. Arquitectura Planteada.
nivel industrial, al hablar de sistemas embebidos basados en
hardware de código abierto el protocolo usado comúnmente
es Message Queue Telemetry Transport -MQTT [10], que es A. Dispositivos o Sensores de hardware limitado
un sistema de comunicación M2M usado con mucha Estos elementos pueden ser desplegados sobre hardware
frecuencia sobre todo en soluciones que apoyan el concepto Arduino, durante el desarrollo de este documento se hizo uso
de Internet de las cosas -IoT-. de un dispositivo Arduino UNO junto con un módulo de
conexión ethernet para la ejecución de pruebas de
transmisión de datos. Al ser un elemento perimetral, este
El estudio realizado en este documento tiene como base el elemento se comunica con los demás elementos de la red de
uso del estándar OPC para realizar el proceso de transmisión sensores haciendo uso de [14]algoritmos de encaminamiento
de los datos entre los sensores o dispositivos desarrollados jerárquico empleando como nodo CH al elemento
usando sistemas embebidos basados en hardware de código denominado Gateway OPC, adicionalmente los elementos
abierto y los sistemas de control y adquisición de datos, de este tipo deben tener activo el rol MQTT client, de esta
forma podrán comunicarse con el MQTT Broker que
partiendo desde la definición del rol que podrían cumplir los
funciona dentro del Gateway OPC usando los siguientes
elementos hasta el hardware que puede ser usado para la
parámetros.
implementación.
• Credenciales MQTT: Usuario y Contraseña.
• Servicio de publicación MQTT: Asunto de
3

mensaje y mensaje. el contar con un elemento proporcione el servicio de


• Servicio de subscripción MQTT: Asunto de Sistemas de nombres de Dominio o por sus siglas en Ingles -
mensaje. DNS- permitirá aprovechar la funcionalidad de Local
Discovery Server -LDS- que es uno de las ventajas más
B. OPC Gateway\ notorias que proporciona el uso del estándar ya que por
medio de este cada Gateway OPC podrá comunicarse con más
de un servidor OPC de manera simultánea. Este
Este elemento cumple dos roles, i) receptor de los mensajes
procedimiento se encuentra expuesto en Fig. 4.
enviados por equipos que no puedan transmitir datos
directamente hacia el servidor OPC haciendo uso del
C. Server OPC UA.
estándar, ii) mediador entre el cliente MQTT y el servidor
OPC por cuanto es el responsable de transformar los mensajes
Este elemento es el responsable de recibir y almacenar los
de formato MQTT a la estructura propuesta por OPC.
datos generados por los diferentes sensores. La estructura de los
Para la recepción de los mensajes en formato MQTT este datos almacenados está basada en un modelado de objetos que
elemento debe tener activo el servicio de MQTT Broker, de esta no solo incluye las variables generadas por los sensores, sino que
forma será capaz de recibir los datos generados por los sensores también incluye los métodos necesarios para procesar eventos,
conectados, los almacenará temporalmente en archivos de texto notificaciones, alarmas o referencias que ayudan a vincular la
plano, estructurará los datos recibidos en concordancia con la información a obtenida a cada uno de los nodos.
estructura XML propuesta por la normativa OPC y los enviará
hacia el servidor OPC. Debido a que cada Gateway OPC puede
llegar a tener conectado varios sensores, es necesario que los
registros almacenados cuenten con un parámetro que permita
identificar el dispositivo que genero el dato originalmente.
Debido a que los sensores cuentan con hardware y conectividad
limitada es recomendable que sea el Gateway OPC sea el
elemento responsable de generar el valor correspondiente a la
fecha y hora de llegada de cada dato. Este procedimiento se
encuentra expuesto en la Fig. 3.

Fig. 4. Sincronización de servicio NTP en Gateway OPC y búsqueda de


servidores OPC usando el servicio DNS.

El equipo debe estar configurado para discriminar que


clientes OPC pueden conectarse, puesto que aquellos que no
cuenten con un certificado digital generado por una entidad
certificadora reconocida por el servidor no podrán establecer
la conexión. Es recomendable aprovechar la estandarización
de los protocolos y puertos que proporciona el estándar para
ubicar este elemento dentro de una Zona Desmilitarizada –
DMZ-, de esta forma se genera un nivel adicional de
Fig. 3. Conversión de formato de datos realizado por Gateway OPC para
transmisión de datos.
seguridad que refuerza los parámetros definidos dentro en la
normativa.
Para garantizar la sincronización de los datos enviados
desde diferentes Gateways OPC es necesario que todos estos D. Servidor de análisis de datos.
elementos es tén sincronizados con un servidor que cuente con
el servicio de Network Time Protocol -NTP-, adicionalmente
4

Posterior al almacenamiento de registros que realiza el aplicaciones de control y adquisición de datos, por
servidor OPC, es necesario procesar los datos generados y cuanto muchas de estas aplicaciones pueden
transformarlos en el conocimiento que deseamos obtener. requerir parámetros adicionales a los implementados
Para realizar este proceso podemos hacer uso de dentro del middleware incorporado al Cliente.
herramientas como Rapid Miner que es un software
distribuido bajo licencia AGPL que nos permitirá realizar un • Aunque MQTT está mucho más difundido en
análisis en busca de información subjetiva desde el tecnologías de IoT, OPC es una normativa mucho
contenido textual de los datos recolectados por medio del más madura y está presente en un mayor número
uso de algoritmos de Inteligencia Artificial o análisis industrias.
predictivo. Podemos ver un ejemplo simple del análisis que
puede ser realizado sobre los datos en la figura 5. • Para el desarrollo de un prototipo que cumpla los roles
planteados se propone hacer uso de hardware de
código abierto en función del rol que se quiera
implementar, durante el desarrollo de este
documento se probaron las siguientes
configuraciones:

o OPC Client: Raspberry PI2, Modelo B, IGB


RAM, 3 GB almacenamiento, Raspbian, JRE6.
o OPC Gateway: Raspberry PI2, Modelo B, IGB
RAM, 3 GB almacenamiento, Raspbian, JRE6.
o OPC Sever: Ubuntu, JDK6, JRE6.
o Sensor o Dispositivo de Hardware Limitado:
Arduino UNO, Módulos deseados.
Fig. 5. Análisis y gráfico de los datos recolectados y procesados.
IV. CONCLUSIONES
III. RESULTADOS Y DISCUSIÓN
Al finalizar esta investigación fue posible comprobar que
A partir del análisis realizado se pudo comprobar el potencial los sensores o dispositivos desarrollados sobre hardware
que ofrece el uso del estándar OPC UA para realizar la Arduino pueden ser integrados a redes de sensores mucho
transmisión de los datos entre dispositivos desarrollados más complejas por medio del uso del estándar OPC y las
sobre hardware de código abierto y servidores de control y librerías que facilita la organización OPC Foundation para la
adquisición de datos, entre las ventajas identificadas difusión del estándar. Otro punto destacable, es que el uso
podemos nombrar: de los recursos que proporciona el estándar OPC,
combinadas con las facilidades que proporciona el
• La arquitectura propuesta permite que sensores desarrollar sensores o sistemas embebidos personalizados
desarrollados sobre hardware de código abierto sobre hardware de código abierto, permiten desarrollar
puedan ser descubiertos por paneles de control proyectos que se acoplan perfectamente en conceptos como
desarrollados de acuerdo a parámetros propuestos IoT o Industry 4.0.
por OPC UA en su versión más reciente.
Por otra parte, la arquitectura planteada proporciona
• Aunque en este documento plantea el uso del interfaces de integración entre dispositivos que se
protocolo MQTT para realizar la integración de comunican usando MQTT y una red operativa de sensores
sensores de recursos limitados, existen otros que se encuentran comunicándose mediante OPC, así como
protocolos que pueden ser usados, entre ellos la integración de un servidor de análisis de datos con el fin
tenemos: [15]-CoAP- Constrained Application de dotar a los nuevos proyectos de herramientas analíticas
Protocol y [16]- XMPP- Extensible Messaging and para la conversión de los datos en información útil y
Presence Protocol que al igual que MQTT son practica; lo cual incrementará considerablemente el número
protocolos M2M. de proyectos desarrollados sobre hardware de código abierto
que pueden ser agregados a servidores de control
• El esquema planteado permite un crecimiento industriales con soporte para OPC UA.
modular de la red de sensores, por cuanto es posible
organizar los grupos de sensores de acuerdo a V. REFERENCIAS
parámetros como ubicación, función o criticidad.
[1] N. Agrawal and S. Singhal, "Smart drip irrigation system using
• Aunque OPC es un estándar muy difundido y raspberry pi and arduino," in Computing, Communication &
Automation (ICCCA), 2015 International Conference on, 2015,
desarrollado, el contar con el driver OPC Client no pp. 928-932.
garantiza la compatibilidad con el 100% de las [2] L. Russell, A. L. Steele, and R. Goubran, "Low-cost, rapid
5

prototyping of IMU and pressure monitoring system using an


open source hardware design," in Instrumentation and
Measurement Technology Conference (I2MTC), 2012 IEEE
International, 2012, pp. 2695-2699.
[3] A. E. Beltr and x00E, "Low-cost acquisition and development
board. An open source hardware proposal," in Symposium of
Signals, Images and Artificial Vision - 2013: STSIVA - 2013,
2013, pp. 1-4.
[4] M. Forconesi, G. Sutter, S. Lopez-Buedo, J. E. L. d. Vergara,
and J. Aracil, "Bridging the gap between hardware and software
open source network developments," IEEE Network, vol. 28, pp.
13-19, 2014.
[5] O. Foundation, "Unified Architecture : Part 1: Overview and
Concepts," https://opcfoundation.org/developer-
tools/specifications- unified-architecture/part-1-overview-and-
concepts2015-10-10 2015.
[6] O. Foundation, "Unified Architecture : Part 4: Services,"
https://opcfoundation.org/developer-tools/specifications-
unified- architecture/part-4-services/2015-10-10 2015.
[7] O. Foundation, "Unified Architecture : Part 7: Profiles,"
https://opcfoundation.org/developer-tools/specifications-unified-
architecture/part-7-profiles/2015-10-10 2015.
[8] O. Foundation, "Unified Architecture : Part 2: Security Model ",
https://opcfoundation.org/developer-tools/specifications-unified-
architecture/part-2-security-model/2015-10-10 2015.
[9] O. Foundation, "Unified Architecture : Part 5: Information
Model," https://opcfoundation.org/developer-tools/specifications-
unified- architecture/part-5-information-model/
2015-10-10 2015.
[10] OASIS, "MQTT Version 3.1.1," ed. http://docs.oasis-
open.org/mqtt/mqtt/v3.1.1/os/mqtt-v3.1.1-os.doc, 2014, p. 81.
[11] Z. Z. Akram Syed Ali, "A low-cost Arduino-based platform for
long- term indoor environmental data collection," Open Source
Building Science Sensors (OSBSS), vol. 100, pp. 114-126, 2016.
[12] O. Foundation, "Unified Architecture : Java Stack and Sample
Applications," https://opcfoundation.org/developer-
tools/developer- kits-unified-architecture/java-stack-and-sample-
applications/2015- 10-10 2015.
[13] T. M. Rajmohan Rajaraman, Adam Dunkels, Anna Scaglione,
"Distributed Computing in Sensor Systems," presented at the 6th
IEEE International Conference,, Santa Barbara, CA, USA, 2010.
[14] S. Khan and A.-s. Khan Pathan, Wireless networks and security :
issues, challenges and research trends. Berlin ; New York:
Springer, 2013.
[15] H. A. K. M. R. E. D. S. D. Sciascio, "CoAP-based healthcare
sensor networks: A survey," presented at the Proceedings of 2014
11th International Bhurban Conference on Applied Sciences &
Technology (IBCAST) Islamabad, Pakistan, 14th - 18th January,
2014 Islamabad 2014.
[16] R. K. M. Kirsche, "Chatty things - Making the Internet of Things
readily usable for the masses with XMPP," presented at the
Collaborative Computing: Networking, Applications and
Worksharing (CollaborateCom), 2012 8th International
Conference on 2012.

También podría gustarte