“Sistema de control aplicado - UNP

139
“Sistema de control aplicado a comunas rurales aisladas y su vinculación con Internet de las cosas (IoT)” WALTER DANIEL ETCHART - ANDRES EZEQUIEL MARTINOVIC Director de Tesina: Mg. Ing. Ricardo A. López Tesina presentada a la Facultad de Ingeniería de la Universidad Nacional de la Patagonia San Juan Bosco como parte de los requisitos para la obtención del título de Licenciado en Sistemas (Or. Planificación, Gestión y Control de Proyectos Informáticos) Trelew, marzo de 2018 Facultad de Ingeniería - Sede Trelew Universidad Nacional de la Patagonia San Juan Bosco

Transcript of “Sistema de control aplicado - UNP

Page 1: “Sistema de control aplicado - UNP

“Sistema de control aplicado a comunas rurales aisladas y su vinculación con Internet

de las cosas (IoT)”

WALTER DANIEL ETCHART - ANDRES EZEQUIEL

MARTINOVIC

Director de Tesina: Mg. Ing. Ricardo A. López

Tesina presentada a la Facultad de Ingeniería de la Universidad Nacional de la Patagonia San

Juan Bosco como parte de los requisitos para la obtención del título de Licenciado en

Sistemas (Or. Planificación, Gestión y Control de Proyectos Informáticos)

Trelew, marzo de 2018

Facultad de Ingeniería - Sede Trelew

Universidad Nacional de la Patagonia San Juan Bosco

Page 2: “Sistema de control aplicado - UNP

pág. 2

AGRADECIMIENTOS De Andres:

A todas aquellas personas que con su ayuda han colaborado en la realización del presente

trabajo, en especial a aquellas personas que diariamente me han dado su apoyo incondicional

para poder avanzar a lo largo de todo este camino.

Me gustaría dedicar un agradecimiento especial a la Lic. Marta S. Saenz Lopez, que fue quien

me alentó a continuar por este camino de formación.

Además quisiera hacer extensiva mi gratitud a mis compañeros y profesores del

Departamento de Informática por su apoyo y acompañamiento a lo largo de estos años.

Un agradecimiento muy especial para mi familia y amigos por su paciencia, ánimos,

comprensión y principalmente por estar incondicionalmente conmigo durante estos años. Y

gracias a los que ya no están hoy conmigo, pero que siempre me acompañan.

De Walter:

A mis padres por su aliento continuo, que hace posible la concreción de este gran proyecto.

A mi pareja por su infinita paciencia y sosiego.

A mis hermanos por ser parte de mí.

De Andres y Walter:

A Ricardo, por su guía, recomendaciones y sugerencias durante el desarrollo de esta tesina,

pero sobre todo por la motivación y el apoyo recibido.

A Gastón, compañero y amigo, por aportarnos su experiencia y sapiencia a lo largo de la

carrera.

Andres E. Martinovic

Walter D. Etchart

Page 3: “Sistema de control aplicado - UNP

pág. 3

RESUMEN El mundo de las Comunidades Rurales Aisladas es muy amplio y diverso. Para los objetivos

de esta tesina no resulta necesario entrar en el análisis de su diversidad, sino más bien en el

de los elementos que las unen, fundamentalmente, la ausencia de infraestructuras básicas

(recursos energéticos básicos), vital para alcanzar unos niveles de bienestar y desarrollo

razonables. Esta problemática, en principio, es afrontada por organismos gubernamentales

mediante el uso de equipos que utilizan energías renovables o alternativas. Dada la poca

frecuencia con que se realizan las salidas por mantenimiento, muchas veces suele ocurrir que

las baterías de los equipos se desgastan más rápido de lo previsto o que los equipos sufren

fallas inesperadas.

En la actualidad, no existen mecanismos implementados para llevar un control más preciso de

estos equipos, por lo que los mantenimientos son estipulados cada ciertos intervalos regulares

de tiempo, basados en la experiencia de los técnicos. Sin embargo, si estos equipos contarán

con la capacidad de informar su estado (por ejemplo, si pudieran transmitir la corriente que

están generando) se podría determinar si el equipo está funcionando adecuadamente y así

tener un control más preciso del funcionamiento de los mismos.

Esta problemática permite tener una base interesante y comprometida socialmente para

ahondar en conceptos en pleno auge como es el caso de Internet de las Cosas.

A partir de la problemática planteada y del concepto de partida mencionado, se satisface con

el objetivo principal de este trabajo, el cual es:

● Estudiar e investigar el concepto de IoT y de diferentes protocolos de comunicación

entre sistemas, como marco de trabajo orientado a la colaboración y compartimiento

de información entre diferentes aplicaciones. Estudiar e investigar los distintos tipos

de sensores aplicables a este proyecto. Estudiar e implementar el patrón de diseño

publish/subscribe como herramienta que sirve para mejorar la eficiencia en la

comunicación e interoperabilidad entre aplicaciones.

El principal resultado de esta tesina es el desarrollo de un sistema de control que incluye

diversos conceptos a partir de lo mencionado en el objetivo principal y que está dirigido a

aportar en la problemática de las Comunas Rurales Aisladas.

Page 4: “Sistema de control aplicado - UNP

pág. 4

ÍNDICE AGRADECIMIENTOS _______________________________________________________________________________ 2

RESUMEN ____________________________________________________________________________________________ 3

CAPÍTULO 1: INTRODUCCIÓN _______________________________________________________________ 7

1 Definición del problema ___________________________________________________________________________ 7

2 Objetivos ____________________________________________________________________________________________ 8

2.1 Objetivo principal ________________________________________________________________________________________ 8 2.2 Objetivo secundario ______________________________________________________________________________________ 8

3 Fundamentos _______________________________________________________________________________________ 8 3.1 Interés que despierta esta línea de investigación _______________________________________________________ 9

4 Conceptos _________________________________________________________________________________________ 10 4.1 Sistema de control ______________________________________________________________________________________ 10 4.2 Internet de las Cosas ___________________________________________________________________________________ 11

5 Organización de la tesina ________________________________________________________________________ 12

5.1 CAPÍTULO 1: Introducción___________________________________________________________________________ 12 5.2 CAPÍTULO 2: Definiendo Internet de las Cosas ____________________________________________________ 12 5.3 CAPÍTULO 3: Aspectos relevantes en torno a Internet de las Cosas ______________________________ 13 5.4 CAPÍTULO 4: Modelos de comunicación ____________________________________________________________ 13 5.5 CAPÍTULO 5: Protocolos de comunicación__________________________________________________________ 13 5.6 CAPÍTULO 6: Redes de comunicación inalámbricas y sensores ___________________________________ 13 5.7 CAPÍTULO 7: Entorno de aplicación del sistema ___________________________________________________ 14 5.8 CAPÍTULO 8: Visualización de datos ________________________________________________________________ 14 5.9 CAPÍTULO 9: Conclusiones __________________________________________________________________________ 14

CAPÍTULO 2: DEFINIENDO INTERNET DE LAS COSAS _______________________________ 15

1 Orígenes, Impulsores y Aplicaciones ___________________________________________________________ 15 1.1 Entornos para aplicaciones de IoT ______________________________________________________________________ 17

2 Buscando una Definición de IoT ________________________________________________________________ 18

3 Patrones de Comunicación ______________________________________________________________________ 20 3.1 Modelo de comunicación de dispositivo a dispositivo __________________________________________________ 20 3.2 Modelo de comunicación de dispositivo a nube ________________________________________________________ 21 3.3 Modelo de comunicación de dispositivo a puerta de enlace ____________________________________________ 22 3.4 Modelo de comunicación de intercambio de datos a través del back-end ______________________________ 24

CAPÍTULO 3: ASPECTOS RELEVANTES EN TORNO A INTERNET DE LAS COSAS ________ 26

1 Temas que se plantean en torno a Internet de las Cosas ______________________________________ 26 1.1 La Seguridad en IoT _____________________________________________________________________________________ 26

1.1.1 Consideraciones de seguridad en los dispositivos de IoT __________________________________________ 27 1.1.1.1 Desafíos de seguridad de los dispositivos de IoT _____________________________________________ 28

1.1.2 Interrogantes acerca de la seguridad en IoT ________________________________________________________ 30 1.2 La Privacidad en IoT ____________________________________________________________________________________ 32

1.2.1 Aspectos relacionados con la privacidad pertenecientes sólo a IoT _______________________________ 33 1.2.2 Interrogantes acerca de la privacidad en IoT _______________________________________________________ 34

1.3 Interoperabilidad / Normas en IoT ______________________________________________________________________ 36

Page 5: “Sistema de control aplicado - UNP

pág. 5

1.3.1 Consideraciones clave y desafíos en la Interoperabilidad / Estándares de IoT ____________________ 37 1.3.2 Interrogantes acerca de la interoperabilidad en IoT ________________________________________________ 39

1.4 Aspectos reglamentarios, legales y de derechos en IoT _________________________________________________ 40 1.4.1 Protección de datos y flujos transfronterizos _______________________________________________________ 40 1.4.2 Discriminación de los datos de IoT _________________________________________________________________ 41 1.4.3 Los dispositivos de IoT utilizados como ayudas para las agencias de aplicación de la ley y la

seguridad pública _________________________________________________________________________________________ 43 1.4.4 Responsabilidad por los dispositivos de IoT _______________________________________________________ 44 1.4.5 Proliferación de dispositivos de IoT utilizados en acciones legales _______________________________ 45

1.5 Cuestiones relacionadas con las economías emergentes y el desarrollo ________________________________ 46 1.5.1 Oportunidades económicas y de desarrollo ________________________________________________________ 46 1.5.2 Aprovechar IoT para el desarrollo global __________________________________________________________ 47 1.5.3 Interrogantes acerca de IoT y su relación con las economías emergentes y su desarrollo _________ 48

CAPÍTULO 4: MODELOS DE COMUNICACIÓN _________________________________________________ 50

1 Introducción ______________________________________________________________________________________ 50

2 Los modelos Cliente/Servidor y Publicador/Suscriptor _______________________________________ 50 2.1 Modelo Cliente/Servidor ________________________________________________________________________________ 50

2.1.1 Características ______________________________________________________________________________________ 51 2.1.2 Ventajas _____________________________________________________________________________________________ 53 2.1.3 Desventajas _________________________________________________________________________________________ 54

2.2 Modelo Publicador/Suscriptor ___________________________________________________________________________ 54 2.2.1 Filtrado de mensajes ________________________________________________________________________________ 54 2.2.2 Topologías __________________________________________________________________________________________ 55 2.2.3 Ventajas _____________________________________________________________________________________________ 56 2.2.4 Desventajas _________________________________________________________________________________________ 56

2.3 Cliente/Servidor vs. Publicador/Subscriptor ____________________________________________________________ 57

CAPÍTULO 5: PROTOCOLOS DE COMUNICACIÓN ____________________________________________ 58

1 Introducción ______________________________________________________________________________________ 58

2 Protocolos _________________________________________________________________________________________ 58 2.1 OPC ______________________________________________________________________________________________________ 58

2.1.1 OPC UA ____________________________________________________________________________________________ 64 2.2 HTTP (REST/JSON) ____________________________________________________________________________________ 64 2.3 MQTT ____________________________________________________________________________________________________ 66

2.3.1 QoS para MQTT ____________________________________________________________________________________ 69 2.3.1.1 Degradación del QoS para MQTT _____________________________________________________________ 70 2.3.1.2 Niveles QoS para MQTT ______________________________________________________________________ 71

2.3.2 Conclusión __________________________________________________________________________________________ 74 2.4 CoAP _____________________________________________________________________________________________________ 75

2.4.1 Funcionalidades del Protocolo CoAP ______________________________________________________________ 77 2.4.2 Tipos de Mensajes __________________________________________________________________________________ 77 2.4.3 Soluciones Existentes _______________________________________________________________________________ 78

2.5 DDS ______________________________________________________________________________________________________ 79 2.5.1 Arquitectura _________________________________________________________________________________________ 79

2.6 AMQP ___________________________________________________________________________________________________ 80 2.6.1 Modelo AMQP _____________________________________________________________________________________ 80

2.6.1.1 Intercambiadores _______________________________________________________________________________ 82 2.6.1.2 Colas ___________________________________________________________________________________________ 82 2.6.1.3 Mensajes _______________________________________________________________________________________ 83

Page 6: “Sistema de control aplicado - UNP

pág. 6

2.6.1.4 Vinculaciones __________________________________________________________________________________ 83 2.6.1.5 Tipos de intercambiadores y el efecto de las vinculaciones ___________________________________ 84

CAPÍTULO 6: REDES DE COMUNICACIÓN INALÁMBRICAS Y SENSORES _________________ 86

1 Introducción ______________________________________________________________________________________ 86

2 Redes Inalámbricas ______________________________________________________________________________ 89

3 Sensores ___________________________________________________________________________________________ 91 3.1 Características ___________________________________________________________________________________________ 91 3.2 Resolución y Precisión __________________________________________________________________________________ 92

4 Conclusión ________________________________________________________________________________________ 93

CAPÍTULO 7: ENTORNO DE APLICACIÓN DEL SISTEMA _____________________________ 95

1 Introducción ______________________________________________________________________________________ 95

2 Sistema propuesto ________________________________________________________________________________ 95 2.1 Tipo de sistema planteado _______________________________________________________________________________ 96

3 Ambiente de simulación _________________________________________________________________________ 98

4 Punto de partida del desarrollo propuesto ____________________________________________________ 107 4.1 Funcionalidades del Software __________________________________________________________________________ 110 4.2 Componentes Hardware ________________________________________________________________________________ 111

5 Manejo de datos _________________________________________________________________________________ 111 5.1 Broker ___________________________________________________________________________________________________ 115 5.2 Plataforma Web _________________________________________________________________________________________ 116 5.3 Persistencia de los datos ________________________________________________________________________________ 117

CAPÍTULO 8: VISUALIZACIÓN DE DATOS ______________________________________________ 120

1 Introducción _____________________________________________________________________________________ 120

2 Herramientas aplicables y sus características ________________________________________________ 120 2.1 Graphene ________________________________________________________________________________________________ 121 2.2 Emoncms _______________________________________________________________________________________________ 121 2.3 Freeboard _______________________________________________________________________________________________ 121 2.4 Tecnología elegida para el muestreo de datos __________________________________________________________ 122 2.5 Distintos tipos de accesos y visualización de la información __________________________________________ 131

CAPÍTULO 9: CONCLUSIONES _____________________________________________________________ 135

1 Introducción _____________________________________________________________________________________ 135

2 Aportes ___________________________________________________________________________________________ 136

3 Investigaciones futuras y mejoras sugeridas por la presente tesina _________________________ 136

BIBLIOGRAFÍA _________________________________________________________________________________ 138

Page 7: “Sistema de control aplicado - UNP

pág. 7

CAPÍTULO 1:

INTRODUCCIÓN

1 Definición del problema

La provisión de energía en las zonas rurales y de baja densidad de población constituye un

problema de difícil solución técnica-económica-institucional desde el punto de vista

convencional de los sistemas centralizados. Es por ello que se están empleando soluciones

parciales de esta problemática a través de sistemas descentralizados, basados en fuentes de

energía locales y renovables, y gerenciados mediante sistemas institucionales innovativos

(privatizaciones, concesiones, subsidios parciales, etc.).

En esta situación se encuentran las comunidades rurales aisladas (CRA) donde la ausencia de

infraestructuras básicas (recursos energéticos básicos) impiden que se alcancen niveles de

bienestar y desarrollo razonables.

En el caso de los asentamientos rurales de la provincia de Chubut, éstos se caracterizan por su

dispersión en cuanto a su ubicación geográfica o al agrupamiento en pequeñas aldeas. Las

distancias que los separan entre sí con los centros urbanos, la falta de rápidos medios de

comunicación y las condiciones socioeconómicas, sumado a las características climáticas

rigurosas del invierno patagónico, crean una situación donde el abastecimiento energético

resulta fundamental para evitar situaciones de marginación.

Esta problemática, en principio, es afrontada por organismos gubernamentales mediante el

uso de energías renovables o alternativas y grupos electrógenos para la generación de energía

eléctrica. Estos organismos son los encargados, en la mayoría de los casos, de proveer los

equipos así como el mantenimiento de los mismos. Normalmente se programan viajes cada

ciertos períodos de tiempo, con el fin de realizar el mantenimiento y reabastecimiento de los

equipos. Sin embargo, las distancias y las dificultades para acceder a algunas de estas zonas

hacen que estos períodos de mantenimiento sean más prolongados, dejando a las comunas

rurales sin abastecimiento de energía, lo cual es un gran problema para las personas que allí

habitan.

Si bien los grupos electrógenos para la generación de energía parecen una solución a la

problemática de abastecimiento energético, todavía está el problema de los tiempos de

mantenimiento y reabastecimiento de combustible para que estos equipos funcionen. Es por

ello que se impulsó en diferentes provincias del país el proyecto de electrificación rural con

utilización de fuentes renovables, denominado “PERMER”. El mismo estuvo dirigido a

viviendas y establecimientos de servicios públicos rurales dispersos (escuelas, puestos

sanitarios, centros comunitarios, puestos de parques nacionales, provinciales, puestos de

gendarmería, etc.) que no disponían de la posibilidad de acceder al servicio eléctrico a través

del sistema interconectado de electricidad. Este proyecto consistió, en una primera instancia,

en la adquisición e instalación de molinos de baja potencia para la generación de energía

Page 8: “Sistema de control aplicado - UNP

pág. 8

eléctrica y, en una segunda instancia, se incorporaron sistemas fotovoltaicos basados en

paneles solares para la generación de energía eléctrica destinada a iluminación y sistemas de

calentamiento de agua y calefacción, mediante termotanques solares.

Estos sistemas, basados en molinos y paneles, proporcionan un medio para el suministro de

energía a través de fuentes renovables. Sin embargo, como ocurre con los grupos

electrógenos, éstos no están exentos de fallas o averías por lo que requieren de un constante

mantenimiento. Por ejemplo, en el caso de los molinos de baja potencia, un problema

frecuente es que éstos tienden a dañarse fácilmente cuando las ráfagas de viento son muy

intensas; esto es debido a que no cuentan con sistemas automáticos de orientación de aspas

para adaptarse a los fuertes vientos y si bien cuentan con sistemas de control de freno, estos

resultan insuficientes ante velocidades de viento excesivas y variables, como es el caso de la

provincia del Chubut; dando como resultado que el rotor del molino se embale y se dañe al

punto de quedar inutilizable. En el caso de los paneles, puede ocurrir que algunas de las

celdas se dañen o entren en cortocircuito, haciendo que no entregue la cantidad de energía

suficiente para alimentar el banco de baterías.

2 Objetivos

Se han determinado una serie de objetivos a lograr con esta tesina que a continuación se

detallan:

2.1 Objetivo principal

Estudiar e investigar el concepto de IoT y diferentes protocolos de comunicación entre

sistemas, como marco de trabajo orientado a la colaboración y compartimiento de

información entre diferentes aplicaciones. Estudiar e investigar los distintos tipos de sensores

aplicables a este proyecto. Estudiar e implementar el patrón de diseño publish/subscribe

como herramienta que sirve para mejorar la eficiencia en la comunicación e interoperabilidad

entre aplicaciones.

2.2 Objetivo secundario

Desarrollar un sistema de control y comunicación que permita el tratamiento de diferentes

variables generadas en el campo de aplicación. Aplicar los conocimientos adquiridos durante

la carrera en la implementación de los módulos necesarios.

3 Fundamentos

Dada la poca frecuencia con que se realizan las salidas por mantenimiento, muchas veces

suele ocurrir que las baterías de los equipos se desgastan más rápido de lo previsto o que los

equipos sufren fallas inesperadas.

Page 9: “Sistema de control aplicado - UNP

pág. 9

En la actualidad, no existen mecanismos implementados para llevar un control más preciso de

estos equipos, por lo que los mantenimientos son estipulados cada ciertos intervalos regulares

de tiempo, basados en la experiencia de los técnicos. Sin embargo, si estos equipos contarán

con la capacidad de informar su estado (por ejemplo, si pudieran transmitir la corriente que

están generando) se podría determinar si el equipo está funcionando adecuadamente y así

tener un control más preciso del funcionamiento de los mismos. Esto no solo permitiría

organizar salidas mejor programadas sino que también se podrían obtener datos relevantes

para diferentes estudios (por ejemplo, duración promedio de las baterías, vida útil de las

diferentes marcas de paneles, promedio de fallas, estudios de factibilidad de instalación de

parques eólicos, entre otros). Estos datos podrían ser de interés no solo para los organismos

responsables de los equipos sino también para otros organismos relacionados (tales como el

Ministerio de Salud de la provincia de Chubut, el Ministerio de Familia y Promoción Social

de la provincia de Chubut, entre otros) o para diferentes usuarios interesados, lo que

emparenta este desarrollo con el concepto de Internet de las Cosas.

3.1 Interés que despierta esta línea de investigación

Internet de las Cosas (IoT) es un concepto que en la actualidad está en pleno auge,

particularmente en el país no ha tenido un desarrollo considerable en comparación con otros

países que son pioneros en el tema, pero a nivel mundial cada vez se está dando mayor interés

a esta temática.

Este proyecto nos permite incursionar en el concepto de IoT para entenderlo mejor y realizar

un primer acercamiento a él y a los elementos que se requieren para su aplicación, como los

protocolos de comunicación entre sistemas. Por otro lado, hay una necesidad de fondo de

aplicar lo investigado al respecto sobre alguna idea particular que nos dé una base de

desarrollo.

La arquitectura de los sistemas de control, junto al patrón de diseño publish/subscribe, nos

proveen la base justa para llevar a cabo un desarrollo que involucre el componente IoT.

El desarrollo propuesto sobre el conjunto de conceptos mencionados (IoT y sistema de

control) nos permite, a su vez, aportar sobre una problemática que está presente en la

provincia de Chubut, particularmente, y en otras partes del país a nivel general. Esta

problemática se refiere a las comunas rurales aisladas y su dificultad tanto para adquirir

recursos energéticos como para obtener mantenimiento de los equipos que les proveen estos

recursos.

Este proyecto nos permitirá ahondar en los conceptos mencionados para aportar en la

problemática indicada aplicando distintos conceptos adquiridos a lo largo del cursado de la

carrera Licenciatura en Sistemas, lo que nos otorgará mayor experiencia y conocimiento.

Page 10: “Sistema de control aplicado - UNP

pág. 10

4 Conceptos

A continuación se detallan los conceptos principales de esta tesina, los cuales dan el punto de

partida tanto del desarrollo propuesto como de otros conceptos abarcados que serán

explicados a lo largo del documento.

4.1 Sistema de control

Un sistema dinámico puede definirse conceptualmente como un ente que recibe unas

acciones externas o variables de entrada, y cuya respuesta a estas acciones externas son las

denominadas variables de salida.

Las acciones externas al sistema se dividen en dos grupos, variables de control, que se

pueden manipular, y perturbaciones sobre las que no es posible ningún tipo de control.

Dentro de los sistemas se encuentra el concepto de sistema de control. Un sistema de control

es un tipo de sistema que se caracteriza por la presencia de una serie de elementos que

permiten influir en el funcionamiento del sistema. La finalidad de un sistema de control es

conseguir, mediante la manipulación de las variables de control, un dominio sobre las

variables de salida, de modo que estas alcancen unos valores prefijados (consigna).

Un sistema de control ideal debe ser capaz de conseguir su objetivo cumpliendo los

siguientes requisitos:

1. Garantizar la estabilidad y, particularmente, ser robusto frente a perturbaciones y

errores en los modelos.

2. Ser tan eficiente como sea posible, según un criterio preestablecido. Normalmente

este criterio consiste en que la acción de control sobre las variables de entrada sea

realizable, evitando comportamientos bruscos e irreales.

3. Ser fácilmente implementable y cómodo de operar en tiempo real con ayuda de una

computadora.

Los elementos básicos que forman parte de un sistema de control y permiten su manipulación

son los siguientes:

Page 11: “Sistema de control aplicado - UNP

pág. 11

● Sensores: Permiten conocer los valores de las variables medidas del sistema.

● Controlador: Utilizando los valores determinados por los sensores y la consigna

impuesta, calcula la acción que debe aplicarse para modificar las variables de control

en base a cierta estrategia.

● Actuador: Es el mecanismo que ejecuta la acción calculada por el controlador y que

modifica las variables de control.

Existen dos clases comunes de sistemas de control, sistemas de lazo abierto y sistemas de

lazo cerrado. En los sistemas de control de lazo abierto la salida se genera dependiendo de la

entrada; mientras que en los sistemas de lazo cerrado la salida depende de las consideraciones

y correcciones realizadas por la realimentación.

El sistema que se plantea en esta tesis es un sistema de lazo cerrado, dado que cada estrategia

de control/corrección se manifiesta a partir del valor entregado por los sensores disponibles,

según corresponda el caso. Este concepto se ampliará en un posterior capítulo de esta tesina.

4.2 Internet de las Cosas

A pesar de ser un tema en pleno auge y del cual muchas empresas de diferentes industrias se

están haciendo eco tratando de explotar su capacidad, no existe una definición consensuada

y/o aceptada por todos los involucrados. A continuación veremos algunas definiciones:

El Consejo de Arquitectura de Internet (Internet Architecture Board, IAB) comienza la RFC

7452,33 “Architectural Considerations in Smart Object Networking’’, con esta definición:

“El término “Internet de las Cosas” (IoT) denota una tendencia en que un gran número de

dispositivos embebidos utilizan los servicios de comunicación que ofrecen los protocolos de

Internet. A estos dispositivos suelen llamarlos “objetos inteligentes’’ y no son operados

Page 12: “Sistema de control aplicado - UNP

pág. 12

directamente por un ser humano, sino que existen como componentes en edificios o

vehículos o están distribuidos en el entorno.”

Oxford Dictionaries ofrece una definición concisa que invoca a Internet como un elemento de

IoT:

“Internet de las Cosas (sustantivo): Interconexión a través de Internet de dispositivos de

computación integrados en objetos cotidianos, que les permite enviar y recibir datos.”

El Instituto de Ingeniería Eléctrica y Electrónica (Institute of Electrical and Electronics

Engineers, IEEE) está intentando generar una definición que abarque todos los aspectos

relacionados con Internet de las Cosas, en este sentido, establece una definición que aún a día

de hoy sigue abierta a cualquier colaboración que pueda producirse para mejorarla:

“En términos generales, Internet de las Cosas (IoT) es un sistema que consiste en redes de

sensores, actuadores y objetos inteligentes cuyo objetivo es interconectar "todas" las cosas,

incluyendo objetos cotidianos e industriales, de tal manera que sean inteligentes,

programables y más capaces de interactuar con los seres humanos y entre sí.”

Existen múltiples definiciones que parten de diferentes puntos de vista. Las diferentes

definiciones de IoT no necesariamente son contradictorias, sino que más bien enfatizan

diferentes aspectos del fenómeno desde diferentes puntos de vista y casos de uso.

El concepto de Internet de las Cosas se ampliará en capítulos siguientes de este documento y

se unificará un concepto en pos de abarcar los objetivos y casos de uso de este trabajo.

5 Organización de la tesina

Esta tesina se divide en los 8 capítulos que se describen a continuación:

5.1 CAPÍTULO 1: Introducción

Aquí se describe la presentación de la problemática, los objetivos perseguidos con el

desarrollo de la tesina, los conceptos centrales a investigar y exponer, y el interés que

despierta esta línea de investigación a las desarrolladores de esta tesina en particular.

5.2 CAPÍTULO 2: Definiendo Internet de las Cosas

En este capítulo se realiza una introducción y un acercamiento histórico al concepto de

Internet de las Cosas. Se detallan los entornos en donde el concepto es aplicable, ya que éstos

son diversos y se refieren a distintas industrias.

No existe una definición consensuada de Internet de las Cosas con lo cual en este capítulo

también se muestran las definiciones más relevantes y diversas, y el equipo de desarrollo de

esta tesina intenta armar, a partir de éstas, una definición lo más abarcativa posible.

Page 13: “Sistema de control aplicado - UNP

pág. 13

Por último se describen los patrones de comunicación existentes para Internet de las Cosas.

5.3 CAPÍTULO 3: Aspectos relevantes en torno a Internet de las

Cosas

Los temas relacionados con Internet de las Cosas forman un amplio espectro que es difícil

abarcar, sin embargo, entre estos temas pueden destacarse resumidamente cinco, a los cuales

se hace referencia en este capítulo. Estos temas son: la seguridad; la privacidad; la

interoperabilidad y los estándares; aspectos legales, reglamentarios y de derechos; y las

economías emergentes y el desarrollo.

5.4 CAPÍTULO 4: Modelos de comunicación

En este capítulo se plantea la interoperabilidad como el gran desafío que enfrenta la

aplicación del concepto de Internet de las Cosas. Se plantean y se definen los modelos de

protocolos Cliente/Servidor y Publicador/Suscriptor como modelos globales de protocolos a

aplicar en los sistemas de Internet de las Cosas, se definen las ventajas y desventajas de cada

modelo y se realiza una comparación de ambos.

5.5 CAPÍTULO 5: Protocolos de comunicación

En el presente capítulo, se realiza un estudio de los distintos protocolos de comunicación,

tanto privados como de estándares abiertos, aplicables al desarrollo propuesto en esta tesina.

Se procede con la descripción, características, ventajas, limitaciones y funcionamiento que

presenta cada uno.

5.6 CAPÍTULO 6: Redes de comunicación inalámbricas y

sensores

Este capítulo abarca la arquitectura de Internet de las Cosas teniendo en cuenta los principales

componentes de la misma (dispositivos u objetos, infraestructura de comunicación e

infraestructura de computación). Dentro de los dispositivos se tienen en cuenta aquellos que

tienen la capacidad para interactuar con los usuarios obteniendo información mediante

sensores y actuando, mediante relés y puertos digitales, sobre su entorno. La infraestructura

de comunicación está formada a partir de redes inalámbricas, en su mayoría, que permiten el

envío de los datos recopilados por los distintos dispositivos; este capítulo define los distintos

tipos de redes inalámbricas que se pueden utilizar en un entorno de IoT.

Luego, se define un sensor como cualquier dispositivo que detecta o mide una magnitud

física y entrega una valoración de la misma, normalmente en forma de un valor digital, es

decir un valor utilizable en el “cibermundo”. A su vez, en este capítulo se mencionan los

distintos tipos de sensores de los cuales se puede hacer uso.

Page 14: “Sistema de control aplicado - UNP

pág. 14

5.7 CAPÍTULO 7: Entorno de aplicación del sistema

En este capítulo se realiza una descripción de la arquitectura y de los elementos que

componen el sistema propuesto para el desarrollo mencionado para esta tesina.

Se clasifica el sistema descrito, ya que dependiendo de su funcionamiento puede ser de lazo

cerrado o de lazo abierto; en este caso, se trata de un sistema de lazo cerrado. Dentro del

capítulo se describe estos conceptos.

También se detalla el ambiente de simulación para el sistema desarrollado; en este apartado

se realiza una descripción del alcance del ambiente de simulación, el cual está acotado ya

que, por naturaleza son muchas y diversas las variables que se pueden considerar en un

sistema de este tipo.

Otro punto importante de este capítulo es la definición del manejo de los datos a relevar por

los distintos dispositivos planteados; se explica la interconexión de los elementos que abarcan

este ítem y el protocolo que éstos utilizan para cumplir con la tarea.

5.8 CAPÍTULO 8: Visualización de datos

Este capítulo contempla los distintos medios de visualización de datos, aplicables a este

desarrollo. Se plantean los diversos requerimientos que debe satisfacer la interfaz del

aplicativo para un adecuado muestreo de datos, se describen distintas soluciones disponibles

en el mercado, analizando sus ventajas y desventajas, como también las diferentes posturas

utilizadas para la elección utilizada.

Otro punto contemplado en este capítulo, es la posibilidad que brinda el aplicativo para poder

hacer uso de distintos paneles de muestreo (aparte del utilizado para este desarrollo), con el

objetivo de brindar distintos tipos de accesos para la visualización de la información que se

ajusten a las diferentes necesidades. Se realiza hincapié principalmente a paneles de muestreo

disponibles en diversas plataformas, como Android.

5.9 CAPÍTULO 9: Conclusiones

En este capítulo se realiza una integración de conceptos principales que se desean rescatar, se

hace mención a los aportes que efectúa esta tesina y se dan ideas de futuras líneas de

investigación, como de posibles mejoras a implementar que se desprenden a partir de este

trabajo.

Page 15: “Sistema de control aplicado - UNP

pág. 15

CAPÍTULO 2:

DEFINIENDO INTERNET DE LAS

COSAS

1 Orígenes, Impulsores y Aplicaciones

El término “Internet de las Cosas” (IoT) fue empleado por primera vez en 1999 por el

pionero británico Kevin Ashton para describir un sistema en el cual los objetos del mundo

físico se podían conectar a Internet por medio de sensores. Ashton acuñó este término para

ilustrar el poder de conectar a Internet las etiquetas de identificación por radiofrecuencia

(RFID) que se utilizaban en las cadenas de suministro corporativas para contar y realizar un

seguimiento de las mercancías sin necesidad de intervención humana. Hoy en día, el término

Internet de las Cosas se ha popularizado para describir escenarios en los que la conectividad a

Internet y la capacidad de cómputo se extienden a una variedad de objetos, dispositivos,

sensores y artículos de uso diario.

Aunque el término “Internet de las Cosas” es relativamente nuevo, el concepto de combinar

computadoras y redes para monitorear y controlar diferentes dispositivos ha existido durante

décadas. Por ejemplo, a fines de la década de 1970 ya había en el mercado sistemas

disponibles para monitorear los medidores conectados a la red eléctrica de forma remota a

través de las líneas telefónicas. En la década de 1990, los avances en la tecnología

inalámbrica permitieron la difusión de soluciones corporativas e industriales “máquina a

máquina” (M2M) para monitorear y operar diferentes equipos. Sin embargo, muchas de estas

primeras soluciones M2M se basaban en redes dedicadas especialmente construidas para este

propósito y en estándares propietarios o específicos de la industria, no en redes basadas en el

Protocolo de Internet (IP) y los estándares de Internet.

El uso del protocolo IP para conectar a Internet dispositivos que no son computadoras no es

una idea nueva. El primer “dispositivo” para Internet, una tostadora conectada vía IP que se

podía encender y apagar a través de Internet, se presentó en una conferencia sobre Internet

realizada en 1990. Durante los años siguientes se fueron conectando otras “cosas” vía IP,

entre ellas una máquina de refrescos en la Universidad Carnegie Mellon en Estados Unidos y

una cafetera en el Trojan Room de la Universidad de Cambridge en el Reino Unido (que

permaneció conectada a Internet hasta 2001). Luego de estos inicios, una robusta área de

investigación y desarrollo dedicada a las “redes de objetos inteligentes” ayudó a sentar las

bases de Internet de las Cosas como la conocemos hoy.

Si la idea de conectar objetos entre sí y a Internet no es nueva, es razonable preguntar por qué

Internet de las Cosas es un tema que hoy en día está ganando popularidad.

Page 16: “Sistema de control aplicado - UNP

pág. 16

Desde una perspectiva amplia, la confluencia de diferentes tendencias tecnológicas y de

mercado está permitiendo interconectar dispositivos más pequeños de forma económica y

sencilla:

● Conectividad Ubicua. La conectividad generalizada, de bajo costo y alta velocidad,

sobre todo a través de servicios y tecnología inalámbrica con y sin licencia, hace que

casi todo sea “conectable“.

● Adopción generalizada de redes basadas en el protocolo IP. El protocolo IP se ha

convertido en el estándar dominante para la creación de redes y ofrece una plataforma

bien definida y ampliamente implementada en software y herramientas que se pueden

incorporar en una variedad de dispositivos de forma fácil y económica.

● Economías en la capacidad de cómputo. Impulsada por las inversiones de la

industria en las áreas de investigación, desarrollo y fabricación, la Ley de Moore1

continúa ofreciendo mayor potencia de cálculo a precios más bajos y con menor

consumo de energía.

● Miniaturización. Los avances logrados en la fabricación permiten incorporar

tecnología de cómputo y comunicaciones de vanguardia en objetos muy pequeños2.

Junto con una mayor economía en la capacidad de cómputo, esto ha impulsado el

desarrollo de sensores pequeños y de bajo costo que a su vez impulsan muchas

aplicaciones de IoT.

● Avances en el análisis de datos. La existencia de nuevos algoritmos y el rápido

aumento de la potencia de cálculo, el almacenamiento de datos y los servicios en la

nube permiten agregar, correlacionar y analizar grandes cantidades de datos. Estos

conjuntos de datos grandes y dinámicos ofrecen nuevas oportunidades para extraer

información y conocimiento.

● Surgimiento de la computación en la nube. La computación en la nube aprovecha

recursos informáticos remotos conectados en red para procesar, gestionar y almacenar

datos. Este paradigma permite que dispositivos pequeños y distribuidos interactúen

con potentes sistemas de soporte que brindan capacidades analíticas y de control.

Desde este punto de vista, IoT representa la convergencia de una variedad de tendencias en

las áreas de la computación y la conectividad que se vienen dando desde hace muchas

décadas. En la actualidad, una amplia gama de sectores de la industria (entre ellos el sector

automotriz, de salud, de manufactura, la electrónica de consumo y para el hogar) están

1 La Ley de Moore tomó su nombre de Gordon Moore, pionero en el estudio de los semiconductores, quien observó que en los

circuitos integrados el número de transistores por pulgada cuadrada se duplica aproximadamente cada dos años, lo que

permite colocar mayor potencia de cálculo en chips cada vez más pequeños.

2 Además de otros avances técnicos, la miniaturización de los dispositivos electrónicos también es impulsada por la ley de

Moore.

Page 17: “Sistema de control aplicado - UNP

pág. 17

analizando el potencial de incorporar la tecnología de IoT en sus productos, servicios y

operaciones, e incluso, algunos de ellos, ya la han incorporado.

Muchas organizaciones han desarrollado sus propias taxonomías y clasificaciones de las

aplicaciones de IoT y sus casos de uso. Por ejemplo, “IoT industrial” es un término

ampliamente utilizado por empresas y asociaciones para describir aplicaciones de IoT que se

relacionan con la producción de bienes y servicios, por ejemplo, en la industria

manufacturera y los servicios públicos. Otros discuten IoT según el tipo de dispositivo, por

ejemplo, dispositivos para vestir y electrodomésticos. Aún otros abordan IoT en el contexto

de implementaciones integradas basadas en su ubicación, por ejemplo “hogares inteligentes”

o “ciudades inteligentes’’. Sea cual fuera la aplicación, es evidente que los casos de uso de

IoT se podrían extender a casi todos los aspectos de nuestras vidas.

A medida que crece el número de dispositivos conectados a Internet, se espera que la

cantidad de tráfico que generan aumente significativamente. Por ejemplo, Cisco estima que el

tráfico generado por dispositivos que no son computadoras personales aumentará del 40% en

2014 a casi el 70% en 2019. También pronostica que el número de conexiones M2M

(incluyendo las aplicaciones industriales, residenciales, para el cuidado de la salud,

automotrices y otros mercados verticales de IoT) aumentará del 24% de todos los dispositivos

conectados en 2014 al 43% en 2019.

Una consecuencia de esta tendencia podría ser un cambio en la relación usuario-Internet, que

podría estar desembocando en una interacción más pasiva de los usuarios y más activa de los

dispositivos; estos dispositivos envían y reciben datos en nombre del usuario, con poca

intervención humana e incluso sin que nadie tenga conciencia de lo que está ocurriendo.

La potencial realización de este resultado (un “mundo hiperconectado”) es una prueba de la

naturaleza de propósito general de la arquitectura de Internet, que no impone limitaciones

inherentes a las aplicaciones o servicios que pueden hacer uso de la tecnología3.

1.1 Entornos para aplicaciones de IoT

● Cuerpo humano. Dispositivos unidos al cuerpo humano o colocados dentro del

mismo. Por ejemplo, dispositivos (para ingerir o ingeribles) para monitorear y

mantener la salud y el bienestar de las personas, manejar enfermedades, aumentar la

aptitud física y la productividad.

● Hogar. Edificios de viviendas. Por ejemplo, controladores y sistemas de seguridad

para el hogar.

● Puntos de ventas. Espacios comerciales. Por ejemplo, tiendas, bancos, restaurantes,

estadios, cualquier lugar donde los consumidores consideren y compren; sistemas de

autopago, ofertas en compras presenciales, optimización del inventario.

3 Si desea leer una discusión más detallada sobre las características fundamentales de Internet y su arquitectura, consulte el

trabajo de la Internet Society titulado “Internet Invariants: What Really Matters,” disponible en http://www.internetsociety.org/internet-invariants-what-really-matters

Page 18: “Sistema de control aplicado - UNP

pág. 18

● Oficinas. Espacios donde trabajan trabajadores del conocimiento. Por ejemplo,

gestión de la energía y la seguridad en los edificios de oficinas; mejora de la

productividad, incluso para los empleados móviles.

● Vehículos. Sistemas dentro de vehículos en movimiento. Vehículos, incluyendo

automóviles, camiones, barcos, aviones y trenes; mantenimiento basado en la

condición, diseño, uso, análisis de preventa.

● Ciudades. Entornos urbanos. Espacios públicos e infraestructura en entornos urbanos;

sistemas de control adaptativo de tráfico, contadores inteligentes, monitoreo

ambiental, gestión de recursos.

● Exteriores. Entre entornos urbanos (y fuera de otros entornos). Los usos exteriores

incluyen las vías de ferrocarril, los vehículos autónomos (fuera de los centros

urbanos) y la navegación aérea; el enrutamiento en tiempo real, la navegación

conectada, el seguimiento de envíos.

2 Buscando una Definición de IoT

A pesar de ser un tema en pleno auge y del cual muchas empresas de diferentes industrias se

están haciendo eco tratando de explotar su capacidad, no existe una definición consensuada

y/o aceptada por todos los involucrados. Incluso, algunas definiciones involucran el concepto

de Internet y el Protocolo de Internet (IP) y otras no. A continuación veremos algunas

definiciones:

El Consejo de Arquitectura de Internet (Internet Architecture Board, IAB) comienza la RFC

7452,33 “Architectural Considerations in Smart Object Networking’’, con esta definición:

“El término “Internet de las Cosas” (IoT) denota una tendencia en que un gran número de

dispositivos embebidos utilizan los servicios de comunicación que ofrecen los protocolos de

Internet. A estos dispositivos suelen llamarlos “objetos inteligentes’’ y no son operados

directamente por un ser humano, sino que existen como componentes en edificios o

vehículos o están distribuidos en el entorno.”

La Recomendación ITU–T Y.2060 que publicó la Unión Internacional de

Telecomunicaciones (UIT) en 2012, Overview of the Internet of things, discute el concepto

de interconectividad, pero no vincula a IoT específicamente con Internet:

“3.2.2 Internet de las Cosas (IoT): Infraestructura mundial para la sociedad de la

información que propicia la prestación de servicios avanzados mediante la interconexión

de objetos (físicos y virtuales) gracias a la interoperatividad de tecnologías de la

información y la comunicación presentes y futuras.

Nota 1 — Gracias a la identificación, la adquisición y el procesamiento de datos y a las

capacidades de comunicación, IoT hace pleno uso de los objetos para ofrecer servicios a

Page 19: “Sistema de control aplicado - UNP

pág. 19

todo tipo de aplicaciones, garantizando a su vez el cumplimiento íntegro de los requisitos

de seguridad y privacidad.

Nota 2 — Desde una perspectiva más amplia, IoT puede considerarse una noción con

repercusiones tecnológicas y sociales.”

Esta definición incluida en una convocatoria de trabajos para una edición de la IEEE

Communications Magazine 17

vincula a IoT con los servicios en la nube:

“La Internet de las Cosas (IoT) es un marco en el que todas las cosas tienen una

representación y una presencia en Internet. Más específicamente, la Internet de las Cosas

tiene como objetivo ofrecer nuevas aplicaciones y servicios que sirvan de puente entre el

mundo físico y el virtual, en que las comunicaciones ‘máquina a máquina’ (M2M)

representan la comunicación básica que permite las interacciones entre las cosas y las

aplicaciones en la nube.”

Oxford Dictionaries ofrece una definición concisa que invoca a Internet como un elemento de

IoT:

“Internet de las Cosas (sustantivo): Interconexión a través de Internet de dispositivos de

computación integrados en objetos cotidianos, que les permite enviar y recibir datos.”

El Instituto de Ingeniería Eléctrica y Electrónica (Institute of Electrical and Electronics

Engineers, IEEE) está intentando generar una definición que abarque todos los aspectos

relacionados con Internet de las Cosas, en este sentido, establece una definición que aún a día

de hoy sigue abierta a cualquier colaboración que pueda producirse para mejorarla:

“En términos generales, Internet de las Cosas (IoT) es un sistema que consiste en redes de

sensores, actuadores y objetos inteligentes cuyo objetivo es interconectar "todas" las cosas,

incluyendo objetos cotidianos e industriales, de tal manera que sean inteligentes,

programables y más capaces de interactuar con los seres humanos y entre sí.”

El sitio whatis.com posee su propia definición acerca de Internet de las Cosas:

“Es un escenario en el cual se le proveen identificadores únicos y la habilidad de transferir

datos sobre una red sin requerir interacción humano-humano o humano-computadora a:

objetos, animales o personas, …”.

Todas las definiciones describen escenarios en los que la conectividad de red y la capacidad

de cómputo se extienden a una constelación de objetos, dispositivos, sensores y artículos de

uso diario que habitualmente no se consideran “computadoras”. Las diferentes definiciones

de IoT no necesariamente son contradictorias, sino que más bien enfatizan diferentes aspectos

del fenómeno desde diferentes puntos de vista y casos de uso.

Sin embargo, la variedad de definiciones podría ser una fuente de confusión en el diálogo

sobre cuestiones de IoT, sobre todo en las discusiones entre grupos de partes interesadas o

segmentos de la industria. Probablemente sea necesario desarrollar una definición única de

Page 20: “Sistema de control aplicado - UNP

pág. 20

IoT, pero, a su vez, se debe reconocer que en las discusiones es necesario tener en cuenta los

diferentes puntos de vista existentes.

Para los propósitos de este trabajo, los términos “Internet de las cosas” e “IoT” en líneas

generales se refieren a la ampliación de la conectividad de red y la capacidad de cómputo a

objetos, dispositivos, sensores y elementos que habitualmente no se consideran

computadoras. Estos “objetos inteligentes” requieren una mínima intervención humana para

generar, intercambiar y consumir datos.

3 Patrones de Comunicación

Los patrones de comunicación para Internet de las Cosas son referencias que describen cómo

se distribuyen e interactúan los diferentes protagonistas que forman una red de varios

dispositivos conectados.

En marzo de 2015, el Comité de Arquitectura de Internet (IAB) dio a conocer un documento

para guiar la creación de redes de objetos inteligentes (RFC 7452), que describe un marco de

cuatro modelos de comunicación comunes que utilizan los dispositivos de IoT. Según el

mencionado documento, es posible que más de un patrón se pueda aplicar al mismo tiempo

en un producto.

A continuación se detalla cada uno de los modelos de comunicación definidos por el IAB.

3.1 Modelo de comunicación de dispositivo a dispositivo

El modelo de comunicación dispositivo a dispositivo representa dos o más dispositivos que se

conectan y se comunican directamente entre sí y no a través de un servidor de aplicaciones

intermediario. Estos dispositivos se comunican sobre muchos tipos de redes, entre ellas las

redes IP o la Internet. Sin embargo, para establecer comunicaciones directas de dispositivo a

dispositivo, muchas veces se utilizan protocolos como Bluetooth, Z-Wave o ZigBee.

Estas redes permiten que los dispositivos puedan, comunicarse e intercambiar mensajes,

adhiriéndose a un determinado protocolo de comunicación, para así lograr su función. Por lo

general, este modelo de comunicación se utiliza en aplicaciones como sistemas de

automatización del hogar, que habitualmente utilizan pequeños paquetes de datos para la

comunicación entre dispositivos con requisitos relativamente bajos en términos de la tasa de

transmisión. Los dispositivos para IoT residenciales (luminarias, interruptores, termostatos y

Page 21: “Sistema de control aplicado - UNP

pág. 21

cerraduras) normalmente envían pequeñas cantidades de información (por ejemplo, un

mensaje del estado de bloqueo de una puerta o un comando para encender una luz) en un

escenario de automatización del hogar.

Según lo describe un artículo del IETF Journal, “muchas veces estos dispositivos se

relacionan en forma directa, en general tienen [mecanismos de] seguridad y confianza

integrados; además, utilizan modelos de datos específicos para cada dispositivo que

requieren esfuerzos de desarrollo redundantes [por parte los fabricantes de dispositivos]”.

Esto significa que los fabricantes deben invertir en desarrollar la forma de implementar

formatos de datos específicos de diferentes dispositivos antes que métodos abiertos que

permitan el uso de formatos de datos estándares.

Desde el punto de vista de los usuarios, esto significa que los protocolos de comunicación

dispositivo a dispositivo subyacentes no son compatibles, lo que los obliga a seleccionar una

familia de dispositivos que emplean un protocolo común. Por ejemplo, la familia de

dispositivos que utilizan el protocolo Z-Wave no es compatible de forma nativa con la familia

de dispositivos ZigBee. Si bien estas incompatibilidades limitan la capacidad de elección de

los usuarios a los dispositivos de una determinada familia de protocolos, los usuarios también

saben que los productos de una familia determinada tienden a comunicarse bien.

3.2 Modelo de comunicación de dispositivo a nube

En un modelo de comunicación de dispositivo a la nube, el dispositivo de IoT se conecta

directamente a un servicio en la nube, como por ejemplo un proveedor de servicios de

aplicaciones para intercambiar datos y controlar el tráfico de mensajes. Este enfoque suele

aprovechar los mecanismos de comunicación existentes (por ejemplo, las conexiones Wi-Fi o

Ethernet cableadas tradicionales) para establecer una conexión entre el dispositivo y la red IP,

que luego se conecta con el servicio en la nube.

Este modelo de comunicación es empleado por algunos dispositivos electrónicos de consumo

para IoT, entre ellos el Learning Thermostat de Nest Labs y el SmartTV de Samsung. En el

caso del Learning Thermostat, el dispositivo transmite los datos a una base de datos en la

nube donde se pueden usar para analizar el consumo de energía en el hogar. Además, esta

conexión a la nube permite que el usuario acceda a su termostato en forma remota, a través de

Page 22: “Sistema de control aplicado - UNP

pág. 22

un teléfono inteligente o una interfaz web, y también soporta las actualizaciones del software

del termostato. Algo similar ocurre con la tecnología SmartTV de Samsung, el televisor

utiliza una conexión a Internet para transmitir información a Samsung para su análisis y para

activar las funciones interactivas de reconocimiento de voz. En estos casos, el modelo

dispositivo a la nube agrega valor para el usuario final, ya que amplía las capacidades del

dispositivo más allá de sus características nativas. No obstante, al intentar integrar

dispositivos de diferentes fabricantes pueden surgir problemas de interoperabilidad. Muchas

veces el dispositivo y el servicio en la nube son del mismo proveedor de tecnología. Si entre

el dispositivo y el servicio en la nube se utilizan protocolos de datos propietarios, el dueño

del dispositivo o el usuario podrían quedar atados a un servicio en la nube específico, lo que

limitaría o impediría el uso de proveedores de servicios alternativos. Esto generalmente se

conoce como “dependencia de un proveedor’’ (vendor lock-in), un término que abarca otras

facetas de la relación con el proveedor, como por ejemplo la propiedad y el acceso a los

datos. A la vez, los usuarios generalmente pueden confiar en que los dispositivos diseñados

para su plataforma específica se podrán integrar.

3.3 Modelo de comunicación de dispositivo a puerta de enlace

En el modelo dispositivo a puerta de enlace, o más generalmente el modelo dispositivo a

puerta de enlace de capa de aplicación (Application Layer Gateway, ALG), el dispositivo de

IoT se conecta a través de un servicio ALG como una forma de llegar a un servicio en la

nube. Dicho de otra manera, esto significa que hay un software de aplicación corriendo en un

dispositivo de puerta de enlace local, que actúa como intermediario entre el dispositivo y el

servicio en la nube y provee seguridad y otras funcionalidades tales como traducción de

protocolos o datos.

En los dispositivos de consumo se utilizan diferentes formas de este modelo. En muchos

casos, el dispositivo de puerta de enlace local es un teléfono inteligente con una aplicación

Page 23: “Sistema de control aplicado - UNP

pág. 23

para comunicarse con un dispositivo y transmitir datos a un servicio en la nube. Esto suele ser

el modelo empleado con los artículos de consumo populares como los dispositivos utilizados

para llevar registro de la actividad física. Estos dispositivos no tienen capacidad nativa para

conectarse directamente a un servicio en la nube, por lo que muchas veces utilizan una

aplicación para teléfono inteligente como puerta de enlace intermedia.

Otra forma de este modelo tipo dispositivo a puerta de enlace es la aparición de dispositivos

“hub” en las aplicaciones de automatización del hogar. Se trata de dispositivos que sirven de

puerta de enlace local entre los dispositivos individuales de IoT y un servicio en la nube, pero

que también pueden reducir los problemas de interoperabilidad entre los propios dispositivos.

Por ejemplo, el hub SmartThings es un dispositivo de puerta de enlace independiente que

tiene instalados transceptores Z-Wave y Zigbee para comunicarse con ambas familias de

dispositivos. Luego se conecta al servicio en la nube SmartThings y permite que el usuario

acceda a los dispositivos usando una aplicación para teléfono inteligente y una conexión a

Internet.

Desde una perspectiva técnica más amplia, el artículo del IETF Journal explica las ventajas

del enfoque dispositivo a puerta de enlace:

“Este modelo de comunicación se usa en situaciones donde los objetos pequeños deben

interoperar con dispositivos que no utilizan el protocolo de Internet. A veces se adopta este

enfoque para integrar dispositivos que solo soportan IPv6, lo que significa que se necesita

una puerta de enlace para los dispositivos y servicios existentes que solo soportan IPv4.”

En otras palabras, este modelo de comunicación se suele utilizar para integrar nuevos

dispositivos inteligentes en un sistema heredado con dispositivos que no son interoperables

de forma nativa. Una desventaja de este enfoque es el costo y la complejidad que implican el

desarrollo del software y el sistema para la puerta de enlace de capa de aplicación.

La RFC 7452 del IAB sugiere una perspectiva para este modelo:

“Se anticipa que en el futuro se desplegarán más puertas de enlace genéricas con menores

costos e infraestructura menos compleja para los consumidores finales, las empresas y los

entornos industriales. La existencia de tales puertas de enlace será más probable si el diseño

de los dispositivos de IoT utiliza protocolos de Internet genéricos y no requiere puertas de

enlace de capa de aplicación para traducir un protocolo de capa de aplicación a otro. En

general, el uso de puertas de enlace de capa de aplicación llevará a un despliegue más

frágil, como ya se ha observado en el pasado….”

Los sistemas que utilizan el modelo de comunicación dispositivo a puerta de enlace y su

papel más amplio en el abordaje de los problemas de interoperabilidad entre dispositivos de

IoT todavía están evolucionando.

Page 24: “Sistema de control aplicado - UNP

pág. 24

3.4 Modelo de comunicación de intercambio de datos a través del

back-end

El modelo de intercambio de datos a través del back-end se refiere a una arquitectura de

comunicación que permite que los usuarios exporten y analicen datos de objetos inteligentes

de un servicio en la nube en combinación con datos de otras fuentes. Esta arquitectura soporta

“el deseo del usuario de permitir que terceros accedan a los datos subidos por sus sensores”.

Este enfoque es una extensión del modelo de comunicación tipo ‘dispositivo único a la nube’,

que puede llevar a la existencia de silos de datos donde “los dispositivos de IoT suben datos a

un único proveedor de servicios de aplicaciones’’. Una arquitectura de intercambio de datos a

través del back-end permite agregar y analizar los datos recogidos de flujos obtenidos de un

solo dispositivo de IoT. Por ejemplo, a un usuario corporativo a cargo de un complejo de

oficinas le interesaría consolidar y analizar los datos de consumo de energía y otros servicios

que producen todos los sensores de IoT y los correspondientes sistemas habilitados para

Internet disponibles en las instalaciones. En el modelo ‘dispositivo único a la nube’, muchas

veces los datos que produce cada sensor o sistema de IoT queda en un silo de datos

independiente. Una arquitectura eficaz de intercambio de datos a través del back-end

permitiría que la empresa acceda y analice fácilmente, en la nube, los datos producidos por

toda la gama de dispositivos instalados en el edificio. Además, este tipo de arquitectura

facilita la portabilidad de los datos. Las arquitecturas eficaces de intercambio de datos a

través del back-end permiten que los usuarios muevan sus datos al cambiar de servicio de

IoT, rompiendo así las barreras tradicionales de los silos de datos.

El modelo de intercambio de datos a través del back-end sugiere que, para lograr la

interoperabilidad de los datos de dispositivos inteligentes alojados en la nube, se requiere un

enfoque de servicios federados4 o interfaces de programación de aplicaciones (APIs) en la

nube.

Este modelo de arquitectura es un enfoque para lograr interoperabilidad entre estos sistemas

de back-end. Como sugiere el IETF Journal, “los protocolos estándares pueden ayudar, pero

4 Un enfoque de servicios federados en la nube es aquel que combina los recursos de diferentes proveedores de servicios de

nube para satisfacer una necesidad de negocio más amplia.

Page 25: “Sistema de control aplicado - UNP

pág. 25

no son suficientes para eliminar los silos de datos dado que entre proveedores son necesarios

modelos de información comunes”. En otras palabras, este modelo de comunicación es

apenas tan eficaz como los diseños de los sistemas subyacentes de IoT. Las arquitecturas de

intercambio de datos a través del back-end no pueden superar completamente los diseños de

los sistemas cerrados.

Page 26: “Sistema de control aplicado - UNP

pág. 26

CAPÍTULO 3:

ASPECTOS RELEVANTES EN

TORNO A INTERNET DE LAS

COSAS

1 Temas que se plantean en torno a Internet de las

Cosas

El abanico de temas relacionados con Internet de las Cosas forma un amplio espectro que es

difícil abarcar, sin embargo, entre estos temas pueden destacarse, resumidamente, cinco de

los cuales se ofrece un desarrollo a continuación. Estos temas son: la seguridad; la

privacidad; la interoperabilidad y los estándares; aspectos legales, reglamentarios y de

derechos; y las economías emergentes y el desarrollo.

1.1 La Seguridad en IoT

Como usuarios de Internet, tenemos que tener un alto grado de confianza en que Internet, sus

aplicaciones y los dispositivos conectados a la red son lo suficientemente seguros como para

realizar en línea toda la gama de actividades que deseamos en relación con la tolerancia al

riesgo asociado con tales actividades. En este sentido, Internet de las Cosas no es diferente y

la seguridad de IoT está fundamentalmente relacionada con la capacidad de los usuarios de

confiar en su entorno. Si los usuarios no creen que los dispositivos que tienen conectados y su

información están razonablemente seguros contra el mal uso o los daños, la erosión de la

confianza resultante provoca una renuencia a usar Internet.

En efecto, para garantizar la seguridad en los productos y servicios de IoT, el sector debe

considerar la seguridad como una de sus máximas prioridades.

A medida que conectamos cada vez más dispositivos a Internet, surgen nuevas oportunidades

para explotar potenciales vulnerabilidades de seguridad. Los dispositivos de IoT mal

asegurados sirven como puntos de entrada para ciberataques, permitiendo que personas

malintencionadas reprogramen un dispositivo o perjudiquen su funcionamiento.

Los dispositivos de IoT mal diseñados pueden exponer los datos de los usuarios a robos,

dejando los flujos de usuarios sin una protección adecuada. Los dispositivos defectuosos o

que no funcionan bien también pueden crear vulnerabilidades. Estos problemas son tanto o

más graves en el caso de los dispositivos inteligentes pequeños, baratos y ubicuos en Internet

de las Cosas que en el caso de los equipos que tradicionalmente han sido los puntos extremos

de la conectividad a Internet. Los desafíos que imponen la competitividad de los costos y las

Page 27: “Sistema de control aplicado - UNP

pág. 27

limitaciones técnicas de IoT hacen que para los fabricantes de dispositivos no sea fácil

diseñar funciones de seguridad adecuadas, potencialmente generando, a largo plazo,

vulnerabilidades en la seguridad y dificultades en el mantenimiento, superiores a las

computadoras tradicionales.

Junto con posibles deficiencias en el diseño de la seguridad, el enorme aumento del número y

la variedad de los dispositivos de IoT podría aumentar las oportunidades de ataque. Sumado a

la naturaleza altamente interconectada de los dispositivos de IoT, cada dispositivo mal

asegurado conectado en línea potencialmente afecta la seguridad y la resistencia de Internet a

nivel global, no sólo a nivel local. Por ejemplo, una heladera o un televisor sin protección

infectado con malware que se encuentra en Argentina pueden enviar miles de correos

electrónicos no deseados dañinos a destinatarios de todo el mundo usando la conexión Wi-Fi

de la casa.5

En un mundo hiperconectado, nuestra capacidad de funcionar diariamente sin dispositivos o

sistemas conectados a Internet probablemente disminuirá. De hecho, es cada vez más difícil

comprar ciertos dispositivos sin conexión a Internet, ya que algunos fabricantes solo ofrecen

productos conectados. Dependiendo el dispositivo conectado, si se ve comprometido en un

ataque cibernético, quizá podríamos desenchufarlo, pero no es tan fácil apagar un medidor

inteligente de energía eléctrica, un sistema de control de tráfico o un marcapasos si estos

dispositivos son víctimas de un ataque malicioso. Por esta razón, la seguridad de los

dispositivos y servicios de IoT debe ser un importante punto de discusión y un tema crítico.

1.1.1 Consideraciones de seguridad en los dispositivos de IoT

La seguridad de los dispositivos de IoT no es una proposición binaria del tipo

seguro/inseguro, por el contrario, resulta útil conceptualizar la seguridad de IoT como un

espectro de vulnerabilidad de los dispositivos. El espectro parte desde dispositivos totalmente

desprotegidos sin ninguna función de seguridad hasta sistemas muy seguros con múltiples

capas de elementos de seguridad.

La seguridad general y la resiliencia de Internet de las Cosas dependen de cómo se evalúen y

gestionen los riesgos de seguridad. La seguridad de un dispositivo se define en función del

riesgo de que un dispositivo se vea comprometido, del daño que tal compromiso provocaría y

del tiempo y los recursos necesarios para lograr cierto nivel de protección. Si un usuario no

puede tolerar un alto nivel de riesgo (por ejemplo, un operador de un sistema de control de

tráfico o una persona a quien se le ha implantado un dispositivo médico que está conectado a

Internet), puede que dicho usuario sienta que se justifica gastar una cantidad considerable de

recursos para proteger el sistema o el dispositivo contra un ataque. Del mismo modo, si a la

persona no le preocupa que su heladera pueda ser hackeada y utilizada para enviar spam,

puede que no se sienta obligada a pagar por un modelo que tenga un diseño de seguridad más

sofisticado si esto hace que el dispositivo sea más costoso o complicado.

5

Starr, Michelle. “Fridge Caught Sending Spam Emails in Botnet Attack - CNET.” CNET, 19 de enero de 2014.

http://www.cnet.com/news/fridge-caught-sending-spam-emails-in-botnet-attack/

Page 28: “Sistema de control aplicado - UNP

pág. 28

En esta evaluación y cálculo de la mitigación de los riesgos influyen una comprensión clara

de los riesgos de seguridad actuales y posibles riesgos futuros, la estimación de los costos

económicos y otros tipos de daño si los riesgos se hacen realidad, y el costo estimado de la

mitigación de los riesgos6. Si bien este tipo de concesiones de seguridad muchas veces se

realizan desde la perspectiva de los usuarios individuales y las organizaciones, también es

importante tener en cuenta la interrelación de los dispositivos de IoT como parte de un

ecosistema mayor. La conectividad en red de los dispositivos de IoT significa que las

decisiones de seguridad que se toman a nivel local con respecto a un dispositivo pueden tener

impactos globales sobre otros dispositivos.

Como cuestión de principio, quienes desarrollan objetos inteligentes para Internet de las

Cosas tienen la obligación de garantizar que estos dispositivos no expongan los bienes de sus

propios usuarios ni de otras personas a potenciales daños. Como cuestión de negocios y de

economía, los fabricantes desean reducir sus costos, su complejidad y su tiempo de

comercialización. Por ejemplo, son comunes los dispositivos de IoT de alto volumen y bajo

margen de ganancia que representan un costo adicional para los productos en los que están

embebidos; añadir más memoria y un procesador más rápido para implementar medidas de

seguridad podría hacer que el producto ya no fuera competitivo.

En términos económicos, el resultado de la falta de seguridad en los dispositivos de IoT es

una externalidad negativa, donde una o más partes imponen un costo sobre otras. Un ejemplo

clásico es la contaminación del medio ambiente, donde los costos de los daños y la limpieza

(externalidades negativas) resultantes de las acciones de quien contamina son asumidos por

otras partes.

De acuerdo con Bruce Schneier7, en el caso de la seguridad de información surge una

externalidad cuando el proveedor que crea el producto no corre con los costos que ocasionan

las potenciales inseguridades; en este caso, una ley de responsabilidad puede convencer a los

vendedores para que tomen en cuenta la externalidad y desarrollen más productos de

seguridad.

Estas consideraciones de seguridad no son nuevas en el contexto de la tecnología de la

información, pero la magnitud de los desafíos que pueden surgir en las implementaciones de

IoT las vuelve extremadamente significativas. Estos desafíos se describen a continuación.

1.1.1.1 Desafíos de seguridad de los dispositivos de IoT

Muchos dispositivos de Internet de las Cosas (por ejemplo, los sensores y los artículos de

consumo) están diseñados para ser desplegados a una escala masiva que es varios órdenes de

magnitud superior a la de los dispositivos tradicionalmente conectados a Internet. Por

consiguiente, la potencial cantidad de enlaces interconectados entre estos dispositivos no

6

Varias organizaciones han desarrollado guías para la evaluación de riesgos. Por ejemplo, la Organización Internacional de

Normalización (ISO) y la Comisión Electrotécnica Internacional (IEC) publicaron la norma ISO/IEC 31010:2009 “Gestión de riesgos – Técnicas de evaluación de riesgos”. http://www.iso.org/iso/catalogue_detail?csnumber=51073

7 El artículo de Bruce Scheiner está disponible en el siguiente enlace:

https://www.schneider.com/essays/archives/2007/01/information_security_1.html

Page 29: “Sistema de control aplicado - UNP

pág. 29

tiene precedentes. Además, muchos de estos dispositivos podrán establecer enlaces y

comunicarse con otros dispositivos por sí mismos, de manera impredecible y dinámica. Por lo

tanto, puede ser necesario considerar nuevamente las herramientas, métodos y estrategias

existentes asociadas con la seguridad de IoT.

Muchos despliegues de IoT consistirán en colecciones de dispositivos idénticos o

prácticamente idénticos. Esta homogeneidad amplifica el potencial impacto de cualquier

vulnerabilidad de seguridad simplemente por la gran cantidad de dispositivos que tienen las

mismas características. Por ejemplo, una vulnerabilidad en el protocolo de comunicación de

una marca de luminarias conectadas a Internet se podría extender a todas las marcas y

modelos de dispositivos que utilizan el mismo protocolo o que comparten características

clave de diseño o fabricación.

Muchos de los dispositivos de la Internet las Cosas que se van a desplegar tendrán una vida

útil anticipada muy superior a la que típicamente se espera para los equipos de alta

tecnología. Además, estos dispositivos se podrían desplegar en circunstancias que los harían

difíciles o imposibles de re configurar o actualizar; o bien estos dispositivos podrían

sobrevivir a la empresa que los creó, lo que los dejaría huérfanos y sin apoyo a largo plazo.

Estos escenarios ilustran que los mecanismos de seguridad que son adecuados en el momento

del despliegue podrían no ser adecuados durante toda la vida útil del dispositivo y a medida

que las amenazas a la seguridad evolucionen. Esta situación podría crear vulnerabilidades que

podrían persistir por mucho tiempo. El apoyo y la gestión a largo plazo de los dispositivos de

IoT representa un importante reto de seguridad.

Muchos dispositivos de IoT estén diseñados intencionadamente sin ninguna posibilidad de

actualización; en otros, el proceso de actualización es engorroso o poco práctico. Por

ejemplo, consideremos el retiro de 1.4 millones de automóviles Fiat Chrysler 2015 para

arreglar una vulnerabilidad que potencialmente permitiría hackear el vehículo en forma

inalámbrica. Estos vehículos se deben llevar a un concesionario Fiat Chrysler para que les

realicen una actualización manual del software, o bien los propietarios deben actualizar el

software por sí mismos usando una memoria USB. La realidad es que un alto porcentaje de

estos automóviles probablemente no se actualizará porque el proceso de actualización

representa un inconveniente para los propietarios, y esto los deja permanentemente

vulnerables a las amenazas de seguridad cibernética, sobre todo porque el automóvil parece

estar funcionando muy bien.

Muchos dispositivos de IoT funcionan de modo que es escasa o nula la visibilidad que tiene

el usuario de su funcionamiento interno o de los flujos de datos que producen. Si un usuario

cree que un dispositivo está ejecutando ciertas funciones pero en realidad está ejecutando

funciones no deseadas o recogiendo más información que lo que el usuario desea, se crea una

vulnerabilidad. Las funciones del dispositivo también podrían cambiar sin previo aviso

cuando el fabricante ofrece una actualización, lo que deja al usuario vulnerable a cualquier

cambio que realice el fabricante.

Page 30: “Sistema de control aplicado - UNP

pág. 30

Al igual que muchos sensores ambientales, algunos dispositivos de IoT han sido diseñados

para ser integrados discretamente en su entorno, donde los usuarios apenas se den cuenta de

su presencia o monitoreen su funcionamiento. Además, los dispositivos pueden no tener una

forma clara de alertar al usuario cuando surge un problema de seguridad, por lo que es difícil

para un usuario saber que la seguridad de un dispositivo de IoT ha sido vulnerada. Esta

situación podría persistir por mucho tiempo antes de ser detectada y corregida; incluso podría

darse el caso de que no fuera posible o práctico implementar una corrección o mitigación. Del

mismo modo, el usuario podría no ser consciente de que existe un sensor en su entorno, por

lo que potencialmente un fallo de seguridad podría persistir por mucho tiempo sin ser

detectado.

También podrían darse los casos en que sea imposible asegurar los dispositivos de forma

física por estar desplegados en lugares a los que sea muy difícil acceder; y, además, es

preciso considerar el caso en el que un desarrollador o un grupo de desarrolladores

construyan su propia Internet de las Cosas, donde estos despliegues podrían no aplicar los

estándares de mejores prácticas de seguridad de la industria.

1.1.2 Interrogantes acerca de la seguridad en IoT

La seguridad plantea un escenario confuso y repleto de dudas a partir de los problemas que

pueden surgir al implementar una red de dispositivos masiva como se proyecta con el

concepto de IoT. La importancia de poder resolver estos interrogantes radica en la magnitud

de despliegue de los dispositivos conectados.

Se pueden mencionar distintos temas con sus respectivos interrogantes:

● Buenas prácticas de diseño. Se plantean dudas acerca de cuáles son las mejores

prácticas que se deben utilizar al diseñar la seguridad de los dispositivos; como se

transmiten la información, recursos y lecciones aprendidas a la comunidad creciente

de desarrolladores e ingenieros participantes de IoT.

● Equilibrio entre costo y seguridad. Preguntas sobre los métodos para cuantificar y

evaluar los riesgos de la seguridad; la fuente de motivación de los fabricantes para

aceptar las responsabilidades de sus decisiones de seguridad al fabricar los

dispositivos; las condiciones para que la seguridad permita la explotación de

oportunidades de innovación, sociales y de crecimiento económico.

● Estándares e indicadores. El papel de los estándares técnicos y operativos en el

desarrollo de dispositivos seguros; la forma de identificación y medición de las

características de seguridad; el aseguramiento de la implementación de mejores

prácticas; etc.

● Confidencialidad de los datos, autenticación y control de acceso. Se expone la

duda acerca del papel óptimo del cifrado de datos al intentar dar una solución a los

potenciales intentos de espionaje y control de flujos de datos; cual es la mejor

tecnología de cifrado y autenticación aplicable a los dispositivos de IoT teniendo en

Page 31: “Sistema de control aplicado - UNP

pág. 31

cuenta costos, tamaños y velocidad de procesamiento de los mismos; que procesos

son los suficientemente seguros para ser utilizados por el usuario típico.

● Capacidad de actualización en campo. Se plantea la duda acerca de cómo se

procederá para realizar la actualización de los dispositivos in situ, dado que se espera

de ellos una larga durabilidad. El interrogante también pasa por si existe la posibilidad

de hacer uso de un agente integrado de gestión, para instalar y configurar nuevo

software, sin elevar excesivamente los costos y la complejidad teniendo en cuenta que

se trata de la aplicación de estos agentes en dispositivos de uso masivo.

● Responsabilidad compartida. ¿Es posible la responsabilidad compartida y la

colaboración de todas las partes interesadas en pos de la seguridad de IoT?

● Regulación. Dudas acerca de si es posible aplicar sanciones a fabricantes y

diseñadores de dispositivos por fallos de seguridad conocidos y desconocidos;

ampliación o adaptación de leyes para que abarquen las externalidades negativas de

los dispositivos de IoT; en vista de la evolución de la tecnología de IoT y de las

amenazas de seguridad, se plantea el interrogante acerca de si la regulación podrá

seguir la misma línea de evolución.

● Obsolescencia de los dispositivos. De qué forma se debe tratar a los dispositivos que,

a medida que Internet evoluciona, quedan obsoletos; ¿Es posible incluir una

funcionalidad que inactive dichos dispositivos? Y en este caso, ¿Cuáles serían las

implicaciones de su desactivación?

La amplitud de estas preguntas es representativa de la variedad de las consideraciones de

seguridad asociadas con los dispositivos de Internet de las Cosas. En este sentido, y teniendo

en cuenta que cualquier dispositivo conectado a Internet forma parte de Internet, es necesario

considerar un enfoque colaborativo de parte de todos los involucrados para lograr soluciones

de seguridad eficaces y apropiadas.

Tanto entre la industria como entre los gobiernos y las autoridades públicas, el modelo

colaborativo aparece como un enfoque eficaz para ayudar a asegurar a Internet y al

ciberespacio, incluso a Internet de las Cosas. Este modelo incluye una serie de prácticas y

herramientas que incluyen el intercambio de información bidireccional y voluntario,

herramientas de aplicación eficaces, preparación para incidentes y ejercicios cibernéticos,

creación de conciencia y capacitación, acuerdo sobre las normas de comportamiento

internacionales, y desarrollo y reconocimiento de prácticas y estándares internacionales. Es

necesario continuar trabajando para que sigan evolucionando los enfoques colaborativos y

basados en la gestión de riesgos, de manera de lograr que se adapten bien a la escala y la

complejidad de los desafíos de seguridad de los dispositivo de Internet de las Cosas del

futuro.

Page 32: “Sistema de control aplicado - UNP

pág. 32

1.2 La Privacidad en IoT

El respeto por las expectativas y los derechos de privacidad es fundamental para asegurar la

confianza en Internet; además, también afecta la capacidad de las personas de hablar,

conectarse y escoger de formas significativas. Estos derechos y expectativas se suelen

enmarcar en términos del manejo ético de los datos, que hace hincapié en la importancia de

respetar las expectativas de privacidad del individuo y el uso legítimo de sus datos. Internet

de las Cosas puede desafiar estas tradicionales expectativas de privacidad.

IoT suele referirse a una amplia red de dispositivos con sensores diseñados para recopilar

datos acerca de su entorno, que muchas veces incluyen datos relacionados con las personas.

Estos datos presumiblemente proporcionan un beneficio al fabricante o proveedor. La

recopilación y el uso de los datos se convierte en una consideración de privacidad cuando las

expectativas de privacidad de quienes son observados por los dispositivos de IoT difieren de

las de quienes recogerán y usarán estos datos.

También hay combinaciones de flujos de datos de IoT aparentemente inocentes que también

pueden poner en riesgo la privacidad. Cuando se combinan o correlacionan flujos de datos

individuales, el retrato digital que se obtiene de las personas suele ser más invasivo que el

que se puede obtener a partir de un flujo de datos individual. Por ejemplo, un cepillo de

dientes con conexión a Internet puede recoger y transmitir información sobre los hábitos de

cepillado de una persona, algo bastante inocuo. En cambio, si la heladera de este mismo

usuario informa el listado de alimentos que consume, y si además el dispositivo que el

usuario utiliza para llevar cuenta de su actividad física también informa los datos

correspondientes, la combinación de estos flujos de datos presenta una descripción mucho

más detallada y privada de la salud general de la persona. Este efecto de agregación de los

datos puede ser particularmente potente en el caso de los dispositivos de IoT, dado que

muchos producen otros metadatos como por ejemplo marcas de tiempo e información de

geolocalización, lo que aumenta aún más la especificidad del usuario.

En otras situaciones, el usuario puede no ser consciente de que un dispositivo está recogiendo

datos sobre su persona y potencialmente compartiéndolos con terceros. Este tipo de

recolección de datos es cada vez más frecuente en los dispositivos de consumo, como por

ejemplo en los televisores inteligentes y las consolas de videojuegos. Este tipo de productos

tienen características de reconocimiento de voz o de visualización que permanentemente

escuchan las conversaciones u observan la actividad en una habitación y selectivamente

transmiten los datos recogidos a un servicio en la nube para su procesamiento, donde a veces

participa un tercero. Una persona podría estar en presencia de este tipo de dispositivos sin

saber que sus conversaciones o actividades están siendo monitoreadas o que sus datos están

siendo registrados. Estos tipos de características pueden ser un beneficio para un usuario

informado, pero pueden plantear un problema de privacidad para quienes no son conscientes

de la presencia de estos dispositivos y no pueden influir significativamente sobre la forma en

que se utiliza la información recogida.

Page 33: “Sistema de control aplicado - UNP

pág. 33

Es fundamental abordar estos tipos de problemas de privacidad, dado que tienen

implicaciones sobre nuestros derechos básicos y nuestra capacidad colectiva de confiar en

Internet.

1.2.1 Aspectos relacionados con la privacidad pertenecientes sólo a IoT

En general, la forma en que Internet de las Cosas aumenta la viabilidad y el alcance de la

vigilancia y el seguimiento amplifica las preocupaciones relativas a la privacidad. Las

características de los dispositivos de IoT y las formas en que se utilizan redefinen el debate

sobre los temas de privacidad, ya que modifican drásticamente cómo se recogen, analizan,

utilizan y protegen los datos personales.

El modelo tradicional de privacidad de “notificación y consentimiento” en que los usuarios

hacen valer sus preferencias de privacidad interactuando, deja de funcionar cuando los

sistemas no le ofrecen al usuario ningún mecanismo de interacción. Muchas veces los

dispositivos de IoT no tienen una interfaz de usuario para configurar las preferencias de

privacidad, y en muchas configuraciones los usuarios no tienen conocimiento ni controlan la

forma en que se recogen y utilizan sus datos personales. Si consideran que los datos

recopilados no son datos personales, es posible que los proveedores de dispositivos de IoT se

sientan menos incentivados a ofrecer a los usuarios un mecanismo para que expresen sus

preferencias de privacidad. Sin embargo, la experiencia demuestra que, en realidad, los datos

que tradicionalmente no se consideran personales podrían ser o convertirse en datos

personales si se combinan con otros.

Suponiendo que se pudiera desarrollar un mecanismo eficaz que permitiera que un usuario

expresara de manera informada sus preferencias de privacidad, este mecanismo debería poder

manejar la gran cantidad de dispositivos de IoT que debe controlar cada usuario. No es

realista pensar que un usuario interactuará directamente con cada uno de los dispositivos con

que se encuentre a lo largo del día para expresar sus preferencias de privacidad. Por el

contrario, las interfaces de privacidad se deben poder escalar de acuerdo con el tamaño del

problema, sin dejar de ser completas y prácticas desde la perspectiva del usuario.

Las normas sociales y expectativas de privacidad difieren en los espacios públicos. Por

ejemplo, las tecnologías de vigilancia que utiliza IoT como las cámaras de seguridad o los

sistemas de trazabilidad de ubicación que normalmente funcionan en espacios públicos están

migrando hacia espacios tradicionalmente privados como el hogar o los vehículos

particulares, donde nuestras expectativas de privacidad son muy diferentes. Al hacerlo,

desafían lo que muchas sociedades reconocen como el derecho a la privacidad en el hogar o

los espacios privados.

Muchas veces los dispositivos de IoT funcionan en contextos donde la proximidad expone a

múltiples personas a una misma actividad de recolección de datos. Por ejemplo, el sensor de

seguimiento por geolocalización de un automóvil podría registrar los datos de localización de

todos los ocupantes del vehículo, sin importar si estas personas desean que lo haga o no.

Incluso podría realizar un seguimiento de las personas que viajan en otros vehículos cercanos.

Page 34: “Sistema de control aplicado - UNP

pág. 34

En este tipo de situaciones podría ser difícil o imposible distinguir -mucho menos respetar-

las preferencias de privacidad individuales.

Los dispositivos de IoT pueden recoger información personal con un grado de especificidad y

penetración sin precedente; agregar y correlacionar estos datos permite crear perfiles

personales detallados que generan un potencial para la discriminación y otros daños. La

sofisticación de esta tecnología puede crear situaciones que expongan al individuo a daños

físicos, penales, financieros o de reputación.

La ubicuidad, familiaridad y aceptación social de muchos dispositivos de IoT pueden crear

una falsa sensación de seguridad y alentar a las personas a divulgar información confidencial

o privada sin pleno conocimiento o apreciación de las posibles consecuencias.

1.2.2 Interrogantes acerca de la privacidad en IoT

Estas preguntas referidas a la privacidad serían un desafío incluso si estuvieran bien alineados

los intereses y motivaciones de todas las partes involucradas en el ecosistema de IoT. Sin

embargo, sabemos que las relaciones y los intereses de quienes están expuestos a la

recolección de sus datos personales y quienes agregan, analizan y utilizan los datos pueden

ser desequilibrados o injustos. La fuente de datos puede ver una intrusión no deseada a su

espacio privado, muchas veces sin consentimiento, control, elección o incluso consciencia.

No obstante, quien recoge los datos podría considerarlos un recurso beneficioso que puede

añadir valor a sus productos y servicios y proporcionar nuevas fuentes de ingresos.

Dado que Internet de las Cosas desafía nuestras nociones de privacidad de formas nunca

antes vistas, al reevaluar los modelos de privacidad en línea en el contexto de IoT es

necesario responder ciertas preguntas clave.

Se pueden mencionar distintos temas con sus respectivos interrogantes:

● Legitimidad en la recopilación y el uso de los datos. En el contexto de IoT, ¿cómo

se resuelve la relación de mercado entre las fuentes de los datos y quienes los

recogen? Los datos personales tienen un valor personal y comercial diferente según se

consideren desde el punto de vista de las fuentes o de los recolectores, tanto

individualmente como en su conjunto; por lo tanto, ambas partes tienen intereses

legítimos que podrían estar en conflicto. ¿Cómo se pueden expresar estos diferentes

intereses de una manera que conduzca a reglas en materia de acceso, control,

transparencia y protección que sean justas y consistentes, tanto para las fuentes como

para los recolectores?

● Transparencia, expresión y cumplimiento de las preferencias de privacidad.

¿Cómo se puede hacer que las políticas y prácticas de privacidad sean de fácil acceso

y comprensibles en el contexto de IoT? ¿Cuáles son las alternativas al modelo

tradicional de privacidad de “notificación y consentimiento” que podrían abordar los

aspectos únicos de Internet de las Cosas? ¿Cuál sería un modelo eficaz para expresar,

aplicar y hacer cumplir las preferencias de privacidad individuales y las preferencias

Page 35: “Sistema de control aplicado - UNP

pág. 35

multipartitas? ¿Se podría construir un modelo multipartito de este tipo? De ser así,

¿qué aspecto tendría? ¿Cómo se podría aplicar a circunstancias concretas que

impliquen las preferencias de privacidad individuales? ¿Existe un mercado para

tercerizar la gestión de la configuración de la privacidad a servicios comerciales

diseñados para implementar las preferencias de los usuarios? ¿Es necesario que exista

un proxy de privacidad que exprese y haga cumplir las preferencias del usuario a

través de una serie de dispositivos, al tiempo que elimine la necesidad de interacción

directa con cada uno de ellos?

● Gran variedad de expectativas de privacidad. Las normas y expectativas de

privacidad están estrechamente relacionadas con el contexto social y cultural del

usuario, que puede variar de una nación o de un grupo a otro. Muchos escenarios de

IoT implican el despliegue de dispositivos y actividades de recopilación de datos de

alcance multinacional o global que atraviesan fronteras sociales y culturales. ¿Qué

implicará esto para el desarrollo de un modelo de protección de la privacidad que se

pueda aplicar ampliamente a Internet de las Cosas? ¿Cómo se pueden adaptar los

dispositivos y sistemas de IoT para que reconozcan y respeten la variedad de

expectativas de privacidad de los usuarios y las diferentes legislaciones?

● Privacidad por diseño. ¿Cómo se puede animar a los fabricantes de dispositivos de

IoT para que incorporen los principios de la privacidad por diseño a sus valores

fundamentales? ¿Cómo se puede fomentar la inclusión de consideraciones sobre la

privacidad de los consumidores en todas las fases de desarrollo y operación de los

productos? ¿Cómo se pueden conciliar los requisitos de funcionalidad y privacidad?

En principio, los fabricantes deberían anticipar que, a largo plazo, los productos y las

prácticas que respeten la privacidad se ganarán la confianza y la satisfacción de los

clientes y generarán lealtad hacia la marca. ¿Es esta motivación suficiente para

competir con los deseos de simplicidad en el diseño y velocidad al mercado? ¿Los

dispositivos se deberían diseñar con una configuración predeterminada para el modo

de recopilación de datos más conservador (es decir, no recopilación de datos por

defecto)?

● Identificación. ¿Cómo debemos proteger los datos recogidos por IoT que parecieran

no ser personales donde se recogen o que han sido “des identificados”, pero que en

algún momento futuro podrían llegar a ser datos personales (por ejemplo, porque

podrían ser re-identificados o combinados con otros datos)?

Internet de las cosas genera desafíos únicos para la privacidad que van más allá de los

problemas que existen en la actualidad. Es necesario desarrollar estrategias para respetar las

opciones de privacidad individuales considerando un amplio espectro de expectativas, sin

dejar de fomentar la innovación en nuevas tecnologías para IoT.

Page 36: “Sistema de control aplicado - UNP

pág. 36

1.3 Interoperabilidad / Normas en IoT

En la Internet tradicional, la interoperabilidad es el valor central más básico; el primer

requisito de la conectividad a Internet es que los sistemas “conectados” deben poder “hablar

el mismo idioma” en cuanto a protocolos y codificaciones. Además, es el objetivo explícito

de todo el aparato de estandarización de Internet concentrado en el Grupo de Trabajo en

Ingeniería de Internet (IRTF).

La interoperabilidad es también una de las piedras angulares de la Internet abierta. Las

barreras erigidas para obstruir el intercambio de información pueden afectar la capacidad de

los usuarios de Internet de conectarse, hablar, compartir e innovar, que son los cuatro

principios fundamentales de ISOC8. También llamadas “jardines vallados”, las plataformas

cerradas en las que los usuarios solo pueden interactuar con un subconjunto seleccionados de

sitios y servicios pueden disminuir considerablemente los beneficios sociales, políticos y

económicos que permite el acceso a la totalidad de Internet.

En un entorno totalmente interoperable, cualquier dispositivo de IoT se podría conectar a

cualquier otro dispositivo o sistema e intercambiar información si así lo desean. En la

práctica, la interoperabilidad es mucho más compleja. La interoperabilidad entre los

dispositivos y sistemas de IoT ocurre en diferentes grados en diferentes capas dentro de la

pila de protocolos de comunicación entre los dispositivos. Además, no siempre es posible,

necesario o deseable lograr la interoperabilidad plena en todos los aspectos de un producto

técnico y, de ser impuesta artificialmente (por ejemplo, a través de un mandato

gubernamental), podría desincentivar la inversión y la innovación. La estandarización y la

adopción de protocolos que especifican estos detalles de la comunicación, en particular

cuando resulta óptimo tener estándares, están en el centro de la discusión sobre la

interoperabilidad para IoT.

Más allá de los aspectos técnicos, la interoperabilidad tiene una importante influencia sobre el

potencial impacto económico de IoT. La interoperabilidad eficaz y bien definida de los

dispositivos puede fomentar la innovación u ofrecer eficiencias a quienes fabrican

dispositivos, aumentando así el valor económico total del mercado. Por otra parte, la

implementación de los estándares existentes y el desarrollo de nuevos estándares abiertos

cuando estos son necesarios ayudan a reducir las barreras de entrada, facilitan nuevos

modelos de negocio y construyen economías de escala.

Además la interoperabilidad es valiosa tanto desde el punto de vista del consumidor

individual como de las organizaciones que utilizan estos dispositivos. Facilita la capacidad de

escoger los dispositivos con las mejores características y al mejor precio e integrarlos de

manera que funcionen juntos. Los compradores podrían vacilar a hora de adquirir productos y

servicios de IoT si no existe flexibilidad en cuanto a su integración, si su propiedad es

compleja, si existe preocupación con respecto a una potencial dependencia del proveedor o en

caso de temor a su obsolescencia debido al cambio de estándares.

8 Internet Society. Ver “Values and Principles” Principles. Internet Society, 2015. http://www.internetsociety.org/who-we-

are/mission/values-and-principles

Page 37: “Sistema de control aplicado - UNP

pág. 37

1.3.1 Consideraciones clave y desafíos en la Interoperabilidad / Estándares de

IoT

Sin ser exhaustiva, la lista de consideraciones y desafíos clave incluye:

● Los ecosistemas propietarios y la elección del consumidor. Algunos fabricantes de

dispositivos ven una ventaja competitiva en la creación de un ecosistema de productos

propietarios compatibles -a veces llamados “jardines vallados”- que limiten la

interoperabilidad a los dispositivos y componentes de una misma marca. Estos

fabricantes pueden generar dependencias (lock-in) en el ecosistema de sus

dispositivos, aumentando los costos en que deben incurrir los consumidores para

cambiar a otra marca o utilizar componentes de otros proveedores. Por ejemplo, en el

mercado de la domótica, las luminarias de un proveedor podrían no ser interoperables

con un sistema de interruptores de otro.

Los partidarios de la interoperabilidad consideran que estas prácticas impiden la

elección del usuario, dado que evitan que los usuarios se cambien a productos

alternativos. También consideran que estas prácticas representan una barrera para la

innovación y la competencia, ya que limitan la capacidad de los competidores de crear

nuevos productos basados en la infraestructura en la cual se sustenta el ecosistema.

Sin embargo, algunos fabricantes de dispositivos consideran que el enfoque del

ecosistema cerrado beneficia a los usuarios porque les proporciona un protocolo que

se puede adaptar con mayor rapidez y facilidad cada vez que las exigencias técnicas o

de mercado requieran un cambio.

Las consideraciones con respecto a interoperabilidad también se extienden a los datos

que recogen y procesan los servicios de IoT. Uno de los principales atractivos de los

dispositivos conectados es su capacidad de transmitir y recibir datos de los servicios

“en la nube”, que a su vez proporcionan valiosos servicios o información sobre la

base de esos datos. Si bien esto es extremadamente útil, también puede presentar

desafíos en caso que un usuario desee pasar a un servicio competidor. Incluso si el

acceso a los datos generados por los dispositivos se pone a disposición de los

usuarios, obtener los datos no servirá de nada si están en un formato propietario. Un

usuario solo podrá cambiarse a otro proveedor de servicios o analizar los datos por su

cuenta si los datos fuente están libremente disponibles para los usuarios que los

originan y en un formato abierto estándar.

● Limitaciones técnicas y de costos. A medida que los fabricantes desarrollan

dispositivos de IoT van surgiendo limitaciones técnicas, de tiempo al mercado y de

costos que hay que tener en cuenta a la hora de decidir sobre su interoperabilidad y su

diseño. Algunos dispositivos se ven limitados por factores técnicos como los recursos

de procesamiento disponibles, la memoria o las demandas de energía. Del mismo

modo, los fabricantes se ven presionados para reducir el costo unitario de los

dispositivos, reduciendo al mínimo los costos de diseño de los productos y las piezas.

Los fabricantes realizan análisis de costo-beneficio para decidir si los mayores costos

Page 38: “Sistema de control aplicado - UNP

pág. 38

y las potenciales reducciones del rendimiento de los productos justifican los

beneficios adicionales que tendría la implementación de los estándares. A corto plazo,

puede ser más costoso diseñar e incluir características de interoperabilidad en un

producto y probar su conformidad con la especificación de una norma. En ciertos

contextos, el camino más económico al mercado podría ser el uso de protocolos y

sistemas propietarios. Sin embargo, esto se debe comparar con las ganancias que se

obtendrían durante el ciclo de vida a largo plazo gracias a la interoperabilidad del

producto.

● Riesgos asociados con los tiempos de mercado. En un mercado competitivo y

global, quien saca un producto y establece una cuota de mercado más rápidamente

suele tener una ventaja. Esto ciertamente se aplica a los fabricantes de dispositivos de

IoT. El problema surge cuando el cronograma de diseño del fabricante se adelanta a la

disponibilidad de los estándares de interoperabilidad. Un fabricante de dispositivos

ansioso por sacar un producto al mercado puede considerar que la falta de certeza en

cuanto a los tiempos y los procesos de desarrollo de los estándares constituye un

riesgo comercial que se debe minimizar o evitar. Esto puede hacer que las alternativas

de diseño que no contemplan estándares de interoperabilidad abiertos sean más

atractivas, especialmente a corto plazo.

● Riesgos técnicos. Como parte del proceso de desarrollo, quien fábrica o utiliza

dispositivos para Internet de las Cosas debe evaluar los riesgos técnicos de diseño de

los protocolos. Incorporar estándares existentes y comprobados en el diseño de

sistemas y productos puede implicar un riesgo técnico menor que desarrollar y utilizar

protocolos propietarios. El uso de estándares genéricos, abiertos y ampliamente

disponibles (como la familia de protocolos de Internet) como componentes de los

dispositivos y servicios puede aportar otros beneficios, como el acceso a una mayor

cantidad de talento técnico, software y una reducción de los costos de desarrollo.

● Dispositivos mal comportados. El impacto de la falta de estándares y mejores

prácticas documentadas va más allá de la limitación del potencial de los dispositivos

de IoT. De una manera pasiva, la ausencia de estas normas puede permitir el mal

comportamiento de los dispositivos. En otras palabras, sin estándares que sirvan de

guía para los fabricantes, quienes desarrollan estos dispositivos suelen diseñar

productos cuyo funcionamiento perjudica a Internet sin prestar demasiada atención al

impacto que pueden llegar a tener. Estos dispositivos son peores que aquellos que

simplemente no son interoperables. Si están mal diseñados y configurados, pueden

afectar a los recursos de red que conectan a Internet e incluso a la propia Internet.

● Sistemas heredados. La estandarización de la interoperabilidad representa un desafío

para los nuevos dispositivos de IoT que deben interactuar con los sistemas que ya

están desplegados y en funcionamiento.

Page 39: “Sistema de control aplicado - UNP

pág. 39

Esto es relevante para muchos entornos específicos de ciertas industrias y

aplicaciones que ya cuentan con redes de dispositivos establecidas9. Los ingenieros

que trabajan en IoT deben llegar a un compromiso entre un diseño que mantenga la

compatibilidad con los sistemas heredados y su intención de lograr una mayor

interoperabilidad con otros dispositivos mediante la utilización de estándares.

● Configuración. Los usuarios enfrentarán cada vez mayores desafíos a medida que

aumente la cantidad de dispositivos de IoT que deban manejar.

Uno de estos desafíos es la necesidad de modificar rápida y fácilmente la

configuración de múltiples dispositivos en una red.

A la hora de enfrentar la configuración de cientos de dispositivos individuales, será

fundamental que las herramientas, métodos e interfaces a utilizar hayan sido

cuidadosamente diseñadas y estandarizadas.

● Proliferación de los esfuerzos de estandarización. Además de los tradicionales

organismos de normalización, han surgido múltiples coaliciones de la industria cuyo

objetivo es ayudar a evaluar, desarrollar, modificar o armonizar los estándares y los

protocolos relacionados con IoT. Esto incluye, por ejemplo, organismos de

normalización de larga data como el IETF, la ITU y el IEEE, además de iniciativas

comparativamente nuevas como el Industrial Internet Consortium, el Open

Interconnection Consortium, ZigBee Alliance y AllSeen Alliance, entre muchas otras.

1.3.2 Interrogantes acerca de la interoperabilidad en IoT

La interoperabilidad y los estándares plantean desafíos y preguntas que será necesario

responder para el futuro de los dispositivos de IoT. Algunos de los interrogantes que surgen

son:

● ¿En qué áreas son más necesarias y deseables las normas de interoperabilidad? ¿Son

suficientemente similares o diferentes en toda la gama de posibles aplicaciones y

casos de uso de IoT (por ejemplo, bienes de consumo, aplicaciones industriales y

aparatos médicos)? ¿Cuáles normas genéricas y ampliamente disponibles (como por

ejemplo la familia de protocolos de Internet) se podrían utilizar como componentes de

los dispositivos y servicios de IoT? ¿Cómo afectaría la falta de interoperabilidad la

capacidad de los usuarios de conectarse, hablar, compartir e innovar?

● ¿Qué funciones deben cumplir los organismos de normalización, los consorcios de la

industria y los grupos de partes interesadas en el desarrollo de estándares para IoT?

¿Qué potencial tendría reunir a la amplia gama de grupos que están trabajando en

implementaciones técnicas de IoT para una discusión más amplia sobre la

interoperabilidad y la implementación de estándares? ¿Se pueden evitar la existencia

de estándares que compitan entre sí, la duplicación de esfuerzos y los conflictos que

9 Son ejemplos de protocolos de sistemas legados: el protocolo SCADA (Supervisory Control and Data Acquisition), que se

utiliza para la comunicación de dispositivos industriales, y los protocolos CAN Bus (Control Area Network) para sensores vehiculares e industriales.

Page 40: “Sistema de control aplicado - UNP

pág. 40

surgen cuando diferentes organismos y consorcios de normalización abordan temas

similares o coincidentes sin que los gastos de coordinación se vuelvan excesivos? En

términos más prácticos, ¿cómo pueden los actores de la industria y otras partes

interesadas mantenerse al tanto de todo lo que ocurre en este amplio espacio?

● ¿Cuál es el mejor enfoque para involucrar y educar a las comunidades de usuarios y

desarrolladores sobre los problemas que generan los dispositivos de IoT que no se

comportan bien y la falta de implementación de los estándares? Dada la amplia

variedad de aplicaciones y casos de uso de IoT, ¿qué tipos de mejores prácticas o

modelos de referencia de implementación serían eficaces?

● ¿Cómo afectará la Internet de las Cosas el consumo de ancho de banda y otros

recursos? ¿En qué medida será necesario modificar los estándares para dar soporte a

las necesidades cambiantes? Dada la importancia que tienen los servicios basados en

la nube para Internet de las Cosas, ¿qué desafíos plantea la interoperabilidad entre

nubes?

● En términos generales, no se puede negar la importancia de la interoperabilidad y los

estándares de IoT para el mercado y para los consumidores. En última instancia, es

fundamental incorporar el desafío de desarrollar y emplear estándares de

interoperabilidad en la discusión sobre la innovación, la competencia y la elección de

los servicios por parte del usuario, todos temas que forman parte de los básicos de

ISOC.

1.4 Aspectos reglamentarios, legales y de derechos en IoT

1.4.1 Protección de datos y flujos transfronterizos

No se puede evitar que los datos que recogen los dispositivos de IoT se envíen a través de los

límites jurisdiccionales. Estos dispositivos utilizan Internet para comunicarse e Internet

atraviesa límites jurisdiccionales a todo nivel. Los dispositivos de IoT pueden recoger datos

sobre las personas en una jurisdicción y transmitirlos a otra para su almacenamiento o

procesamiento, muchas veces sin mayores obstáculos técnicos. Esto puede convertirse

rápidamente en un problema legal, por ejemplo, si los datos recogidos se consideran datos

personales o datos sensibles y están sujetos a las leyes de protección de datos de múltiples

jurisdicciones. Para complicar aún más las cosas, las leyes de protección de datos en la

jurisdicción donde residen el dispositivo y el titular de los datos podría ser inconsistente o

incompatible con las leyes de la jurisdicción donde los datos se almacenan y procesan.

Estas situaciones se describen como flujos de datos transfronterizos y plantean preguntas con

respecto al alcance jurídico de las normas que podrían ser aplicables. En otras palabras, ¿cuál

régimen legal regula el dispositivo que recoge los datos y cuál regula el almacenamiento y el

uso de los datos recogidos? Este escenario también plantea preguntas normativas. ¿Se pueden

modificar estas leyes para reducir el grado de fragmentación de Internet que provocan y, a la

vez, proteger los derechos de los usuarios? Si una jurisdicción tiene leyes de protección de

Page 41: “Sistema de control aplicado - UNP

pág. 41

datos más restrictivas en cuanto al manejo y la transmisión de determinados datos

provenientes de IoT, ¿estos requisitos legales se deberían poder proyectar a otras

jurisdicciones?

Si bien muchas de estas preguntas sobre los flujos de datos transfronterizos ya se han

planteado y abordado en el marco del tráfico de datos de la Internet tradicional, con la

inclusión de marcos regionales e internacionales (por ejemplo, las directrices de la OCDE que

regulan la protección de la privacidad, el Convenio No.108 del Consejo de Europa, el Marco

de Privacidad de APEC) y disposiciones especiales (por ejemplo, el sistema de Reglas de

Privacidad Transfronterizas de APEC, las Normas Corporativas Vinculantes de UE), los

dispositivos de IoT plantean un nuevo desafío en este sentido. Cada vez más, estos

dispositivos podrán conectarse automáticamente a otros dispositivos y sistemas y transmitir

información a través de las fronteras sin el conocimiento del usuario. Esto podría crear

situaciones en las que un usuario se podría convertir en responsable de cumplir con los

requisitos aplicables a los flujos de datos transfronterizos, incluso sin saber que esto está

ocurriendo. Estos son temas complejos y lo serán cada vez más, ya que la tecnología sigue

avanzando más rápido que las políticas.

1.4.2 Discriminación de los datos de IoT

Los datos recogidos por los dispositivos de IoT permiten formar una imagen detallada de las

personas con que interactúan y estos datos pueden ser utilizados tanto para fines beneficiosos

como para fines discriminatorios. Consideremos el caso de los dispositivos que se utilizan

para llevar registro de la actividad física. Muchas veces una persona lleva uno de estos

dispositivos de forma permanente durante un período de días o semanas; durante todo este

tiempo, el dispositivo recoge información muy detallada sobre los movimientos de la persona

y otros datos biométricos. Una aplicación analiza estos datos para determinar el estado físico

de la persona, estimar las calorías que quema, llevar un registro de las horas de sueño y

caracterizar la calidad del sueño. Este análisis es claramente beneficioso para el usuario, ya

que le ofrece una manera de cuantificar su actividad física mientras intenta alcanzar un

objetivo de pérdida de peso o aptitud física.

Pero estos mismos datos se pueden utilizar en formas potencialmente discriminatorias. En

Estados Unidos, algunos planes de seguro médico están incentivando a los participantes para

que permitan que el asegurador acceda a los datos del dispositivo a cambio de primas de

seguro más bajas10

. Esta práctica puede ser vista como positiva: ofrecer precios preferenciales

a quienes estén dispuestos a entregar sus datos biométricos a cambio de un descuento. Por

otra parte, potencialmente podría ser discriminatoria, en especial para quienes se encuentran

en desventaja económica. Los incentivos financieros para permitir que las aseguradoras y

10

“Big Doctor Is Watching”. Slate, 27 de febrero de 2015.

http://www.slate.com/articles/technology/future_tense/2015/02/how_data_from_fitness_trackers_medical_devices_could_affect_health_insurance.html

Page 42: “Sistema de control aplicado - UNP

pág. 42

otros interesados accedan a la información sobre su salud podrían llegar a ser tan

convincentes que “escoger” participar sería la única opción viable11

.

Además, la calidad, la especificidad y el volumen de los datos producidos por IoT podrían

magnificar el potencial de que se generen prácticas de precios discriminatorias y servicios

ilegítimos. Con frecuencia los datos de IoT se pueden etiquetar con metadatos (marcas de

fecha y de tiempo, etiquetas de geolocalización) que aumentan dramáticamente la calidad de

los datos desde el punto de vista de su análisis. Además, los sensores de IoT suelen realizar

muy pocas funciones. Esto significa que los datos de los sensores suelen asociarse con una

situación operativa específica, que permite un alto grado de especificidad a la hora de

correlacionar los datos con una persona o con un grupo de personas. De hecho, el dispositivo

se podría llegar a asociar con la persona en la que está implantado, como en el caso de un

marcapasos o una bomba de insulina conectados a Internet.

Por último, estos dispositivos crean importantes flujos de datos continuos sin intervención

humana. La combinación de estas cualidades hace que los análisis de los datos de IoT sean

muy descriptivos y útiles para la investigación, el desarrollo de productos y también en otras

áreas. Los algoritmos de Big Data pueden examinar cantidades enormes de datos y buscar

correlaciones estadísticas y semánticas para así determinar grupos de usuarios con

características afines. A su vez, estos algoritmos podrían categorizar injustamente a los

usuarios y explotar sus características.

Este tipo de usos de los datos de IoT plantea cuestiones prácticas, legales y reglamentarios.

En primer lugar, ¿cómo podemos detectar las prácticas discriminatorias o injustas contra los

usuarios? ¿Existen prácticas discriminatorias virtualmente imposibles de detectar? ¿Existe

alguna diferencia legal en caso que la decisión de discriminar sea tomada por una persona o

por una máquina? El desarrollo de herramientas para detectar prácticas algorítmicas injustas

es un desafío para la investigación académica, sobre todo porque la mayoría de los algoritmos

de análisis de datos son secretos empresariales y no son del dominio público. ¿Cómo

podemos equilibrar los enormes beneficios comerciales y sociales del análisis de datos de IoT

con la probabilidad de que se generen prácticas discriminatorias contra los usuarios? ¿Cómo

podemos fomentar la adopción de los principios de la innovación sin pedir permiso

(permissionless innovation) en el ámbito de IoT y a la vez proteger a los usuarios contra las

prácticas ilegítimas? ¿Cómo podemos mejorar la transparencia? ¿Las leyes de privacidad y de

protección del consumidor existentes, alcanzan para hacer frente a este escenario? ¿Qué

recursos deberían estar disponibles en caso de discriminación? ¿Los dispositivos de IoT se

deberían categorizar y regular en función de la naturaleza de los datos que producen,

especialmente cuando los datos son propensos a ser mal utilizados?

11

Ibid.

Page 43: “Sistema de control aplicado - UNP

pág. 43

1.4.3 Los dispositivos de IoT utilizados como ayudas para las agencias de

aplicación de la ley y la seguridad pública

Indudablemente, los dispositivos de IoT y los datos que generan pueden ser utilizados como

herramientas eficaces para luchar contra el crimen. Muchos comercios minoristas han

instalado cámaras de seguridad para recoger imágenes de video y realizar un seguimiento de

la actividad de los compradores, algo que ha resultado de gran valor como prueba en los

procesos penales y como elemento de disuasión de la delincuencia12

. Más recientemente, On-

Star Corporation, una subsidiaria de General Motors, puede proporcionar datos de los

sensores que se encuentran en el automóvil de la policía para ayudar en la recuperación de

vehículos robados y puede desactivar de forma remota un vehículo robado13

. El

Departamento de Policía del Condado de Nassau (Nueva York) utiliza una red de sensores de

sonido llamada ShotSpotter que permite detectar y localizar la fuente exacta de un disparo en

los barrios donde han sido desplegados14

. Todos estos son ejemplos de los beneficios que la

tecnología de Internet de las Cosas puede ofrecer a la policía para combatir la delincuencia y

mejorar la seguridad pública.

Sin embargo, el despliegue y uso de este tipo de tecnologías provocan preocupación entre

algunos defensores de los derechos civiles y otras personas. Entre las posibles causas de

preocupación se incluyen la omnipresencia de las actividades de monitoreo de los datos, las

políticas sobre su conservación y destrucción, los usos secundarios que los gobiernos pueden

darles, así como la potencial exposición accidental de los datos a actores maliciosos. Además,

se deben considerar cuidadosamente los efectos potencialmente negativos sobre las

actividades beneficiosas de las comunidades y sociedades monitoreadas.

Otras situaciones de orden y seguridad públicos son más complejas. Por ejemplo, al lanzar el

iPhone 6 y su sistema operativo iOS 8, Apple Corporation eliminó un método de acceso tipo

“puerta trasera” que existía en versiones anteriores de su teléfono. La función de puerta

trasera permitía a la policía acceder a los datos que se encontraban en el teléfono de un

usuario. Apple eliminó esta característica en el nuevo iPhone y ahora encripta el contenido

interno del teléfono de una manera difícil de vulnerar y para la cual Apple no tiene las claves,

por lo cual no tiene forma de permitir el acceso15

. Esto hace que solo el propietario del

teléfono pueda acceder a su contenido. Las agencias federales de seguridad sostienen que esto

hace que sea más difícil procesar los comportamientos criminales16

, mientras que los

partidarios de los derechos civiles ven en esto una victoria para la protección de la privacidad

12

Goforth Gregory, Jennifer. “5 Ways Tech Is Stopping Theft.” Entrepreneur, 7 de noviembre de 2013.

http://www.entrepreneur.com/article/229674 13

Bond, Jr., Vince. “Lawyers Reaching for In-car Data.” Automotive News, 14 de septiembre de 2014.

http://www.autonews.com/article/20140914/OEM11/309159952/lawyers-reaching-for-in-car-data 14

Weis, Todd R. “Cool Cop Tech: 5 New Technologies Helping Police Fight Crime.” Computerworld. N.p., 16 de febrero de

2012. http://www.computerworld.com/article/2501178/government-it/cool-cop-tech--5-new-technologies-helping-police-fight-crime.html?page=2 15

Timm, Trevor. “Your IPhone Is Now Encrypted. The FBI Says It’ll Help Kidnappers. Who Do You Believe?” The Guardian, 30

de septiembre de 2014. http://www.theguardian.com/commentisfree/2014/sep/30/iphone-6-encrypted-phone-data-default 16

Ibid.

Page 44: “Sistema de control aplicado - UNP

pág. 44

de los datos de los usuarios17

. Esta controversia con respecto al cifrado de los dispositivos

también se aplica a otros dispositivos de IoT. ¿Qué papel debe desempeñar el cifrado de los

dispositivos en la protección de los dispositivos de IoT contra los ataques criminales? ¿Cómo

se puede equilibrar esto con el legítimo acceso a los datos del usuario en interés de la

aplicación de la ley y la seguridad pública?

1.4.4 Responsabilidad por los dispositivos de IoT

Los dispositivos de IoT plantean interrogantes con respecto a la responsabilidad desde el

punto legal que invitan a la reflexión. Una de las preguntas fundamentales subyacentes en lo

que respecta a los dispositivos de IoT es la siguiente: Si alguien se ve perjudicado como

consecuencia de la acción u omisión de un dispositivo de IoT, ¿quién es el responsable?

Teniendo en cuenta la complejidad que plantean los dispositivos de IoT, una complejidad

muy por encima de la que plantea cualquier dispositivo convencional, es necesario pensar

ciertos escenarios, por ejemplo:

● Puede que los dispositivos de IoT sean utilizados en formas nunca previstas por su

fabricante. No es razonable suponer que un fabricante de dispositivos pueda realizar

pruebas de control de calidad para todos los potenciales casos de uso de los

dispositivos de la IoT.

● Quizás los dispositivos de IoT se conecten e interactúen con otros de formas no

anticipadas y para las cuales no se realizaron pruebas. A medida que aumente la

interoperabilidad, estos dispositivos podrán formar entre sí conexiones de red ad hoc.

Por lo tanto, antes de desplegar estos dispositivos, es difícil para un fabricante o

usuario tener en cuenta todos los escenarios potencialmente perjudiciales que podrían

llegar a surgir.

● Una vez instalados, estos dispositivos pueden tener una larga vida útil y serán

susceptibles a futuras amenazas a la seguridad que hoy en día son desconocidas. Esto

significa que estos dispositivos podrían verse comprometidos y ser reprogramados

maliciosamente para dañarse a sí mismos o a otros dispositivos, o bien para revelar

información sensible en forma no intencionada e inadvertida.

● Los dispositivos de IoT se integrarán en sistemas autónomos (por ejemplo,

automóviles sin conductor) que incorporan algoritmos de aprendizaje adaptativo para

controlar su comportamiento sobre la base de la información aportada por los sensores

de tales dispositivos. Es imposible conocer y probar con anticipación las acciones de

estos sistemas.

Si uno de estos escenarios genera daños, ¿las leyes de responsabilidad existentes abordan

adecuadamente la culpabilidad legal y aclaran la responsabilidad de las partes involucradas?

¿Es necesario repensar las leyes de responsabilidad para los dispositivos inteligentes de IoT

17

Timberg, Craig. “Apple Will No Longer Unlock Most IPhones, IPads for Police, Even with Search Warrants.” Washington

Post. The Washington Post, 18 de septiembre de 2014. http://wapo.st/XGGwDi

Page 45: “Sistema de control aplicado - UNP

pág. 45

que aprenden de su entorno y se modifican a sí mismos a medida que pasa el tiempo? Si un

sistema autónomo recibe instrucciones del usuario y no de sus algoritmos internos, ¿qué pasa

en caso de error del usuario? ¿Los dispositivos de IoT deberían ser lo suficientemente

inteligentes como para tener una instrucción de tipo “haz lo que quise decir”? ¿En qué

medida se pueden ampliar las leyes de responsabilidad que existen para los productos

convencionales de manera que abarquen los productos que se van conectando a Internet?

Como comunidad, ¿qué podemos hacer para informar mejor a los legisladores y a los

formuladores de políticas de modo que no sean tan susceptibles frente a la enorme cantidad

de información errónea y consejos sesgados que reciben? ¿Qué podemos hacer para informar

mejor a los usuarios y compradores de estos dispositivos de modo que entiendan todos los

factores que afectan su uso?

1.4.5 Proliferación de dispositivos de IoT utilizados en acciones legales

Los datos que recogen los dispositivos de IoT muchas veces pueden servir como prueba en

una variedad de procedimientos legales. A medida que estos datos se vuelvan más frecuentes,

es probable que se utilicen cada vez más en este tipo de procedimientos. Por ejemplo, algunos

abogados en Estados Unidos han utilizado durante un juicio de divorcio los datos de hora y

localización obtenidos de los dispositivos de peaje electrónico instalados en los automóviles

para demostrar que un cónyuge engañaba al otro18

. En 2014, una mujer canadiense utilizó los

datos de su propio dispositivo de actividad física en apoyo de su reclamo en una demanda por

lesiones personales19

.

En cuanto a usos más deliberadas de los dispositivos de IoT para procedimientos legales, en

los automóviles se pueden instalar dispositivos conectados a Internet de manera que actúen

como garantía en caso de incumplimiento de las obligaciones de pago. Si un conductor no

paga el crédito de su automóvil, el arrendatario o prestamista puede inactivar el vehículo de

forma remota usando el dispositivo instalado hasta que se realice el pago20

. Estos dispositivos

ya se han instalado en más de dos millones de automóviles en Estados Unidos21

.

Este tipo de escenarios plantean nuevas preguntas legales y reglamentarias con respecto a los

dispositivos de IoT. ¿Deberían los fabricantes de dispositivos incluir en estos dispositivos

tecnologías como el cifrado para restringir el acceso a los flujos de datos como lo ha hecho

Apple en el iPhone? A la inversa, ¿deberían los fabricantes estar diseñando dispositivos de

IoT que faciliten el uso de los datos en un procedimiento judicial? ¿Es necesario desarrollar

estándares que especifiquen requisitos de diseño para que los datos de IoT soporten la cadena

de custodia de los datos en los procesos judiciales? ¿Se deberían establecer regulaciones que

protejan al consumidor de ciertos dispositivos de IoT?

18

Newmarker, Chris. “E-ZPass Records out Cheaters in Divorce Court.” Msnbc.com. NBC News.com, 10 de agosto de 2007.

http://www.nbcnews.com/id/20216302/ns/technology_and_science-tech_and_gadgets/t/e-zpass-records-out-cheaters-divorce-court/#.WpsLPudG3IU 19

Olson, Parmy. “Fitbit Data Now Being Used In The Courtroom.” Forbes. Forbes Magazine, 16 de noviembre 2014.

http://www.forbes.com/sites/parmyolson/2014/11/16/fitbit-data-court-room-personal-injury-claim/ 20

Picchi, Aimee. “Why the Repo Man Can Remotely Shut off Your Car Engine.” CBS News, 25 de septiembre de 2014.

http://www.cbsnews.com/news/why-the-repo-man-can-remotely-shut-off-your-car-engine/ 21

Corkery, Michael, and Jessica Silver-Greenberg. “Miss a Payment? Good Luck Moving That Car.” New York Times, 24 de

septiembre de 2014. http://dealbook.nytimes.com/2014/09/24/miss-a-payment-good-luck-moving-that-car/

Page 46: “Sistema de control aplicado - UNP

pág. 46

1.5 Cuestiones relacionadas con las economías emergentes y el

desarrollo

1.5.1 Oportunidades económicas y de desarrollo

Con respecto a las oportunidades, el McKinsey Global Institute señala que la tecnología de

IoT tiene gran potencial en las economías en desarrollo. Se proyecta que en 2025 hasta un

38% del impacto económico anual de las aplicaciones de IoT provendrá de las regiones

menos desarrolladas22

. Desde una perspectiva económica, se anticipa que las tendencias tanto

demográficas como de mercado impulsarán las oportunidades. Por ejemplo, los países en

desarrollo tienen un elevado número de potenciales usuarios de IoT (especialmente China), el

crecimiento económico mundial se está desplazando hacia las economías en desarrollo y se

espera que las aplicaciones industriales de IoT (por ejemplo, en las fábricas, los lugares de

trabajo y el transporte) impulsarán la creación de valor económico23

.

Si se materializan las expectativas con respecto a la innovación y la aplicación de la

tecnología, las implementaciones de IoT podrían encerrar una gran promesa como

habilitadoras del desarrollo social, incluyendo el logro de los Objetivos de las Naciones

Unidas para el Desarrollo Sostenible24

. Los Objetivos de la ONU para el Desarrollo

Sostenible son un conjunto de treinta y siete objetivos que abarcan más de cien metas y que

apuntan a guiar los esfuerzos para lograr dignidad, bienestar e igualdad para todas las

personas del mundo —especialmente las personas pobres y marginadas—. Abarcan una

amplia gama de desafíos de desarrollo fundamentales, entre ellos la agricultura sostenible, la

energía, la disponibilidad de agua, la industrialización y la gestión de los recursos terrestres y

marítimos.

Al considerar el potencial de que la tecnología de los objetos inteligentes y de Internet de las

Cosas aborde los desafíos del desarrollo de manera significativa, las oportunidades parecen

ser convincentes. Por ejemplo, la aplicación de redes de sensores a diferentes desafíos

ambientales —la calidad y el uso del agua, el saneamiento, la salud y las enfermedades, el

cambio climático y el monitoreo de los recursos naturales— podría tener un fuerte impacto

más allá de la gestión de los recursos. Los datos obtenidos de este tipo de aplicaciones

también se podrían utilizar en contextos de investigación y ayudar a los científicos y a las

universidades locales a realizar contribuciones únicas al cuerpo de conocimiento científico

global e incentivar a los talentos académicos locales de manera que permanezcan en el país y

se dediquen a la investigación.

La creciente población mundial —especialmente en las economías emergentes— y los

desafíos relacionados con el acceso a alimentos de calidad, seguros y asequibles, se anticipa

22

Manyika, James, et. al., The Internet of Things: Mapping the Value beyond the Hype. McKinsey Global Institute, junio de

2015. p. 4. http://www.mckinsey.com/insights/business_technology/the_internet_of_things_the_value_of_digitizing_the_physical_world 23

Manyika, James, et. al., p. 4-5. 24

La lista de Objetivos y metas de Desarrollo Sostenible de las Naciones Unidas se puede consultar en

https://sustainabledevelopment.un.org/topics.

Page 47: “Sistema de control aplicado - UNP

pág. 47

que, aumentarán con el tiempo. El potencial uso de IoT para combatir el hambre y promover

una agricultura sostenible ha recibido especial atención, quizás más que cualquier otro

problema relacionado con el desarrollo25

. Desde la gestión de los ciclos de producción

agrícola, las amenazas de enfermedades y el aumento de las materias primas gracias a la

automatización de las cosechas, la logística aplicada a la distribución y el control de la

calidad, se anticipa que las técnicas de “agricultura inteligente” basadas en IoT se

incorporarán a toda la cadena de valor para mejorar la sostenibilidad y la productividad de la

oferta de alimentos26

.

1.5.2 Aprovechar IoT para el desarrollo global

Internet de las Cosas (IoT) se está desplegando alrededor del mundo para resolver algunos de

los problemas de desarrollo más urgentes a nivel global. Se están usando tecnologías

conectadas para mejorar la prestación de servicios y los resultados del desarrollo en múltiples

áreas, desde el alivio de la pobreza hasta la mejora de la gestión sostenible del agua y el

saneamiento.

Impulsada por los costos cada vez menores de los sensores y microprocesadores y la

creciente variedad de tecnologías de conectividad asequibles, IoT representa la próxima

frontera para las tecnologías de la información y la comunicación (TIC) para el desarrollo

(ICT4D por sus siglas en inglés). Mientras que más del 90% de la población mundial tiene

cobertura de las redes celulares móviles y dos tercios tienen acceso a señales 3G que

permiten una comunicación de datos robusta, también hay otras tecnologías de corto y largo

alcance que ofrecen una amplia gama de opciones de conectividad de datos. A medida que

los dispositivos y servicios continúen volviéndose más asequibles, crecerán las

intervenciones de IoT en el desarrollo (IoT4D). Por ejemplo, hoy en día, se cuentan con

sensores para monitorear la temperatura y la ubicación, las cadenas de frío —especialmente

las que facilitan el transporte y la distribución de las vacunas esenciales— son más seguras y

eficientes, por lo que un porcentaje mayor de los envíos llegan a destino sin echarse a perder.

En África oriental, se están desplegando bombas de agua manuales equipadas con sensores de

flujo con módulos SMS 2G que pueden informar a los municipios locales, a las oficinas

gubernamentales y a las comunidades de donantes sobre la tasa de uso del agua y el tiempo

de inactividad debido a un mal funcionamiento de las bombas.

El sector agrícola también se ha beneficiado de IoT. Ahora es posible alimentar y monitorear

el ganado de forma más específica por medio de etiquetas de nombre/número que contienen

información en un chip de identificación por radiofrecuencia (RFID). Se pueden enterrar

sensores electroquímicos para medir la exposición a la luz solar, así como los niveles de

saturación de agua y la presencia de nutrientes esenciales como el fósforo y el nitrógeno.

Además, las familias de bajos ingresos que viven en regiones remotas o en zonas urbanas sin

25

Los miembros de la Internet Society han formado un Grupo de Interés Especial para investigar específicamente los

problemas que surgen en la intersección de la Internet, IoT y el sector de los alimentos. Para obtener más información sobre el Grupo de Interés Especial de ISOC sobre Alimentos, diríjase a http://internet-of-food.org/ 26

“Digital Farm Set for Internet’s next Wave .” The Guardian, 20 de septiembre de 2015, sec. connecting the future.

http://www.theguardian.com/connecting-the-future/2015/sep/21/digital-farm-set-for-internets-next-wave

Page 48: “Sistema de control aplicado - UNP

pág. 48

acceso a la red eléctrica formal están utilizando tecnologías de IoT junto con células solares

para proveer de energía a sus hogares. Los costos del capital inicial de las unidades solares se

amortizan y se pagan a través de servicios de dinero móvil; las células solares comunican el

nivel y la utilización de las baterías en forma regular a través de comunicaciones de datos.

Estos son apenas algunos ejemplos que ponen de relieve el impacto de IoT como herramienta

para alcanzar los Objetivos de Desarrollo del Milenio de las Naciones Unidas (ODM) y los

Objetivos de Desarrollo Sostenible (ODS) que pronto estarán disponibles. Sin embargo,

todavía existen desafíos, especialmente en lo que respecta a la infraestructura, la capacidad

técnica y la promoción de entornos regulatorios que le den la bienvenida a las intervenciones

de IoT. Una mayor atención al potencial de IoT4D ayudará a aumentar su impacto y su

eficacia en la lucha contra algunos de los desafíos de desarrollo más importantes de nuestro

tiempo.

1.5.3 Interrogantes acerca de IoT y su relación con las economías emergentes y

su desarrollo

Los asuntos discutidos en las secciones anteriores no son exclusivos de los países

industrializados y se deben considerar aplicables a los mercados en desarrollo. Sin embargo,

las circunstancias únicas que suelen encontrarse en las economías emergentes plantean

algunas otras preguntas con respecto a la maximización de los beneficios y la gestión de los

desafíos de IoT. Aunque este listado no es en absoluto exhaustivo, algunas áreas a considerar

incluyen las siguientes:

● Recursos de Infraestructura. La infraestructura de Internet y las comunicaciones se

han propagado rápidamente por todo el mundo en desarrollo, aunque en muchos

países todavía existen lugares donde no es posible asegurar un acceso confiable, de

alta velocidad y asequible, incluso para uso comercial y de negocios. ¿En qué medida

Internet de las Cosas ejercerá presión sobre la infraestructura y los recursos de

Internet y las telecomunicaciones? ¿Los desafíos actuales frenarán las oportunidades

de IoT en las regiones emergentes? ¿O será IoT un generador de demanda que

impulsará la construcción de más infraestructura? ¿Es necesario prestar especial

atención a la gestión del espectro, teniendo en cuenta que muchas implementaciones

de IoT se sustentan en la tecnología inalámbrica? A medida que los servicios en la

nube y los análisis de datos relacionados incorporen valor en muchos servicios de IoT,

¿la relativa escasez de infraestructura de centros de datos en las economías

emergentes representará un obstáculo para el despliegue?

● Inversión. En los países industrializados, la inversión en investigación y desarrollo de

productos para IoT está siendo impulsado por las oportunidades de mercado para

diferentes productos y servicios. ¿Hasta qué punto el mercado impulsará la inversión

en implementaciones de IoT en los países en desarrollo, sobre todo más allá de las

aplicaciones en industrias y entornos con una clara perspectiva de retorno a corto

plazo? Por el contrario, ¿los despliegues de IoT en las economías emergentes serán

más eficientes y rentables? Dada la menor cantidad de sistemas heredados que suelen

Page 49: “Sistema de control aplicado - UNP

pág. 49

existir en estas economías, ¿podrán saltearse la generación tecnológica que está en

uso en el resto del mundo? ¿Los gobiernos deberían incentivar el desarrollo de

soluciones técnicas innovadoras por parte de los investigadores y las industrias

locales?

● Desarrollo técnico y de la industria. ¿En qué medida están participando

investigadores y emprendedores de los países emergentes en el desarrollo técnico y el

despliegue de IoT? ¿Qué se debe hacer para fomentar su participación en el desarrollo

de soluciones técnicas y aplicaciones que satisfagan las necesidades y oportunidades

de estos mercados, que a la vez sean respetuosas de las normas culturales y que

construyan niveles adecuados de seguridad y protección de la privacidad? ¿Qué

nuevas habilidades pueden ser necesarias en las economías emergentes para construir,

desplegar y gestionar sistemas de IoT? ¿Las industrias en las economías emergentes

están listas para aprovechar la tecnología de IoT? ¿Quedarán rezagadas o estarán en

mejores condiciones de saltearse las tecnologías industriales más antiguas? ¿Cómo

pueden los investigadores y las industrias de los países con economías emergentes

posicionarse para desarrollar soluciones a los desafíos económicos y sociales locales

que tienen un impacto directo en sus sociedades?

● Coordinación regulatoria y de políticas. En los últimos diez años, los formuladores

de políticas y reguladores de las economías emergentes han logrado avances

significativos en cuanto al desarrollo y la adaptación de las políticas y regulaciones

existentes para fomentar el crecimiento de Internet y hacer frente a los desafíos

relacionados. En las economías emergentes, los formuladores de políticas

tecnológicas deben enfrentar importantes exigencias, especialmente en vista de la

velocidad de los desarrollos y las limitaciones de los recursos. Aunque IoT promete

nuevas oportunidades, también agregará una nueva dimensión de complejidad. ¿Qué

información y recursos necesitan ahora los formuladores de políticas de las economías

emergentes para tener en cuenta las exigencias de políticas y otras preguntas que

surgirán con el crecimiento de IoT?

Page 50: “Sistema de control aplicado - UNP

pág. 50

CAPÍTULO 4:

MODELOS DE COMUNICACIÓN

1 Introducción

Uno de los grandes desafíos de IoT es la interoperabilidad. En una encuesta reciente de

Nexus, el setenta y siete por ciento (77%) de los entrevistados consideró que la

interoperabilidad es el mayor desafío de IoT.

Para lograr interoperabilidad entre sistemas o aplicaciones se debe establecer el modelo de

comunicación que dará lugar a la estructura de la solución para lograr este objetivo. El

modelo de comunicación elegido no sólo es importante porque define la estructura del

sistema general resultante sino también porque delimita los protocolos de comunicación

posibles de aplicar.

2 Los modelos Cliente/Servidor y Publicador/Suscriptor

2.1 Modelo Cliente/Servidor

Es un modelo de aplicación distribuida en el que las tareas se reparten entre los programas

proveedores de recursos o servicios, llamados servidores, y los programas demandantes,

llamados clientes. Un cliente realiza peticiones (requests, solicitudes) a un servidor, el cual

procesa dicha petición y retorna los resultados al cliente apropiado. Esta idea también se

puede aplicar a programas que se ejecutan sobre una sola computadora, aunque es más

ventajosa en un sistema operativo multiusuario distribuido a través de una red de

computadoras.

La separación entre cliente y servidor es una separación de tipo lógico, donde el servidor no

se ejecuta necesariamente sobre una sola máquina ni es necesariamente un sólo programa.

Los tipos específicos de servidores incluyen los servidores web, los servidores de archivo, los

servidores del correo, etc. Mientras que sus propósitos varían de unos servicios a otros, la

arquitectura básica seguirá siendo la misma.

La red cliente/servidor es una red de comunicaciones en la cual los clientes están conectados

a un servidor, en el que se centralizan los diversos recursos y servicios con que se cuenta; y

que los pone a disposición de los clientes cada vez que estos son solicitados. Esto significa

que todas las gestiones que se realizan se concentran en el servidor, de manera que en él se

disponen los requerimientos provenientes de los clientes que tienen prioridad, los archivos

que son de uso público y los que son de uso restringido, los archivos que son de sólo lectura y

los que, por el contrario, pueden ser modificados, etc. Este tipo de red puede utilizarse

conjuntamente en caso de que se esté utilizando en una red mixta.

Page 51: “Sistema de control aplicado - UNP

pág. 51

Este modelo es utilizado por servicios como el intercambio de emails, el acceso a páginas

web, el acceso a bases de datos, y muchos otros protocolos de internet se basan en este

concepto (HTTP, SMTP, Telnet, DNS), etc. La mayoría de los servicios de Internet son tipo

de cliente-servidor. La acción de visitar un sitio web requiere una arquitectura cliente-

servidor, ya que el servidor web sirve las páginas web al navegador (al cliente). Otro ejemplo

podría ser el funcionamiento de un juego online: si existen dos servidores de juego, cuando

un usuario lo descarga y lo instala en su computadora pasa a ser un cliente. Si tres personas

juegan en un solo computador existirían dos servidores, un cliente y tres usuarios. Si cada

usuario instala el juego en su propia computadora existirían dos servidores, tres clientes y tres

usuarios.

2.1.1 Características

En la arquitectura cliente/servidor el remitente de una solicitud es conocido como cliente. Sus

características son:

● Es quien inicia las solicitudes o peticiones, tienen por tanto un papel activo en la

comunicación (dispositivo maestro o amo).

● Espera y recibe las respuestas del servidor.

● Por lo general, puede conectarse a varios servidores a la vez.

● Normalmente interactúa directamente con los usuarios finales mediante una interfaz

gráfica de usuario.

Al receptor de la solicitud enviada por el cliente se conoce como servidor. Sus características

son:

● Al iniciarse esperan a que lleguen las solicitudes de los clientes, desempeñan entonces

un papel pasivo en la comunicación (dispositivo esclavo).

● Tras la recepción de una solicitud, la procesan y luego envían la respuesta al cliente.

● Por lo general, acepta las conexiones de un gran número de clientes (en ciertos casos

el número máximo de peticiones puede estar limitado).

Las características generales de la arquitectura cliente/servidor son:

● Protocolos asimétricos: hay una relación muchos a uno entre los clientes y un

servidor. Los Clientes siempre inician un diálogo mediante la solicitud de un

servicio/recurso. Los Servidores esperan pasivamente por las solicitudes de los

clientes.

● Encapsulamiento de servicios: el servidor es un especialista, cuando se le entrega un

mensaje solicitando un servicio, él determina cómo hacer el trabajo. Los servidores se

pueden actualizar sin afectar a los clientes en tanto que la interfaz pública de mensajes

que se utilice, por ambos lados, permanezca sin cambiar.

Page 52: “Sistema de control aplicado - UNP

pág. 52

● Integridad: el código y los datos de un servidor se mantienen centralizados, lo que

origina que el mantenimiento sea más barato y sostiene la protección de la integridad

de datos compartidos. Al mismo tiempo, los clientes conservan su independencia y

“personalidad”.

● Transparencia de localización: el servidor es un proceso que puede residir en la

misma máquina que el cliente u otra máquina diferente de la red. El software

cliente/servidor (middleware) habitualmente oculta la localización de un servidor a los

clientes mediante la redirección de servicios. Un programa puede actuar como cliente,

como servidor o como cliente y servidor simultáneamente.

● Intercambios basados en mensajes: los clientes y servidores son procesos

débilmente acoplados que pueden intercambiar solicitudes de servicios y respuestas

utilizando mensajes.

● Modularidad, diseño extensible: el diseño modular de una aplicación

cliente/servidor permite que la aplicación sea tolerante a fallos:

○ En sistemas tolerantes a fallos, los fallos pueden ocurrir sin causar la caída de

la aplicación completa.

○ En una aplicación cliente/servidor tolerante a fallos, uno o más servidores

pueden fallar sin parar el sistema total mientras que los servicios

proporcionados por los servidores caídos estén disponibles en otros servidores

activos.

○ Otra ventaja de la modularidad es que una aplicación cliente/servidor puede

responder automáticamente al incremento o decremento de la carga del

sistema mediante la incorporación o eliminación de uno o más servicios o

servidores.

● Independencia de la plataforma: el software cliente/servidor “ideal” es

independiente del hardware o sistemas operativos, permitiendo al programador

mezclar plataformas de clientes y servidores. El entorno de explotación de clientes y

servidores puede ser sobre diferentes plataformas, con el fin de optimizar el tipo de

trabajo que cada uno desempeña.

● Código reutilizable: la implementación de un servicio puede utilizarse en varios

servidores.

● Escalabilidad: los sistemas cliente/servidor pueden ser escalados horizontal o

verticalmente:

○ El escalado horizontal significa añadir o eliminar estaciones clientes con un

ligero impacto en el rendimiento.

Page 53: “Sistema de control aplicado - UNP

pág. 53

○ El escalado vertical significa la migración a una máquina servidora más

grande y rápida o la incorporación de nuevas máquinas servidoras.

● Separación de la funcionalidad del cliente/servidor: el modelo cliente/servidor es

una relación entre procesos que se ejecutan en la misma máquina o en máquinas

separadas. Un proceso servidor es un proveedor de servicios. Un cliente es un

consumidor de servicios. El modelo cliente servidor proporciona una clara separación

de funciones.

● Recursos compartidos: un servidor puede proporcionar servicios a muchos clientes

al mismo tiempo, y regular el acceso de éstos a un conjunto de recursos compartidos.

Los servidores pueden ser sin estado (stateless) o con estado (stateful). Un servidor stateless

no guarda ninguna información entre las peticiones. Un servidor stateful puede recordar la

información entre las peticiones. El alcance de esta información puede ser global o sesión-

específico. Un servidor del protocolo HTTP para las páginas estáticas HTML es un ejemplo

de un servidor sin estado, mientras que Apache Tomcat es un ejemplo de un servidor stateful.

La interacción entre el cliente y el servidor se describe a menudo usando diagramas de

secuencia. Los diagramas de secuencia se estandarizan en UML. Es importante que los

clientes no interactúen entre sí ni que lo hagan clientes de capas bajas hacia otros de capas

más altas, por eso todo tiene que pasar por el servidor.

2.1.2 Ventajas

El modelo cliente/servidor se recomienda, en particular, para redes que requieran un alto

grado de fiabilidad. Las principales ventajas son:

● Recursos centralizados: debido a que el servidor es el centro de la red, puede

administrar los recursos que son comunes a todos los usuarios, por ejemplo una base

de datos centralizada se utilizaría para evitar problemas provocados por datos

contradictorios y redundantes.

● Seguridad mejorada: debido a que la cantidad de puntos de entrada que permite el

acceso a los datos no es importante.

● Administración al nivel del servidor: dado que los clientes no juegan un papel

importante en este modelo, requieren menos administración.

● Red escalable: gracias a esta arquitectura, es posible quitar o agregar clientes sin

afectar el funcionamiento de la red y sin la necesidad de realizar mayores

modificaciones.

Page 54: “Sistema de control aplicado - UNP

pág. 54

2.1.3 Desventajas

La arquitectura cliente/servidor también tiene las siguientes desventajas:

● Costo elevado: debido a la complejidad técnica del servidor.

● Un eslabón débil: el servidor es el único eslabón débil en la red de cliente/servidor,

debido a que toda la red está construida en torno a él. Afortunadamente, el servidor es

altamente tolerante a los fallos (principalmente gracias al sistema RAID).

2.2 Modelo Publicador/Suscriptor

El sistema publicador/suscriptor es un paradigma de mensajes asíncronos donde los que

envían mensajes (publicadores) no están programados para enviar sus mensajes a receptores

específicos (suscriptores), sino que se envían a algún tipo de servidor. Los mensajes

publicados se caracterizan por clases, sin tener constancia de los suscriptores que pueda

haber. Los suscriptores expresan interés en una o más clases, y solo reciben mensajes de ese

mismo interés, sin tener constancia de qué publicadores hay. Esta relación independiente

entre publicadores y subscriptores puede permitir una mayor escalabilidad.

El sistema publicador/suscriptor está muy ligado al paradigma de las colas de mensajes

(Message Queue). Muchos de los sistemas de mensajería soportan en su API los dos modelos,

publicador/suscriptor y el modelo de mensajes en cola.

2.2.1 Filtrado de mensajes

En el modelo publicador/suscriptor, los suscriptores normalmente tan solo reciben un

subconjunto del total de mensajes publicados. El proceso de selección de mensajes para su

recepción y su procesamiento es llamado ‘Filtrado de mensajes’ (filtering). Existen dos

maneras de filtrar mensajes: por tópicos o por el contenido de estos. Cuando hablamos de

filtrado por tópicos, decimos que los mensajes son publicados por “temas” o canales. Los

suscriptores en un sistema de filtrado por tópicos recibirán todos los mensajes publicados, de

aquellos tópicos o temas en los cuales se hayan subscrito. Son los publicadores, los

responsables de definir los diferentes tipos de temas o tópicos a los cuales se suscribirán los

suscriptores.

Page 55: “Sistema de control aplicado - UNP

pág. 55

Esquema de sistema publicador/subscriptor

Por otro lado, cuando hablamos de filtrado por el contenido de los mensajes, decimos que los

mensajes son enviados a los subscriptores solo si el contenido de estos coincide con las

preferencias que los suscriptores se hayan definido. El suscriptor es responsable de clasificar

los mensajes.

Algunos sistemas soportan una mezcla de los dos; los publicadores envían mensajes a

algunos tópicos o temas mientras que los suscriptores reciben solo algunos mensajes de cada

tópico según su contenido.

2.2.2 Topologías

En muchos sistemas publicador/suscriptor, los publicadores envían los mensajes a un servidor

intermediario (broker) y los suscriptores hacen sus suscripciones con este servidor

intermediario (broker), permitiendo a este servidor encargarse del filtrado de los mensajes.

Dicho servidor normalmente se encarga del almacenamiento de los mensajes y a su vez de la

gestión de dichos mensajes hacia los suscriptores.

Otros sistemas publicador/suscriptor eliminan este servidor intermediario (broker) y

distribuyen las funciones de gestión y filtrado entre los publicadores y suscriptores, algunas

veces con ayuda de “daemons”.

Otra opción más especializada involucra mapear todas las IP de los suscriptores y

organizarlas en grupos según sus tópicos o temas, de esta forma los mensajes podrían

enviarse directamente desde los publicadores a los suscriptores con un único mensaje. El

filtrado por contenido puede entonces llevarse a cabo en el suscriptor antes de que los

mensajes pasen a la capa superior de la aplicación en sí.

Page 56: “Sistema de control aplicado - UNP

pág. 56

2.2.3 Ventajas

Tanto los publicadores como los suscriptores no necesitan saber uno del otro. Siendo el

tópico o tema el objetivo, publicadores y suscriptores pueden permanecer al margen de la

topología del sistema. Cada uno puede operar con normalidad independientemente del otro.

Cosa que no pasaba con el paradigma tradicional cliente/servidor, donde el cliente no puede

mandar mensajes al servidor mientras el servidor no está en marcha, y éste último no puede

recibir mensajes a no ser que el cliente también esté en marcha.

Para instalaciones relativamente pequeñas, el sistema publicador/suscriptor da la oportunidad

de una mejor escalabilidad que los tradicionales sistemas cliente/servidor, mediante

operaciones en paralelo, caché de mensajes, etc. No obstante, a medida que un sistema

aumenta hasta el punto de convertirse en un centro de datos con miles de servidores

compartiendo la infraestructura publicador/suscriptor, este beneficio normalmente, se pierde;

de hecho, la escalabilidad para sistemas publicador/suscriptor bajo una gran carga es todavía

un desafío.

2.2.4 Desventajas

El problema más importante con los sistemas publicador/suscriptor es, en contrapuesta, su

principal ventaja: la independencia entre el publicador y el suscriptor. El problema está en

que es muy complicado especificar propiedades más fuertes que podrían ser útiles.

Como primer ejemplo, muchos sistemas publicador/suscriptor intentan enviar mensajes

durante un período corto de tiempo y después se detienen. Si una aplicación, por el motivo

que fuese, necesitase una garantía más fuerte (como podría ser: los mensajes serán siempre

enviados y en caso contrario se tendrá que informar al publicador del hecho), el sistema

publicador/subscriptor probablemente no tendría manera de satisfacer esta garantía.

Otro ejemplo sería cuando un publicador “asume” que un suscriptor está escuchando.

Supongamos que utilizamos un sistema publicador/subscriptor para capturar mensajes de

error en una fábrica: cualquier aplicación que produzca un error publicará un apropiado

mensaje, y los mensajes serán puestos en la pantalla de la consola por el servicio (‘daemon’),

el cual está suscrito al tópico “errores”. Si el encargado de capturar las excepciones se

detiene, los publicadores no serán capaces de darse cuenta, con lo cual todos los mensajes de

error desaparecerán y no se verán por la consola.

Los sistemas publicador/subscriptor se comportan bien con instalaciones pequeñas, en cuanto

escalabilidad se refiere, pero cuando nos encontramos con instalaciones más grandes su

comportamiento empieza a decaer. Y esto se manifiesta con inestabilidades como, largos

periodos de espera, retardos en cuanto más y más aplicaciones empiezan a usar el sistema

(incluso si se están comunicando en tópicos distintos), al punto de saturar una red local con el

tráfico de mensajes.

En cuanto a los sistemas que utilizan servidores (brokers), estos pueden ser objeto de

problemas de seguridad. Pueden ser hackeados para enviar notificaciones a un cliente

Page 57: “Sistema de control aplicado - UNP

pág. 57

erróneo, creando una denegación de servicio hacia dicho cliente. Los servidores pueden

sobrecargarse a medida que van almacenando y gestionando grandes cantidades de mensajes.

Incluso con sistemas que no dependen de servidores intermedios, un suscriptor podría ser

capaz de recibir información que no le está autorizada. Un publicador no autorizado podría

ser capaz de introducir mensajes incorrectos o dañinos en el sistema publicador/suscriptor.

Esto ocurre especialmente en sistemas que envían todos sus mensajes a todos sus

suscriptores. La encriptación (ej. SSL/TLS) puede ser la única vía de defensa contra accesos

no autorizados.

2.3 Cliente/Servidor vs. Publicador/Subscriptor

Un protocolo cliente/servidor requiere que el cliente se conecte al servidor y realice

solicitudes. En este modelo, el servidor tiene los datos y responde a los pedidos del cliente,

por ejemplo, el cliente quizá lee una temperatura, esto requiere que sepa acerca del servidor

de antemano y sea capaz de conectarse.

Los protocolos publicador/suscriptor requieren que los dispositivos se conecten a un “tópico”

de un gestor intermediario y publiquen la información. Los consumidores se pueden conectar

al gestor y suscribirse a los datos del tópico. Por ejemplo, un dispositivo puede medir la

temperatura cada minuto y publicarlo una vez por hora. Una aplicación suscripta a dicha

información recibirá una vez por hora un compendio horario de las muestras tomadas cada

minuto. Este modelo desacopla al productor de datos del consumidor de datos.

Los sistemas cliente/servidor se utilizan mejor cuando uno conoce su propia infraestructura.

Por ejemplo, uno sabe que su servidor en campo tiene una dirección IP (Internet Protocol,

protocolo de Internet’) de 55.55.55.55, en un puerto 1234. El cliente se puede conectar y

realizar requerimientos.

Los sistemas publicador/suscriptor son mejores cuando la infraestructura propia es

desconocida. Por ejemplo, si un dispositivo remoto cambia de redes o tiene una conectividad

intermitente, es más fácil para el dispositivo comunicarse cuando se pone en línea y publicar

su información.

En términos de pros y contras, los protocolos cliente/servidor son más compatibles y seguros

porque están basados en conexiones punto a punto. Sin embargo, son menos escalables

porque las conexiones punto a punto son más difíciles de manejar y demandan mayor

cantidad de recursos. Por el contrario, los protocolos publicador/suscriptor son más escalables

porque el separar a productores de consumidores permite que cada uno se agregue y se quite

de forma independiente; sin embargo, como se especificó en el apartado anterior, este

beneficio se pierde cuando la cantidad de dispositivos participantes aumenta en demasía.

Además, asegurar este tipo de protocolos es más complejo porque involucra más piezas.

También pueden aparecer cuestiones de compatibilidad dada la separación entre productor y

consumidor. Por ejemplo, cambiar el formato del mensaje que envía el productor requiere

que todos los consumidores se adapten al nuevo formato.

Page 58: “Sistema de control aplicado - UNP

pág. 58

CAPÍTULO 5:

PROTOCOLOS DE COMUNICACIÓN

1 Introducción

Conectar dispositivos industriales con tecnologías de información y plataformas IoT es un

tema considerable. Existen varios protocolos para cumplimentar esto, algunos que son

privados y otros que son estándares abiertos, todos están compitiendo para convertirse en el

protocolo único de IoT pero es claro que eso no será una realidad. Estos protocolos

coexistirán (cada uno con sus propias fortalezas y debilidades) y dependerá de nosotros

comprender dónde y cuándo usarlos.

Los protocolos que se estudian a continuación tienen el potencial de conectar dispositivos

industriales con plataformas IoT. Un caso común que puede ocurrir es que dos aplicaciones

soporten, por ejemplo, HTTP como protocolo de comunicación; en este caso, lo más

razonable sería intentar utilizar HTTP antes que cualquier otro para realizar la comunicación,

y si eso no funciona o si el medio no lo tolera, se podrá optar por otro protocolo que cubra las

necesidades requeridas.

2 Protocolos

2.1 OPC

El OPC (Object Linking and Embedding for Process Control) no es un protocolo, sino más

bien es un estándar de comunicación en el campo del control y supervisión de procesos

industriales, basado en tecnología Microsoft, que ofrece una interfaz común para

comunicación que permite que componentes software individuales interactúen y compartan

datos. La comunicación OPC se realiza a través de una arquitectura cliente-servidor. El

servidor OPC es la fuente de datos y cualquier aplicación basada en OPC puede acceder a

dicho servidor para leer/escribir cualquier variable que ofrezca el servidor. Es una solución

abierta y flexible al clásico problema de los drivers propietarios. Prácticamente todos los

mayores fabricantes de sistemas de control, instrumentación y de procesos han incluido OPC

en sus productos.

Las aplicaciones necesitan una manera común de acceder a los datos de cualquier fuente,

como un dispositivo o una base de datos.

Page 59: “Sistema de control aplicado - UNP

pág. 59

Las ventajas que proporciona este estándar es que los fabricantes de hardware sólo tienen que

hacer un conjunto de componentes de programa para que los clientes los utilicen en sus

aplicaciones. Además los fabricantes de software no tienen que adaptar los drivers ante

cambios de hardware.

Un cliente OPC se puede conectar a servidores OPC proporcionados por más de un

"proveedor". Esto resulta útil para trabajar con más de dos OPC sin necesidad de seguir el

mismo protocolo.

Es un estándar utilizado para responder a uno de los mayores retos de la industria de la

automatización: cómo comunicar dispositivos, controladores y/o aplicaciones sin caer en los

problemas habituales de las conexiones basadas en protocolos propietarios.

El éxito de OPC en crear comunicaciones auténticamente independientes del fabricante, se

debe a que abstrae, de los detalles de la implementación, a la Fuentes de Datos (esto es, PLC)

y a los Clientes de Datos (es decir, HMI/ SCADA), con lo que los datos se pueden

intercambiar entre ellos sin que tengan que saber nada de sus respectivos protocolos de

Cliente OPC

Servidor OPC

Proveed

Servidor OPC

Proveed

Servidor OPC

Proveed

Page 60: “Sistema de control aplicado - UNP

pág. 60

comunicación nativos y de la organización interna de sus datos. Esto, en clara oposición a la

aproximación basada en crear aplicaciones que funcionan con protocolos propietarios que,

por definición, son requeridos para comunicar, de forma nativa, la Fuente de Datos con el

Cliente de Datos.

La arquitectura Cliente/Servidor OPC – Una mejor vista del funcionamiento OPC nos revela dos componentes:

el Cliente OPC y el Servidor OPC. La especificación OPC define el mensaje entre estos dos componentes.

La “abstracción de dispositivos” de OPC se consigue utilizando dos componentes

especializados llamados Cliente OPC y Servidor OPC. Es importante resaltar que el hecho de

que la fuente de datos y el cliente de datos se puedan comunicar entre sí mediante OPC no

significa que sus respectivos protocolos nativos dejen de ser necesarios o hayan sido

reemplazados por OPC. Al contrario, estos protocolos y/o interfaces nativos siguen

existiendo, pero sólo comunican con uno de los dos componentes del software OPC. Y son

los componentes OPC los que intercambian información entre sí, cerrando así el círculo. La

información puede viajar de la aplicación al dispositivo sin que éstos tengan que hablar

directamente entre sí.

Page 61: “Sistema de control aplicado - UNP

pág. 61

Los Servidores OPC se muestran como un nivel intermedio entre la fuente de datos y el cliente de datos,

habilitando la intercomunicación sin que ningún lado conozca el protocolo nativo del otro.

El servidor OPC es una aplicación de software; un driver “estandarizado” desarrollado

específicamente para cumplir con una o más especificaciones OPC. La palabra “servidor” en

“Servidor OPC” no hace referencia en absoluto a la computadora donde este software se

estará ejecutando, sino que hace referencia a la relación con el cliente OPC.

Los servidores OPC son conectores que se pueden asimilar a traductores entre el mundo OPC

y los protocolos nativos de una fuente de datos. OPC es bidireccional, esto es, los servidores

OPC pueden leer de y escribir en una fuente de datos. La relación servidor OPC/cliente OPC

es de tipo maestro/esclavo, lo que significa que un Servidor OPC sólo transferirá datos de/a

una fuente de datos si un cliente OPC así se lo pide.

Los servidores OPC pueden comunicar prácticamente con cualquier fuente de datos cuyos

datos puedan ser leídos o escritos por medios electrónicos. Una breve lista de posibles fuentes

de datos incluye: dispositivos, PLCs, DCSs, RTUs, instrumentos de medición, bases de datos,

historiadores, software de cualquier tipo (por ejemplo, Excel), páginas web e incluso archivos

CSV (texto separado por comas) de actualización automática. Para comunicar con cualquiera

de estos dispositivos se requiere únicamente el uso de un servidor OPC que utilice el

protocolo o interfaz nativo apropiado. Una vez que se ha configurado dicho servidor,

cualquier aplicación cliente que utilice OPC (y tenga los permisos adecuados) puede empezar

a comunicar con la fuente de datos sin que importe la forma en que esta comunica de forma

nativa.

Page 62: “Sistema de control aplicado - UNP

pág. 62

Aunque los usuarios no necesitan saber nada acerca de los servidores OPC para poder

utilizarlos, se debe tener en cuenta que la calidad y el rendimiento de los servidores OPC

puede variar enormemente en distintos suministradores.

Conceptualmente un servidor OPC funciona:

● Módulo de comunicaciones OPC. Esta es la parte del servidor OPC responsable de

comunicar adecuadamente con un cliente OPC. Los servidores OPC bien diseñados

deben ser plenamente compatibles con las especificaciones OPC que implementen,

para asegurar que comunican correctamente con cualquier cliente OPC.

● Módulo de comunicaciones nativas. El servidor OPC debe emplear el método de

comunicación más eficiente con la fuente de datos. En algunos casos, esto implica

comunicar con la fuente mediante su protocolo propietario de datos, mientras que en

otros casos, esto significa comunicar a través de una interfaz de programación de la

aplicación (API). Cuanto más experiencia se tenga con el dispositivo, mejor se

utilizará las posibilidades de comunicación que ofrece.

● Módulo de traducción/mapeado. La función de este módulo es interpretar de forma

adecuada las peticiones OPC entrantes de un cliente OPC, convirtiéndolas en

peticiones nativas que se envían a la fuente de datos y viceversa. Si esto se hace

eficientemente, se puede mantener al mínimo la carga sobre la fuente de datos

mientras se maximiza la capacidad de transmisión de datos.

Por otro lado tenemos el cliente OPC, el cual es una pieza de software creada para comunicar

con servidores OPC. Utiliza mensajería definida por una especificación concreta de la OPC

Foundation.

Page 63: “Sistema de control aplicado - UNP

pág. 63

Conceptualmente un cliente OPC representa un destino de datos. Inician y controlan la

comunicación con los servidores OPC basados en las peticiones recibidas desde la aplicación

en la que están embebidos. Los clientes traducen las peticiones de comunicación provenientes

de una aplicación dada en la petición OPC equivalente y la envían al servidor OPC adecuado

para que la procese. A cambio, cuando los datos OPC vuelven del servidor, el cliente los

traduce al formato nativo de la aplicación para que ésta pueda trabajar de forma adecuada con

los datos.

Desde una perspectiva técnica los clientes OPC no son más que módulos de software

utilizados por una aplicación para poder comunicarse con cualquier servidor OPC compatible

visible en la red. Típicamente, los clientes están embebidos en aplicaciones como HMIs,

SCADAs, graficadores, historiadores o generadores de informes, convirtiéndolos en

aplicaciones compatibles OPC. Es muy común referirse a la aplicación que contiene un

cliente OPC embebido como “Cliente OPC”.

Al igual que con los servidores OPC, un cliente OPC se puede dividir conceptualmente en

tres módulos:

● Módulo de comunicaciones OPC. Aunque no tan involucrado como en el servidor

OPC (en los servidores OPC esta parte es más compleja) es crucial para que el cliente

se comporte como debe al conectarse a un servidor, intercambiar datos con él y

desconectarse sin desestabilizarlo.

● Módulo de comunicaciones con la aplicación. El cliente OPC típicamente está

diseñado para trabajar en una aplicación específica, por lo que, para permitir que la

información pase de la aplicación al servidor OPC pasando por el cliente, realiza una

serie de llamadas al interfaz para la programación de la aplicación (API). También es

posible que un cliente genérico comunique con una aplicación mediante un protocolo

en lugar de con llamadas al API siempre que la aplicación soporte este protocolo.

Page 64: “Sistema de control aplicado - UNP

pág. 64

● Módulo de traducción/mapeado. Una de las funciones clave del cliente OPC es la

de traducir de forma bidireccional la información que su aplicación necesita leer de o

escribir al dispositivo o fuente de datos.

Un aspecto que cabe destacar es que en OPC las comunicaciones Cliente-Cliente no están

definidas. Sólo se soporta la arquitectura cliente/servidor. Por ello, si una aplicación debe

proveer datos OPC a otros clientes, necesita tener su propio servidor OPC. Este servidor

permitirá a otros clientes de otras aplicaciones utilizar esta aplicación como fuente de datos.

2.1.1 OPC UA

OPC UA (Unified Architecture, Arquitectura Unificada) es el estándar de nueva generación

que le sigue a OPC Foundation. El estándar OPC clásico es bien conocido en la industria y

provee una interfaz estándar para comunicarse con los PLC (Programmable Logic Controller,

Controlador Lógico Programable). El estándar OPC UA pretende expandir la compatibilidad

de OPC a nivel de los dispositivos y empresas. Este es un protocolo cliente/servidor, en el

que los clientes se conectan, navegan, leen y escriben al equipamiento industrial. UA define

la comunicación desde la aplicación hacia la capa de transporte, lo que lo hace compatible

entre vendedores. También es muy seguro, y usa mensajes bidireccionales firmados y

encriptación de transporte.

OPC UA tiene una amplia base instalada en el mundo industrial. Es una buena solución para

conectar información de sensores y PLC en aplicaciones industriales ya existentes como

sistemas MES (Manufacturing Execution System, Sistema de Ejecución de Manufactura) y

SCADA (Supervisory Control and Data Acquisition, Supervisión, Control y Adquisición de

Datos), en donde la conectividad OPC y OPC UA ya están disponibles.

Sin embargo, OPC UA es nuevo para las tecnologías de información. Algunas personas de

TIC (Tecnologías de la Información y Comunicación) se asustan ante la complejidad de UA

en comparación con otros protocolos TIC. Mucha de esta complejidad reside en el hecho de

que OPC UA sea un protocolo industrial, pero esta percepción ha llevado a ralentizar su

adopción para plataformas IoT y la comunidad de código abierto. Sin embargo, la situación

está cambiando, hace muy poco OPC Foundation abrió el código del estándar OPC UA para

hacerlo más accesible y colaborar a que se incremente su adopción.

Por ahora, el uso de OPC UA es cuando se necesite información del sensor y de PLC dentro

de las soluciones MES y SCADA ya existentes.

2.2 HTTP (REST/JSON)

HTTP (Hypertext Transfer Protocol, Protocolo de Transferencia de Hipertexto) es un

protocolo cliente/servidor sin conexión, ubicuo en TIC y en la web. Dado que existen

incontables herramientas de código abierto que usan HTTP, y que todo lenguaje de

codificación tiene bibliotecas HTTP, es muy accesible. Este es uno de los protocolos basados

en IP, utilizados en IoT.

Page 65: “Sistema de control aplicado - UNP

pág. 65

El foco de HTTP en IoT gira en torno a REST (Representational State Transfer,

Transferencia de Estado Representacional) que es un modelo sin estados previos donde los

clientes pueden acceder a recursos en el servidor a través de pedidos. En la mayoría de los

casos, un recurso es un dispositivo y la información que tal dispositivo contiene.

Este protocolo provee transporte pero no define la presentación de la información. Así, un

requerimiento HTTP puede contener HTML, JavaScript, JSON (JavaScript Object Notation,

Notación de Objeto JavaScript), XML, etc. En la mayoría de los casos, IoT está

estandarizando JSON para HTTP, que es una representación similar a XML pero sin la

sobrecarga ni esquema de validación por lo que es más liviano y flexible. También es

soportado por la mayoría de las herramientas y lenguajes de programación.

La industria cuenta con algo de experiencia usando HTTP para la configuración de productos

y dispositivos, pero no para el acceso a datos. De este modo, muchas plataformas TIC e IoT

aceptan HTTP para proveer y recibir información, pero no así las plataformas industriales.

Esto está cambiando a medida que cada vez más puertos y PLC agregan HTTP nativo.

En las plataformas industriales el método más seguro de implementar HTTP en un

dispositivo de IoT es incluir solo un cliente, no un servidor. En otras palabras, es más seguro

si el dispositivo de IoT puede iniciar conexiones a un servidor Web, pero no de recibir

solicitudes de conexión. Después de todo, lo que se quiere evitar es que máquinas externas

tengan acceso a la red local donde se encuentran instalados los dispositivos de IoT.

El uso de HTTP es útil para enviar grandes cantidades de información, como lecturas de

temperatura minuto a minuto cada hora. Aunque no es recomendable utilizarlo para enviar

información de video de alta velocidad. Este protocolo puede operar en un rango temporal

por debajo del segundo pero actualizaciones de cien milisegundos (100 ms) con HTTP son

difíciles de realizar. Debido a la arquitectura en capas que posee este protocolo, implica

bastante sobrecarga por mensaje, así que enviar mensajes pequeños es ineficiente. Y siempre

es aconsejable asegurarse la comunicación con HTTPS, la sobrecarga de agregar seguridad

al protocolo HTTP básico es mínima.

En cuestiones de interoperabilidad, se debe estar seguro al utilizar productos que se basen en

HTTP. Solo porque dos productos soporten HTTP, REST y JSON no significa que estén

listos para usarlos. Muy a menudo, los formatos JSON son diferentes entre distintos

productos y requieren de una mínima integración para que las cosas funcionen.

Page 66: “Sistema de control aplicado - UNP

pág. 66

2.3 MQTT

MQTT (Message Queuing Telemetry Transport, Transporte de Telemetría de Cola de

Mensajes) es un protocolo publicador/suscriptor de código abierto desarrollado y optimizado

para SCADA, redes remotas, dispositivos restringidos y redes de bajo ancho de banda, alta

latencia o poco confiables. Es extremadamente ligero e ideal para conectar dispositivos

pequeños a redes con ancho de banda mínimo. Es un protocolo simple para la transmisión de

mensajes cortos de telemetría y de control desde/hacía una red de sensores/actuadores que

tenga limitaciones evidentes en cuanto al consumo, velocidad de transmisión y

procesamiento.

El protocolo MQTT se localiza en las capas superiores del modelo OSI, y normalmente se

apoya en TCP/IP. Esto significa que los participantes de una aplicación MQTT deben tener

una pila TCP/IP.

Protocolo MQTT dentro del modelo OSI

Page 67: “Sistema de control aplicado - UNP

pág. 67

El protocolo MQTT es eficiente en términos de ancho de banda, independiente de los datos y

tiene reconocimiento de sesión continua, debido a que hace uso del protocolo TCP/IP. Se

centra en un mínimo encabezado (dos bytes de tamaño) y comunicaciones confiables.

También es muy simple, tal como HTTP, la carga MQTT es específica para la aplicación y la

mayoría de las implementaciones usan un formato JSON personalizado o binario. Tiene la

finalidad de minimizar los requerimientos de recursos del dispositivo y, a la vez, tratar de

asegurar la confiabilidad y cierto grado de seguridad de entrega con calidad del servicio. Es

muy utilizado en la comunicación de sensores, dado sus escasos requerimientos de recursos.

Un ejemplo de uso de este protocolo es la aplicación de Facebook, Messenger, tanto para el

sistema operativo Android como para iOS.

MQTT se orienta a grandes redes de dispositivos pequeños que necesitan la supervisión o el

control de un servidor de back-end en Internet. No está diseñado para la transferencia de

dispositivo a dispositivo. Tampoco está diseñado para realizar "multidifusión" de datos a

muchos receptores. MQTT es simple y ofrece pocas opciones de control. Las aplicaciones

que usan MQTT, por lo general, son lentas en el sentido de que la definición de "tiempo real"

en este caso se mide habitualmente en segundos.

La arquitectura de MQTT sigue una topología de estrella, con un nodo central que hace de

servidor (broker) con una capacidad de hasta 10000 clientes. El broker es el encargado de

gestionar la red y de transmitir los mensajes, para mantener activo el canal, los clientes

mandan periódicamente un paquete (PINGREQ) y esperan la respuesta del broker

(PINGRESP). La comunicación puede ser cifrada entre otras muchas opciones.

La comunicación se basa en unos "topics" o tópicos (temas o canales de información) que el

cliente que publica el mensaje crea y los nodos que deseen recibirlo deben subscribirse a él.

La comunicación puede ser de uno a uno, o de uno a muchos. Un tópico se representa

Page 68: “Sistema de control aplicado - UNP

pág. 68

mediante una cadena y tiene una estructura jerárquica. Cada jerarquía se separa con '/'. Por

ejemplo:

"edificio1/planta5/sala1/raspberry2/temperatura"

"/edificio3/planta0/sala3/arduino4/ruido"

De esta forma se pueden crear jerarquías de clientes que publican y reciben datos, y un

cliente puede subscribirse a un tópico concreto

("edificio1/planta2/sala0/arduino0/temperatura") o a varios ("edificio1/planta2/#"), como

podemos ver en la imagen:

MQTT es un protocolo muy adecuado en los casos en los que la entrega de mensajes debe de

ser confiable, pero no se disponen de conexiones de red fiables. Algunas de sus principales

aplicaciones son:

● Telemetría.

● Domótica.

● Monitorización de energía.

● Aplicaciones de chat.

● Servicios de notificación.

● Comunicación Publicador/Suscriptor.

En esta forma de comunicación se desacoplan los clientes que publican (Publisher) de los que

consumen los datos (Subscribers). Eso significa que los clientes no se conocen entre ellos,

unos publican la información y otros la consumen, el único requisito es que todos tienen que

conocer al message broker. El desacoplamiento se produce en tres dimensiones; en el espacio

donde el publicador y el suscriptor no tienen por qué conocerse; en el tiempo donde el

Page 69: “Sistema de control aplicado - UNP

pág. 69

publicador y el suscriptor no tienen por qué estar conectados en el mismo momento y en la

sincronización ya que las operaciones en cualquiera de los dos componentes no quedan

interrumpidas mientras se publican o se reciben mensajes.

El servidor, llamado broker, recopila los datos que los publishers le transmiten. Determinados

datos recopilados por el broker se enviarán a determinados subscribers/publishers

(publicadores que se suscriben a otros publicadores) que previamente así se lo hayan

solicitado al broker.

El principio de intercambio se parece mucho al de Twitter. Los publishers envían los

mensajes a un canal llamado tópico. Los subscribers (suscriptores) pueden leer esos

mensajes. Los tópicos pueden estar distribuidos jerárquicamente de forma que se puedan

seleccionar exactamente los que se desean. Los mensajes enviados por los objetos

comunicantes pueden ser de todo tipo pero no pueden superar los 256 Mb.

MQTT posee 14 tipos de mensajes aunque normalmente un usuario sólo utiliza los

siguientes:

● Connect

● Publish

● Subscribe

● Unsubscribe

MQTT no es tan ampliamente utilizado como HTTP, pero aún tiene una gran participación en

el mercado de las TIC. Existen muchos ejemplos, proyectos, clientes/productores de código

abierto en cada lenguaje. Muchas plataformas IoT soportan HTTP y MQTT como los

primeros dos protocolos de entrada de información.

En caso que una aplicación no soporte MQTT, existen varias herramientas de código abierto

para incluir información de MQTT en las bases de datos y otros formatos como HTTP. Que

dos aplicaciones soporten MQTT no quiere decir que puedan operar entre sí. El topic y los

formatos JSON quizá necesiten ajustarse para que dos productos puedan operar entre sí.

En cuanto a los aspectos de seguridad los datos de IoT intercambiados pueden resultar muy

críticos, por lo que es posible garantizar la seguridad de los intercambios en varios niveles:

● Capa de Transporte en SSL/TLS.

● Autenticación mediante certificados SSL/TLS.

● Autenticación mediante usuario y contraseña.

2.3.1 QoS para MQTT

Quality of Service, en general, es un método que se utiliza para medir o clasificar la

capacidad que tiene una red para establecer prioridades en la transmisión de sus datos, en

aquellos puntos donde se puedan producir cuellos de botella importantes.

Page 70: “Sistema de control aplicado - UNP

pág. 70

Básicamente se especifican una serie de criterios sobre los cuales se decide qué mensaje es

importante y sobre el cual se deberían proporcionar mecanismos adicionales para garantizar

su entrega. Estos criterios se proporcionan en forma de niveles, de forma que a mayor nivel,

mayor garantía de entrega de los mensajes.

El nivel máximo que es necesario implementar en una red dependerá mucho de las

necesidades de la aplicación en cuestión y de las consecuencias que pueda tener el hecho de

que un mensaje no llegue a su destino.

Existen tres niveles Quality of Service para MQTT (0, 1 y 2) y cada valor determina cómo

será entregado cada mensaje. Es decir, cada mensaje transmitido debe de estar marcado con

un nivel QoS 0, 1 o 2 y este nivel indica si ese mensaje es importante y si se tiene que

garantizar su entrega.

En este caso, el bróker MQTT es el que tiene gran parte de la responsabilidad de entrega

según el nivel QoS indicado en el mensaje. Por eso, es muy importante elegir el valor

adecuado de QoS para cada mensaje, porque este determina cómo el cliente y el bróker van a

actuar para entregar el mensaje.

Se trata de una de las principales ventajas que aporta MQTT a Internet de las Cosas, ya que

permite la retransmisión de mensajes y asegura su entrega en redes poco robustas y propensas

a las pérdidas de datos, como las redes inalámbricas tipo Bluetooth, Wifi o aquellas del

estándar 802.15.4, que se despliegan en el corazón mismo de Internet de las Cosas.

2.3.1.1 Degradación del QoS para MQTT

Desde el punto de vista de QoS para MQTT, el envío de un mensaje consta siempre de dos

fases:

● El cliente envía (publica) el mensaje hacia el bróker.

● El bróker recibe el mensaje y lo reenvía al cliente/s suscrito/s.

Y en cada fase, el nivel QoS del mensaje puede ser diferente. En la primera fase, el nivel de

Quality of Service de un mensaje particular publicado, es configurado por el cliente que

publica dicho mensaje. Sin embargo, cuando el bróker reenvía ese mismo mensaje a un

cliente suscrito, utiliza el QoS que configuró ese cliente cuando se subscribió. (Aprende aquí

cómo suscribir mensajes MQTT).

Es decir, en cada suscripción, el cliente le dice al bróker cual es el QoS máximo con el cual

quiere recibir mensajes. Ahora bien, cualquier mensaje para esa subscripción que venga con

un QoS mayor que ese, será degradado para que ese cliente pueda recibir también el mensaje.

Vale aclarar que la degradación que se lleva a cabo es particular para el cliente en cuestión, es

decir que no afecta al resto de los clientes.

A continuación se muestran todas las combinaciones que se pueden dar:

Page 71: “Sistema de control aplicado - UNP

pág. 71

● El cliente A se ha suscrito a un tópico con un QoS 0.

○ El cliente B publica con un QoS 0, por lo tanto, el mensaje llegará (o no, pues

no hay ninguna garantía) al cliente A como máximo una vez con un QoS 0, sin

tener ninguna garantía de entrega.

○ El cliente B publica con un QoS 1. El bróker degrada el mensaje a QoS 0 y por

lo tanto, el mensaje llegará (o no) al cliente A como máximo una vez con un

QoS 0, sin tener ninguna garantía de entrega.

○ El cliente B publica con un QoS 2. El bróker degrada el mensaje a QoS 0 y por

lo tanto, el mensaje llegará (o no) al cliente A como máximo una vez con un

QoS 0, sin tener ninguna garantía de entrega.

● El cliente A se ha subscrito a un tópico con un QoS 1.

○ El cliente B publica con un QoS 0. No hay degradación y por lo tanto, el

mensaje llegará (o no) al cliente A como máximo una vez con un QoS 0, sin

tener ninguna garantía de entrega.

○ El cliente B publica con un QoS 1. No hay degradación y por lo tanto, el

mensaje llegará al cliente A como mínimo una vez con un QoS 1.

○ El cliente B publica con un QoS 2. El bróker degrada el mensaje a QoS 1 y por

lo tanto, el mensaje llegará al cliente A como mínimo una vez con un QoS 1.

● El cliente A se ha subscrito a un tópico con un QoS 2.

○ El cliente B publica con un QoS 0. No hay degradación y por lo tanto, el

mensaje llegará (o no) al cliente A como máximo una vez con un QoS 0, sin

tener ninguna garantía de entrega.

○ El cliente B publica con un QoS 1. No hay degradación y por lo tanto, el

mensaje llegará al cliente A como mínimo una vez con un QoS 1.

○ El cliente B publica con un QoS 2. No hay degradación y por lo tanto, el

mensaje llegará al cliente A exactamente una vez con un QoS 2.

2.3.1.2 Niveles QoS para MQTT

QoS 0 – At Most Once (Se entrega como máximo una vez)

Quality of Service para MQTT – QoS 0

Es el nivel mínimo y se describe como “at most once message delivery”, es decir, el mensaje

o bien llega al bróker o cliente receptor como máximo una vez o no llega jamás.

Page 72: “Sistema de control aplicado - UNP

pág. 72

En este nivel, básicamente se confía en los mecanismos de la capa TCP/IP de la red para que

el mensaje llegue y llegue en condiciones.

MQTT no implementa ningún mecanismo adicional para asegurarse la entrega. El cliente o el

bróker intentan enviar el mensaje sin esperar ninguna confirmación de recepción del mismo.

No hay retrasmisión por parte del transmisor del mensaje en caso de fallo. Por eso se dice que

el mensaje llega una vez o se pierde en el limbo para siempre.

Si el servidor falla o el cliente se desconecta de la red, cualquier mensaje QoS 0 se perderá.

Por otro lado, este nivel requiere pocos recursos de la red, por lo que es el nivel ideal si se

quiere enviar mensajes rápidamente sin preocuparse de su entrega.

En el nivel QoS 0, la secuencia de acciones es la siguiente:

1. Un cliente envía un mensaje PUBLISH con los campos QoS = 0 y DUP = 0.

2. El bróker recibe el mensaje QoS 0 y lo reenvía a los suscriptores del topic, o bien el

mensaje no llega nunca.

Una vez que termina esta secuencia, finaliza la comunicación, es decir, no hay mensaje de

confirmación de entrega PUBACK ni nada que se le parezca.

QoS 1 – At Least Once (Se entrega como mínimo una vez)

Quality of Service para MQTT – QoS 1

En este nivel, se garantiza que el mensaje será entregado al menos una vez al receptor. Al

menos una vez significa que si el receptor del mensaje no confirma su entrega, el transmisor

podría volver a enviar el mensaje.

Aquí, la recepción del mensaje se confirma enviando un mensaje PUBACK.

En caso de que se detecte algún fallo en la comunicación o el mensaje PUBACK no se reciba

dentro de un periodo de tiempo especificado, se vuelve a enviar el mensaje PUBLISH y el

flag DUP a ‘true’, indicando que es un mensaje duplicado.

El bróker entonces recibe el mensaje duplicado, lo reenvía de nuevo a los subscriptores y

envía al cliente otro mensaje de confirmación PUBACK.

Page 73: “Sistema de control aplicado - UNP

pág. 73

El cliente además almacena todos los mensajes QoS 1, mientras estos no estén confirmados.

Esto es otra característica de MQTT que se denomina persistencia en cliente.

En el nivel QoS 1, la secuencia de acciones es la siguiente:

1. En el lado emisor (puede ser un cliente o el bróker)

1. El emisor envía un mensaje PUBLISH con un nuevo identificador de paquete

(packetId) que no esté en uso, un QoS = 1 y un DUP = 0.

2. El emisor sabe que debe recibir una confirmación mediante un mensaje

PUBACK con el mismo packetId.

3. El emisor podría enviar nuevos mensajes PUBLISH con nuevos packetId

mientras espera por las confirmaciones.

4. Si el emisor no recibe PUBACK en un tiempo preestablecido, volverá a enviar

el mensaje PUBLISH, esta vez con el flag DUP = 1.

Nota: los packetId estarán de nuevo disponibles para su uso cuando se reciben sus

correspondientes mensajes PUBACK.

2. En el lado receptor (puede ser un cliente o el bróker)

1. El receptor recibe el mensaje con un QoS 1 y lo procesa de inmediato. Si el

receptor es el bróker, este enviará el mensaje a todos los clientes suscriptores

del mensaje y lo almacenará en una base de datos, por ejemplo.

2. El receptor responde a un PUBLISH con un mensaje PUBACK que tiene el

mismo identificador de paquete.

3. Después de enviar el mensaje PUBACK, el receptor debe tratar cualquier otro

mensaje PUBLISH que le llegue con el mismo identificador de paquete como

si fuera un nuevo mensaje, independientemente de si el flag DUP está a ‘true’.

Considera que ya ha hecho su trabajo y ya es problema del cliente el recibir el

mensaje PUBACK.

QoS 2 – Exactly Once Delivery (Se entrega exactamente una vez)

Quality of Service para MQTT – QoS 2

Es el nivel QoS más alto implementado para MQTT y garantiza que los mensajes duplicados

no son enviados al receptor. Es decir, el mensaje se entrega solamente una sola vez.

Page 74: “Sistema de control aplicado - UNP

pág. 74

Es el nivel más seguro pero también es el más lento y el que más tráfico genera, debido a que

utiliza un doble flujo de comandos para asegurarse de que el mensaje sólo llega una vez al

receptor.

El flujo de mensajes es el siguiente:

1. El receptor recibe un mensaje mediante un PUBLISH con un QoS 2 y un packetId

para ese mensaje. Procesa el mensaje (acciones internas para extraer el packetId, lo

almacena en la capa de persistencia si procede, etc…) y almacena una referencia del

packetId para evitar volver a procesar el mismo mensaje posteriormente.

2. El receptor envía una confirmación con PUBREC al emisor del mensaje con el mismo

packetId.

3. Cuando el emisor recibe el PUBREC, deshecha ya el mensaje original porque sabe

que el receptor lo ha recibido.

4. El emisor guarda el mensaje PUBREC y envía un mensaje PUBREL, de nuevo con el

mismo packetId utilizado durante todo el intercambio.

5. Cuando el receptor recibe el mensaje PUBREL, ya puede desechar cualquier estado

anterior almacenado sobre el mensaje y transmitir el mensaje a los clientes

suscriptores. Además envía un mensaje PUBCOMP al emisor, en respuesta a

PUBREL.

6. El emisor desecha cualquier estado anterior del mensaje cuando recibe el PUBCOMP.

Cuando se completa la secuencia, ambos participantes saben que el mensaje ha sido

entregado.

Si cualquiera de estos paquetes se pierde, el emisor (que puede ser un cliente o un bróker

MQTT) es responsable de volver a enviar el último comando antes de un periodo de tiempo

preestablecido. Del mismo modo, el receptor es responsable de responder a cada comando.

2.3.2 Conclusión

A pesar de sus características, MQTT puede suponer un problema para algunos dispositivos

muy restrictivos, por el hecho de ir sobre TCP y de manejar nombres de tópicos largos. Esto

se soluciona con la variante MQTT-SN que utiliza UDP y soporta indexación de nombres de

tópicos.

Este protocolo es uno de los que más estrechamente ligado se encuentra a Internet de las

Cosas. MQTT presenta una serie de características que lo hacen especialmente atractivo para

el mundo Internet de las Cosas:

● Es open source, con lo cual es fácilmente integrable al universo de tecnologías,

protocolos y aplicaciones de Internet de las Cosas.

● Puesto que se basa en el modelo publicador/suscriptor de mensajes, no se necesita

saber para quién van los mensajes o de donde vienen, reduciendo mucho la

complejidad de la red.

Page 75: “Sistema de control aplicado - UNP

pág. 75

● Debido al inciso anterior, es un protocolo ligero (cabeceras muy reducidas,

comunicación bajo demanda, etc.) con lo cual se ajusta a redes y dispositivos con

pocos recursos y baja velocidad de transmisión, como una típica red de sensores.

● Se basa en comandos muy sencillos y varios modos de gestión de mensajes, y además,

no necesita que el contenido del mensaje esté en un formato específico.

● Tiene mecanismos para garantizar una comunicación fiable, retransmitiendo o

guardando para más tarde los mensajes cuando se pierda la conexión entre servidor y

cliente. Para esto implementa hasta tres niveles de QoS, lo que permite garantizar la

entrega de los mensajes más importantes.

● Permite unir fácilmente el mundo del Business Intelligence (Inteligencia de Negocios)

y el Big Data (macro datos, datos masivos, inteligencia de datos o datos a gran escala)

con las fuentes de datos, pero también es ideal para la conexión machine-to-machine

(M2M).

2.4 CoAP

CoAP (Constrained Application Protocol, 'Protocolo de Aplicación Restringida') fue creado

por IETF (Internet Engineering Task Force, 'Grupo de Trabajo de Ingeniería de Internet') para

proveer la compatibilidad de HTTP con una mínima carga. CoAP es similar a HTTP, pero

usa UDP/multicast en lugar de TCP. Además, simplifica el encabezado HTTP y reduce el

tamaño de cada requerimiento. Este es un protocolo software a nivel de aplicación pensado

para ser usado en dispositivos electrónicos simples permitiendo que puedan comunicarse

sobre Internet.

Este protocolo es utilizado en dispositivos y redes restrictivas en donde HTTP sería

demandante de recursos, y a menudo, las plataformas de IoT lo utilizan como tercer

protocolo, después de HTTP y MQTT. Similar a HTTPS, CoAP usa DTLS (Datagram

Transport Layer Security) para proteger las comunicaciones. CoAP es utilizado

principalmente para trabajar en entornos restringidos. El uso de este protocolo se hace

necesario para conectar pequeños dispositivos a internet, ya que estos normalmente operan en

redes LowPAN con muchas pérdidas de mensajes y el uso de HTTP sería ineficiente. Su

adopción en el mercado no está tan extendida como HTTP, de modo que se limitan las

opciones de software y hardware. Existen soluciones para convertir mensajes CoAP desde y

hacia HTTP que pueden hacer a las soluciones CoAP más interoperables.

A diferencia de MQTT, CoAP es UDP y los paquetes son mucho más pequeños, pero

mantiene la misma arquitectura cliente/servidor y soporta las operaciones GET, PUT, POST

y DELETE. Además extiende el modelo de request añadiendo la función “observe” que

permite al cliente seguir recibiendo cambios de un recurso solicitado al servidor.

De manera similar a MQTT, en CoAP se puede controlar la QoS marcando los mensajes

como “confirmable” o “nonconfirmable” lo que indica si el receptor debe devolver un “ack”

o no.

Page 76: “Sistema de control aplicado - UNP

pág. 76

Otras características de CoAP son que soporta negociación de contenido (Content-Type) y

que proporciona un mecanismo de descubrimiento de recursos.

CoAP mantiene el modelo REST y las operaciones básicas de HTTP, para facilitar una

conexión entre los dos protocolos.

En la siguiente ilustración puede verse una comparativa entre los modelos HTTP-REST sobre

TCP/IP y CoAP sobre UDP.

Con el protocolo CoAP se retransmiten un número mucho menor de bytes y en mucho menos

tiempo, lo que supone una ventaja para su uso en pequeños dispositivos con poca memoria de

almacenamiento.

En una red restringida, los sensores actúan como servidores CoAP que ofrecen servicios. A la

información de estos servidores se podrá acceder mediante el protocolo CoAP o a través de

un proxy HTTP-CoAP, a su vez, de esta forma cualquier aplicación podrá acceder a la

información del dispositivo.

Page 77: “Sistema de control aplicado - UNP

pág. 77

También es posible que estos sensores se conecten a recursos HTTP mediante un proxy

CoAP-HTTP.

2.4.1 Funcionalidades del Protocolo CoAP

Las funcionalidades más importantes del protocolo CoAP son las siguientes:

● Diseño REST que facilita el mapeo con el protocolo HTTP.

● Soporta el uso de las opciones URI y Content-type.

● Soporte para el descubrimiento de los recursos proporcionados por los servicios de

CoAP conocidos. Uso del método DISCOVER.

● Suscripción simple para un recurso con recepción de mensajes cuando éste cambia.

Uso del método OBSERVE.

2.4.2 Tipos de Mensajes

CoAP hace uso de dos tipos de mensajes, peticiones y respuestas. Las cabeceras de los

mensajes se codifican en binario, comenzando por un encabezado base y seguido de una serie

de opciones. El resto del mensaje tras la cabecera, se considera el cuerpo del mensaje.

Page 78: “Sistema de control aplicado - UNP

pág. 78

En la ilustración se observa el modelo del mensaje CoAP. Se puede ver la cabecera con los

valores versión, tipo, longitud del token, código, id del mensaje y Token. Tras esto aparecen

las opciones y finalmente el cuerpo del mensaje.

Para mapear las peticiones con las respuestas se utilizan el Token y el identificador del

mensaje. El Token es una cadena de bytes generada en la petición. Si la respuesta se envía

contestando al mensaje de la petición, el Token debe ser el mismo. En caso de que la

respuesta sea independiente de la petición, el Token será diferente.

No ocurre lo mismo con el identificador del mensaje, ya que una petición y su respuesta

tendrán siempre el mismo identificador.

2.4.3 Soluciones Existentes

En la actualidad existen diversas implementaciones del protocolo CoAP que pueden

clasificarse en función de las funcionalidades ofrecidas o del lenguaje de programación

utilizado para su implementación. A continuación se mostrarán las características de algunas

de las más utilizadas:

● Libcoap:

○ Desarrollada en C, lo que supone posibilidades de uso en infinidad de

dispositivos.

○ Permite el uso de cliente y servidor.

○ Licencia libre.

○ Implementa la opción OBSERVE.

● Californum:

○ Desarrollado en JAVA y ampliamente extendido.

○ Permite el uso de cliente y servidor.

○ Licencia libre.

○ Implementa la opción OBSERVE.

○ Incluye una capa DTLS (Datagram Transport Layer Security) de seguridad.

○ En su última versión permite el uso de proxy.

● txThings:

○ Desarrollado en Python

○ Permite el uso de cliente y servidor.

○ Licencia libre.

○ Implementa la opción OBSERVE de forma parcial.

● ETRI CoAP:

○ Desarrollado en C.

○ Permite el uso de cliente y servidor.

○ Licencia comercial.

○ Implementa la opción OBSERVE.

Page 79: “Sistema de control aplicado - UNP

pág. 79

2.5 DDS

DDS (Data Distribution Service, ‘servicio de distribución de datos’) es un protocolo

publicador/suscriptor que se focaliza en el borde de la comunicación en la red. DDS es un

estándar abierto operado por OMG (Object Management Group, ‘Grupo de Gestión de

Objetos’). A diferencia de MQTT, que requiere de un agente centralizado, DDS está

descentralizado. Los nodos de DDS se comunican directamente punto a punto a través de

UDP/multidifusión (multicast). Esto hace que no sea necesaria una gestión centralizada de la

red y que DDS sea un protocolo más veloz, con una resolución por debajo del milisegundo.

DDS es una buena solución para la entrega de información de forma confiable y en tiempo

real. Se utiliza para comunicaciones rápidas M2M (machine to machine, ‘máquina a

máquina’).

Se trata de un protocolo que se utiliza principalmente para comunicaciones dispositivo-a-

dispositivo en tiempo real. DDS cuenta con una arquitectura centralizada y se lo ha

optimizado para procesamiento distribuido. Si bien es muy útil, tiene algunas limitaciones en

términos de flexibilidad cuando hay que seleccionar la funcionalidad que exponen los

dispositivos. También su escalabilidad es limitada y no cuenta con soporte para compresión

de datos. Otra limitación es la de no poder utilizar multicasting en forma libre.

2.5.1 Arquitectura

La especificación DDS describe dos niveles de interfaces:

● Una DCPS (Data-Centric Publish-Subscribe) a nivel inferior que tiene por objeto

hacer un reparto de la información de forma eficiente a los receptores apropiados.

● Una capa superior opcional DLRL (Data Local Reconstruction Layer) que permite

una integración simple de DDS en la capa de aplicaciones.

Page 80: “Sistema de control aplicado - UNP

pág. 80

Ventajas de su empleo:

● Disminución del acoplamiento entre entidades - debido en parte al empleo de la

filosofía publicador/suscriptor.

● Arquitectura flexible y adaptable - gracias al empleo del 'discovery' automático

(RPTS).

● Eficiencia - debido a la comunicación directa entre el publicador y el suscriptor.

● Determinismo - en la consigna de los datos.

● Escalabilidad - debido en parte a la disminución del acoplamiento entre entidades.

● Calidad de servicio - altamente parametrizable

● Independencia de la plataforma - debido al empleo de estándares como IDL, lenguaje

de descripción de interfaz.

2.6 AMQP

AMQP (Advanced Message Queuing Protocol) es otro protocolo tipo publicador/suscriptor

que proviene del sector de servicios financieros. Tiene su presencia en TIC pero bastante

limitada en la industria.

El mayor beneficio de AMQP es su modelo robusto de comunicaciones que soporta

transacciones. A diferencia de MQTT, AMQP puede garantizar transacciones completas (lo

cual, aunque útil, no siempre es algo que requieran la aplicaciones IoT).

AMQP se agrupa a menudo con protocolos IoT pero su mayor contra es que se trata de un

protocolo pesado. Fue destinado para sistemas TIC, y no para redes limitadas.

Las características que definen al protocolo AMQP son la orientación a mensajes,

encolamiento (queuing), enrutamiento (tanto punto-a-punto como publicación-subscripción),

exactitud y seguridad.

AMQP estipula el comportamiento tanto del servidor que provee los mensajes como del

cliente hasta el punto de que las implementaciones de diferentes proveedores son

verdaderamente interoperables, de la misma manera que los protocolos SMTP, HTTP, FTP y

análogos han creado sistemas interoperables.

En síntesis, el protocolo AMQP está enfocado en no perder mensajes, trabaja sobre TCP y

proporciona una conexión punto a punto fiable. Se utiliza sobre todo en funciones de análisis

basados en servidores. Dos de las razones para utilizar este protocolo es la confiabilidad y la

interoperabilidad.

2.6.1 Modelo AMQP

AMQP define un conjunto de entidades. Desde la perspectiva de la interconexión las más

relevantes son:

Page 81: “Sistema de control aplicado - UNP

pág. 81

● El corredor de mensajes: un servidor al que los clientes AMQP se conectan usando el

protocolo AMQP. Los corredores de mensajes pueden ejecutarse en un entorno

distribuido, pero esta capacidad es específica de la implementación y no está cubierta

por la especificación.

● Usuario: un usuario es una entidad que, mediante la presentación de credenciales tales

como una contraseña, puede ser autorizado o no a conectarse a un corredor.

● Conexión: conexión física usando, por ejemplo, TCP/IP o SCTP. Una conexión está

ligada a un usuario.

● Canal: una conexión lógica que está unida a una conexión. Así, la comunicación a

través de un canal posee un estado. Aquellos clientes que realicen operaciones

concurrentes mediante una misma conexión deben mantener un canal distinto para

cada una de ellas. Aquellos clientes que usen un modelo basado en hilos para la

concurrencia pueden, por ejemplo, encapsular la declaración del canal en una variable

local de cada hilo.

Las entidades utilizadas para el envío y recepción de mensajes en concreto son todas

declaradas dentro de un canal. Una declaración garantiza, al cliente que la realiza, que la

entidad existe (o fue previamente declarada por otro cliente). Cualquier intento de declarar

una entidad nombrada con propiedades diferentes de las que poseía cuando fue declarada

resulta en un error. Para poder cambiar las propiedades de una entidad nombrada, debe ser

primero borrada con anterioridad a su nueva creación.

Algunas de estas entidades están nombradas. Su denominación debe ser única dentro del

alcance de la entidad y de su corredor. Dado que los clientes habitualmente no tienen los

Page 82: “Sistema de control aplicado - UNP

pág. 82

medios para obtener una lista de todas las entidades nombradas disponibles (al menos no hay

una operación tal definida dentro de la especificación AMQP), es el conocimiento del nombre

de una entidad lo que permite al cliente realizar operaciones sobre ésta.

Los nombres que usan la codificación UTF-8, deben tener una longitud de entre 1 y 255

caracteres y deben empezar por un dígito, una letra o un guion bajo.

2.6.1.1 Intercambiadores

Los intercambiadores son las entidades a las que se envía los mensajes. Tienen un nombre, un

tipo y ciertas propiedades tales como:

● Pasivo: el intercambiador no será declarado pero ocurrirá un error si no existe.

● Perdurable: el intercambiador sobrevivirá a un reinicio del intercambiador.

● Auto borrado: el intercambiador será borrado tan pronto como ya no queden colas

vinculadas a él. Aquellos intercambiadores que nunca hayan tenido colas vinculadas

nunca serán auto borrados.

2.6.1.2 Colas

Las colas son las entidades que reciben mensajes. Tienen un nombre y propiedades pero no

tienen tipo. Los clientes pueden suscribirse a las colas, con el efecto de que el corredor de

mensajes les entregará (mediante un mecanismo de push, es decir, de forma activa por parte

del corredor) a los clientes, los contenidos de la cola. Alternativamente los clientes pueden

hacer saltar activamente mensajes de la cola como crean conveniente (mecanismo de pull).

La cola garantiza que los mensajes son entregados en el mismo orden en que llegaron a la

cola; esta ordenación se conoce habitualmente como FIFO. En algunos casos de re

enrutamiento (por ejemplo debido a un fallo que implique un reinicio del corredor) este orden

no se garantiza.

Las propiedades de las colas incluyen:

● Intercambiador alternativo: cuando un mensaje es rechazado por un suscriptor o

queda huérfano debido a la destrucción de una cola, estos son re enrutados a un

intercambiador alternativo y borrados de esta cola.

● Pasiva: la cola no será declarada pero ocurrirá un error si no existe.

● Perdurable: la cola sobrevivirá a un reinicio del corredor.

● Exclusiva: sólo puede haber un cliente para esta cola específica.

● Auto borrado: la cola será borrada tan pronto como no queden suscripciones activas

para ella. Esta propiedad comparte la misma limitación que la propiedad de auto

borrado para los intercambiadores: si ninguna subscripción ha estado jamás activa

para esta cola, no será auto borrada. Una cola exclusiva, sin embargo, siempre será

auto borrada cuando el cliente cierre la sesión.

Page 83: “Sistema de control aplicado - UNP

pág. 83

2.6.1.3 Mensajes

Los mensajes no tienen nombre y son publicados en un intercambiador. Consisten en un

encabezamiento y un cuerpo de contenido. Mientras que el cuerpo contiene datos opacos, el

encabezamiento contiene una serie de propiedades opcionales:

● Clave de enrutamiento (routing-key): este campo se usa de diferentes formas

dependiendo del tipo de intercambiador.

● Inmediato: el mensaje será tratado como imposible de enrutar si al menos una de las

colas que deberían recibir el mensaje no tiene ninguna suscripción.

● Modo de entrega: indica que un mensaje puede necesitar perdurabilidad. Sólo para

este tipo de mensajes puede el corredor hacer un intento (best-effort) para impedir la

pérdida del mensaje antes de que sea consumido. Si hay alguna incertidumbre del lado

del corredor sobre la recepción correcta del mensaje (por ejemplo en caso de errores),

puede opcionalmente entregar un mismo mensaje más de una vez. Los modos de

entrega no persistentes no muestran este tipo de comportamiento.

● Prioridad: un indicador (en el rango entre 0 y 9) de que un mensaje tiene precedencia

sobre otros.

● Vencimiento (expiration): la duración en milisegundos antes de que el corredor pueda

tratar el mensaje como imposible de enrutar.

2.6.1.4 Vinculaciones

Una vinculación (binding) es una relación entre una cola y un intercambiador que especifica

cómo fluyen los mensajes desde el intercambiador a la cola. Las propiedades de la

vinculación concuerdan con el algoritmo de enrutamiento que se usa en los intercambiadores.

Las vinculaciones (y los algoritmos de los intercambiadores) pueden ser ordenados en una

escala de menor a mayor complejidad:

● Incondicional: la vinculación no tiene propiedades y reclama todos los mensajes del

intercambiador.

● Condicional con una cadena fija: la vinculación tiene una propiedad, la clave de

enrutamiento y reclama todos los mensajes que tengan una clave de enrutamiento

idéntica.

● Condicional con un patrón de reconocimiento: la vinculación tiene una propiedad, la

clave de enrutamiento y reclama todos los mensajes que sean detectados por un

algoritmo de reconocimiento de patrones. Se puede usar cualquier sintaxis arbitraria

de patrones. AMQP implementa el reconocimiento de temas.

● Condicional con múltiples cadenas fijas: la vinculación tiene una tabla de

propiedades, los argumentos, y reclama todos los mensajes cuyos encabezamientos se

correspondan con estos argumentos, usando operaciones lógicas AND o OR para

combinar las diferentes correspondencias.

● Condicional con una comparación algorítmica: la vinculación tiene una expresión

algorítmica (como una cláusula WHERE en una sentencia SELECT en SQL) y

Page 84: “Sistema de control aplicado - UNP

pág. 84

reclama todos los mensajes cuyos encabezamientos se correspondan con esta

expresión.

● Condicional con inspección del contenido: la vinculación específica criterios

arbitrarios que sólo pueden ser resueltos mediante la inspección del contenido

concreto del mensaje.

No todas estas vinculaciones son implementadas de manera estándar, o por todas las

implementaciones.

2.6.1.5 Tipos de intercambiadores y el efecto de las vinculaciones

Estas cuatro entidades forman el modelo básico de AMQP. La clave para entender cómo un

mensaje es pasado a una cola reside en la relación entre el tipo de intercambiador y la

interpretación resultante de la clave de enrutamiento.

Un intercambiador entregará como máximo una copia de un mensaje dado a una cola si la

clave de enrutamiento en el mensaje se corresponde a una vinculación (otras vinculaciones

posteriores semánticamente idénticas no pueden resultar en copias duplicadas del mismo

mensaje). Lo que constituye una correspondencia, por contra, es exclusivamente dependiente

del tipo de intercambiador:

● Un intercambiador directo considera que hay correspondencia cuando la clave de

enrutamiento y la clave de la vinculación son idénticas.

● Un intercambiador de abanico (fanout) siempre considera que hay correspondencia,

incluso con vinculaciones sin clave.

● Un intercambiador con un tema definido (topic exchange) considera que hay

correspondencia si la propiedad de clave de enrutamiento de un mensaje coincide con

las palabras claves de una vinculación. Estas palabras son cadenas de caracteres

separadas por puntos. Dos caracteres adicionales son también válidos: el asterisco "*",

que crea una correspondencia con 1 palabra, y la almohadilla "#", que crea una

correspondencia con 0 a N palabras. Por ejemplo, *.stock.# tendrá una

correspondencia con las claves usd.stock y eur.stock.db, pero no con stock.nasdaq.

● Un intercambiador de encabezamientos considera que hay correspondencia en

presencia tanto de claves como de pares clave-valor que pueden ser concatenadas con

conexiones lógicas AND y OR en el encabezamiento de un mensaje. En este caso, la

clave enrutamiento no es un criterio de correspondencia que sea considerado por el

intercambiador. Ni tampoco contiene la vinculación una única clave de enrutamiento,

sino un formato especial que contiene claves de encabezamiento y/o pares clave-valor

que crean una correspondencia al estar presente la clave del encabezamiento o al estar

presente la clave del encabezamiento y el valor ser el mismo, respectivamente.

Otros tipos de intercambiadores, por ejemplo específicos del suministrador, son permitidos

explícitamente por la especificación.

Page 85: “Sistema de control aplicado - UNP

pág. 85

El concepto de vincular colas denominadas con intercambiadores denominados tiene

propiedades poderosas (mientras que la vinculación mantiene ambas entidades

independientes entre sí). Es posible, por ejemplo, vincular una única cola mediante

vinculaciones múltiples a un único intercambiador, o a varios. O múltiples consumidores

pueden compartir el nombre de una cola y vincularse a ella con los mismos parámetros,

obteniendo por tanto sólo los mensajes que los otros consumidores no hayan consumido. O

múltiples consumidores pueden declarar colas independientes pero compartir las mismas

vinculaciones y obtener por tanto todos ellos el mensaje que otro consumidor hubiera

obtenido en el intercambiador vinculado con estas vinculaciones.

Page 86: “Sistema de control aplicado - UNP

pág. 86

CAPÍTULO 6:

REDES DE COMUNICACIÓN

INALÁMBRICAS Y SENSORES

1 Introducción

Entre los componentes más importantes que componen la arquitectura de IoT se encuentran

los dispositivos (objetos que se conectan a una red), la infraestructura de comunicación

(tecnologías de red que posibilitan la conexión de los dispositivos) y la infraestructura de

computación (herramientas que consumen los datos enviados desde los dispositivos).

En los últimos años el concepto de IoT ha ganado interés por parte de las empresas más

reconocidas mundialmente, universidades y la comunidad de desarrolladores alrededor del

mundo. Esta popularidad se debe a diversos actores que han influido en ella:

Nuevos sensores y dispositivos. Se han creado nuevos sensores con menor consumo

de energía y coste, lo que ha supuesto su uso masivo en todo el mundo; además han

aparecido nuevas plataformas hardware que se pueden combinar con estos sensores,

como el caso de Raspberry Pi o Arduino.

La aparición del cloud computing. La creación del concepto de computación en la

nube ha supuesto la puesta en marcha de nuevos servicios basados en la red.

La popularidad de los teléfonos inteligentes. Estos productos aprovechan los avances

en las comunicaciones (Internet + Wi-Fi) para ofrecer la posibilidad de llevar una

dirección IP en el bolsillo.

Y por último el crecimiento de las redes inalámbricas.

IoT se apoya en un montón de “cosas” que recopilan datos mediante sensores y se conectan

para enviar esa información a algún repositorio desde el que serán utilizados para diversas

aplicaciones.

Cuando hablamos de las “cosas”, estamos hablando de dispositivos y objetos del día a día,

desde los más pequeños (relojes, teléfonos) hasta los más grandes (televisores, coches,

edificios, etc.). Estos dispositivos tienen la capacidad de interactuar con los usuarios

obteniendo información mediante sensores, y actuando mediante relés y puertos digitales,

sobre su entorno.

Los dispositivos de IoT deben tener ciertas características especiales que permitan su

utilización para este propósito:

Recoger y transmitir información: el dispositivo puede percibir el entorno (por

ejemplo una casa o el mismo cuerpo humano), recoger la información relacionada con

Page 87: “Sistema de control aplicado - UNP

pág. 87

él (ejemplo, la temperatura o humedad) y transmitirla a diferentes dispositivos (puede

ser un dispositivo móvil) o a Internet (a un servidor web, por ejemplo).

Dispositivos actuadores: pueden ser programados para actuar sobre otros dispositivos

basándose en las condiciones establecidas. Por ejemplo, se puede programar un

dispositivo que encienda las luces cuando se oscurece una habitación.

Recibir información: una característica única de los dispositivos de IoT es que solo

pueden recibir información de la red a la que pertenecen (por ejemplo, de otros

dispositivos) o a través de Internet (por ejemplo, información de nuevos eventos,

nuevo estado de operación y, en algunos casos, nuevas funcionalidades). Queda

excluida la manipulación manual.

Estos dispositivos captan o recopilan datos mediante sensores. Un sensor es cualquier

dispositivo que detecta o mide una magnitud física y entrega una valoración de la misma,

normalmente en forma de un valor digital, es decir un valor utilizable en el “cibermundo”. Un

termostato inteligente en una casa incluye un sensor que mide la temperatura de la habitación

y entrega un valor en grados centígrados que podrá ser mostrado en una pantalla, enviado a la

nube, o recibido en el Smartphone del dueño.

Nuestros celulares, con sus receptores GPS, acelerómetros y giróscopos rastrean nuestros

movimientos a lo largo y ancho del globo terráqueo. Ese mismo tipo de sensores incluidos en

autobuses urbanos o interurbanos, camiones de transporte o flotas de vehículos de alquiler,

permiten una gestión eficiente de los recursos, a la vez que se da un servicio de calidad a los

usuarios.

Otra serie de sensores detectan la presencia o proximidad de objetos o personas en un lugar

determinado. Sensores inductivos u ópticos recogen información sobre los lugares ocupados

en un estacionamiento o en las calles de la ciudad para poder dirigir a los conductores a los

espacios disponibles. Detectores de movimiento permiten encender las luces, la calefacción o

las alarmas cuando una persona aparece en una zona determinada de un edificio.

Hay sensores para recoger información ambiental, como temperatura o humedad, que

permiten controlar el clima en un invernadero o en nuestra casa, como hace el célebre

termostato inteligente NEST de Google; o información visual, como los sensores de

luminosidad repartidos por la ciudad para decidir cuándo activar las luminarias, lo mismo que

en un edificio inteligente para encender luces y bajar persianas. También se pueden utilizar

las cámaras en aplicaciones de seguridad en aeropuertos y centros comerciales, o para que

podamos ver desde el supermercado si en nuestro nuevo frigorífico inteligente falta fruta.

Más complejos son los que incorporan visión artificial: cámaras en vehículos que son capaces

de identificar señales de tráfico, vigilar las líneas de la calzada para ver si nos salimos del

carril y los ojos del conductor para saber si se está durmiendo; cámaras en la entrada y salida

del estacionamiento que leen la matrícula de los vehículos; o cámaras fotográficas capaces de

detectar caras en la escena e, incluso, de ver si esa cara está sonriendo para capturar justo el

momento.

Page 88: “Sistema de control aplicado - UNP

pág. 88

Los datos recopilados hay que enviarlos. Casi no quedan lugares en entornos urbanos, y

pocos en entornos rurales de países industrializados, donde no exista o esté accesible algún

tipo de red de comunicaciones inalámbrica. Sea Wi-Fi en interiores, 3G, 4G, o WiMax en

exteriores.

Gracias a esta ubicuidad de las redes de comunicaciones y al cada vez más bajo costo de uso,

hoy se pueden conectar sensores de forma accesible en lugares hasta hace poco impensables.

En IoT, por lo general, se necesita enviar pocos datos con el menor esfuerzo energético

posible, ya que a menudo funcionan con baterías. Estándares como 4G, de gran ancho de

banda e importante consumo, no son los más adecuados.

Con la aparición de los nuevos estándares de bajo consumo y poco alcance como Bluetooth

Low Energy, además de las nuevas tecnologías LPWA (Low Power Wide Area) se están

acaparando la atención de los grandes operadores de comunicaciones.

Esta interconexión e independencia de los sensores (o dispositivos en general) hace que sea

necesario el empleo de diferentes tecnologías. Un caso particular, y se destaca particular

porque aún a día de hoy no es una tecnología aplicada en todo el mundo o está aplicada

parcialmente, es el empleo del protocolo IPv6. Hace algunos años se estableció que las

direcciones IPv4 se habían acabado por la cantidad de dispositivos conectados alrededor del

planeta. Para solventar dicha problemática se han usado algunos “trucos” técnicos como la

utilización de IP privadas bajo el protocolo NAT (traducción de direcciones de red del inglés

Network Address Translation), que funciona, pero no es lo ideal y que, entre otros, reduce la

velocidad de las conexiones (usualmente imperceptible, pero siempre habrá una degradación

de la conexión con el mecanismo NAT). Por ello es que se ha implementado el estándar IPv6,

el cual es una versión actual del protocolo IP del modelo TCP/IP, diseñado para reemplazar a

la versión 4 que tiene problemas con la cantidad de direcciones que posee (232 direcciones),

lo que limita el crecimiento y uso de internet. Por otro lado la versión 6 del protocolo IP

posee una cantidad de direcciones inmensa (2128 direcciones), esto implica que tendremos

alrededor de 6.7x1017 (670 mil billones) de direcciones por milímetro cuadrado de la

superficie del planeta. Aunque se estima que demorará casi 100 años, según los cálculos, en

acabarse. Las características principales que presenta IPv6 son la capacidad de

direccionamiento extendido, simplificación del formato de cabecera y soporte mejorado para

las extensiones y opciones.

Dado que IoT se trata de poder sumar o incorporar todos los dispositivos posibles a Internet,

implica una relación directa con una gran cantidad de direcciones IP, es decir con IPv6. Es

por ello que IPv6 es la única (en la actualidad) tecnología posible para conectar los “miles de

millones de dispositivos a Internet” y construir IoT. Si establecemos que miles de millones de

dispositivos se conectarán a internet en el futuro y además reconocemos que las direcciones

de IPv4 se están agotando, es lógico que IoT deba implementarse sobre IPv6. De hecho el

Page 89: “Sistema de control aplicado - UNP

pág. 89

Internet Engineering Task Force (IETF) ha estandarizado el stack de IoT por medio de un

protocolo denominado 6lowPAN (RFC 494427

).

Para el caso de las redes de sensores (Wireless Sensor Networks, abreviadamente WSN) su

integración con Internet y los protocolos TCP/IP, amplían su ámbito de aplicación, pero aún

se requiere de un trabajo de integración significativo.

El uso del protocolo IP en WSN, permite la interoperabilidad con otras redes existentes, de

esta forma un nodo, podrá ser alcanzado desde cualquier lugar, dejando de ser un dispositivo

aislado, y también podrá realizar algunas tareas que serían imposibles para otros dispositivos.

Además, los mecanismos de autenticidad, integridad y confidencialidad de los datos

transmitidos por las WSN pueden ser desarrollados más fácilmente cuando están dotadas del

protocolo IPv6. Cabe destacar que IPv6 permite que las redes de sensores sean escalables,

permitiendo incorporar nuevos nodos (en caso de necesidad), donde tanto el hardware como

el software son escalables y capaces de soportar un mayor número de nodos y sensores. De

allí la importancia de su aplicación para entornos IoT y, en general, a futuro en cualquier

entorno.

2 Redes Inalámbricas

La conexión inalámbrica es una de las responsables del impulso que ha tenido IoT en los

últimos años. Gracias a los progresos de la conectividad inalámbrica, IoT ha evolucionado:

de estar al principio enfocada a la tecnología RFID a poder adoptar varias tecnologías para

poder conectar diferentes dispositivos. Para poder entrar más en detalle en los tipos de redes

inalámbricos se deben separar las redes según su rango de comunicación:

WAN (Wide Area Network): las redes que están dentro de esta categoría son aquellas

que recorren grandes distancias, entre diferentes ciudades o países, esto es, se tratan

de redes que se extienden sobre un área geográfica extensa. Por ello muchas veces

suelen ser redes que utilizan porciones de redes de varias compañías diferentes.

MAN (Metropolitan Area Network): se trata de redes que trabajan con mayor alcance

que las redes locales dentro de una misma ciudad o entre varias ciudades cercanas.

LAN (Local Area Network): estas redes de área local son redes de propiedad privada

con pocos kilómetros de extensión. Suelen utilizarse en redes dentro de una empresa o

en el hogar.

PAN (Personal Area Network): son redes de corto alcance, de una extensión máxima

de unos pocos metros.

Los siguientes tipos de redes inalámbricas son con los que la mayoría de aplicaciones de IoT

están relacionadas:

27

http://www.rfc-base.org/rfc-4944.html

Page 90: “Sistema de control aplicado - UNP

pág. 90

Wi-Fi: se trata de una red de datos inalámbrica que utiliza los estándares IEEE

802.11. Se enfoca dentro del tipo LAN y opera sobre las frecuencias de 2,4 GHZ y 5

GHz. Se diferencia de las demás redes por su compatibilidad nativa para redes IP, lo

cual es muy importante dentro del ámbito del IoT, pero es una red que consume una

cantidad de energía relativamente alta y la distancia de recepción de la señal es

limitada, sobre unos 100 metros en espacio abierto y 20 en espacios cerrados.

Bluetooth: esta red se enfoca dentro del tipo PAN y se creó para la transmisión de

servicios multimedia. A partir de esta tecnología se han creado otras y entre éstas se

encuentra el Bluetooth Low Energy (BLE). Esta nueva tecnología se enfoca en la

reducción del consumo y en minimizar la potencia de transmisión. Los dispositivos

wearables se basan sobre todo en este estándar.

Z-Wave: es un protocolo de comunicación dentro del tipo de red LAN que se enfoca

en la domótica. Trabaja en la banda de 908.42MHz evitando las emisoras de la banda

2,4GHz. Su principal característica es la poca necesidad de energía y ancho de banda

para transmitir.

Zigbee: es una tecnología que se enfoca dentro del estándar IEE 802.15.4 y está

orientado a redes PAN para comunicar dispositivos de bajo coste y velocidad. Se

utiliza en el control remoto y su uso se ha generalizado en la domótica, ya que se

transmiten cantidades de información pequeñas y proporciona una larga duración de

batería.

6LoWPAN: es un estándar que permite a las redes basadas en el estándar IEEE

802.15.4 el uso de IPv6, logrando que dispositivos que están conectadas a una red

inalámbrica puedan comunicarse con dispositivos IP.

RFID: se trata de un estándar de identificación por frecuencia radial y se utiliza

principalmente para identificar objetos a una distancia muy corta, de unos pocos

metros, y la detección se hace mediante un lector estacionario que se comunica de

manera inalámbrica con pequeñas etiquetas que están pegadas a los objetos. Estas

etiquetas serán unas pequeñas baterías transpondedoras.

Entre todas estas redes, las consideradas más importantes en el ámbito del IoT se encuentran

las redes Wi-Fi, BLE y los 802.15.4 (Zigbee y 6LoPAN). En la siguiente tabla se observa una

comparativa entre estas tres redes.

Wi-Fi BLE Zigbee

Estándar 802.11 802.15.1 802.15.4

Alcance máximo 100 metros. 10 metros. 75 metros.

Principal

característica Alta velocidad. Bajo coste y potencia.

Alta escalabilidad

y el bajo coste.

Uso

En aplicaciones que

requieran la transmisión de

datos.

Transmisión de contenido

multimedia.

Domótica y el

control remoto.

Page 91: “Sistema de control aplicado - UNP

pág. 91

3 Sensores

Un sensor es un objeto capaz de detectar magnitudes físicas o químicas, llamadas variables

de instrumentación, y transformarlas en variables eléctricas. Las variables de instrumentación

pueden ser por ejemplo: intensidad lumínica, temperatura, distancia, aceleración, inclinación,

presión, desplazamiento, fuerza, torsión, humedad, movimiento, tensión, corriente, potencia,

pH, etc. Una variable eléctrica puede ser una resistencia eléctrica, una capacidad eléctrica

(como en un sensor de humedad), una tensión eléctrica, una corriente eléctrica, etc.

Un sensor es diferente a un transductor, donde el transductor transforma o convierte una

determinada manifestación de energía de entrada en otra diferente manifestación de salida,

como por ejemplo un micrófono el cual es un transductor electroacústico que convierte la

energía acústica (vibraciones sonoras: oscilaciones en la presión del aire) en energía eléctrica

(variaciones de voltaje). El sensor sin embargo, está siempre en contacto con la variable de

instrumentación con lo que puede decirse también que es un dispositivo que aprovecha una

de sus propiedades con el fin de adaptar la señal que mide para que la pueda interpretar otro

dispositivo. Por ejemplo el termómetro de mercurio que aprovecha la propiedad que posee el

mercurio de dilatarse o contraerse por la acción de la temperatura. Un sensor también puede

decirse que es un dispositivo que convierte una forma de energía en otra.

Las áreas de aplicación de los sensores son diversas, algunas de ellas son: la Industria

automotriz, robótica, industria aeroespacial, medicina, industria de manufactura, etc.

Los sensores pueden estar conectados a un computador para obtener ventajas como son el

acceso a la toma de valores desde el sensor, una base de datos, etc.

Este proceso que realiza el sensor, de convertir magnitudes en valores medibles de dicha

magnitud, se realiza en tres fases:

Un fenómeno físico/químico al ser medido es captado por un sensor y muestra en su

salida una señal eléctrica dependiente del valor de la variable física/química.

La señal eléctrica es modificada por un sistema de acondicionamiento de señal, cuya

salida es un voltaje.

El sensor dispone de un mecanismo (por ejemplo, un circuito) que transforma y/o

amplifica la tensión de salida, la cual pasa a un conversor A/D, conectado a un PC. El

convertidor A/D transforma la señal de tensión continua en una señal discreta.

3.1 Características

Las características más relevantes de los sensores son:

Rango de medida: dominio en la magnitud medida en el que puede aplicarse el sensor.

Precisión: es el error de medida máximo esperado.

Page 92: “Sistema de control aplicado - UNP

pág. 92

Offset o desviación de cero: valor de la variable de salida cuando la variable de

entrada es nula. Si el rango de medida no llega a valores nulos de la variable de

entrada, habitualmente se establece otro punto de referencia para definir el offset.

Linealidad o correlación lineal.

Sensibilidad de un sensor: suponiendo que es de entrada a salida y la variación de la

magnitud de entrada.

Resolución: mínima variación de la magnitud de entrada que puede detectarse a la

salida.

Rapidez de respuesta: puede ser un tiempo fijo o depender de cuánto varíe la

magnitud a medir. Depende de la capacidad del sistema para seguir las variaciones de

la magnitud de entrada.

Derivas: son otras magnitudes, aparte de la medida como magnitud de entrada, que

influyen en la variable de salida. Por ejemplo, pueden ser condiciones ambientales,

como la humedad, la temperatura u otras como el envejecimiento (oxidación,

desgaste, etc.) del sensor.

Repetitividad: error esperado al repetir varias veces la misma medida.

Un sensor es un tipo de transductor que transforma la magnitud que se quiere medir o

controlar en otra que facilita su medida. Pueden ser de indicación directa (ejemplo, un

termómetro de mercurio) o pueden estar conectados a un indicador (posiblemente a través de

un convertidor analógico a digital, un computador y un visualizador) de modo que los valores

detectados puedan ser leídos por una persona.

Por lo general, la señal de salida de estos sensores no es apta para su lectura directa y a veces

tampoco para su procesado, por lo que se usa un circuito de acondicionamiento, por ejemplo

un puente de Wheatstone, amplificadores y filtros electrónicos que adaptan la señal a los

niveles apropiados para el resto de los circuitos.

3.2 Resolución y Precisión

La resolución de un sensor es el menor cambio en la magnitud de entrada que se aprecia en la

magnitud de salida. Sin embargo, la precisión es el máximo error esperado en la medida.

La resolución puede ser de menor valor que la precisión. Por ejemplo, si al medir una

distancia la resolución es de 0,01 mm, pero la precisión es de 1 mm, entonces pueden

apreciarse variaciones en la distancia medida de 0,01 mm, pero no puede asegurarse que haya

un error de medición menor a 1 mm. En la mayoría de los casos este exceso de resolución

conlleva a un exceso innecesario en el coste del sistema. No obstante, en estos sistemas, si el

error en la medida sigue una distribución normal o similar, lo cual es frecuente en errores

accidentales, es decir no sistemáticos, la repetitividad podría ser de un valor inferior a la

precisión.

Page 93: “Sistema de control aplicado - UNP

pág. 93

Sin embargo, la precisión no puede ser de un valor inferior a la resolución, pues no puede

asegurarse que el error en la medida sea menor a la mínima variación en la magnitud de

entrada que puede observarse en la magnitud de salida.

4 Conclusión

Las nuevas tecnologías y el avance en las redes de comunicación están facilitando que cada

vez haya más sensores en nuestro entorno, capaces de procesar enormes cantidades de datos

para ayudar a mejorar el funcionamiento de las fábricas, el control de los procesos

productivos, el mantenimiento de las cosechas, detectar terremotos o hasta aspectos de

nuestra vida diaria.

Los sensores son cada vez más comunes en nuestra vida cotidiana. Un coche, por ejemplo,

utiliza docenas de ellos para permitirnos controlar sus funciones básicas. Sin embargo, este

tipo de sensores están muy limitados puesto que, colocados estáticamente en un lugar,

carecen de la capacidad de analizar o actuar sobre los datos que detectan y simplemente su

misión se limita a enviar las mediciones que han registrado a un procesador central.

En definitiva, los sensores todavía podrían dar mucho más de sí. Así lo cree toda una

industria tecnológica que está detrás de ellos, y son cada vez más las empresas y los equipos

de investigadores que trabajan en el desarrollo de este tipo de dispositivos. En este sentido,

compañías como la cadena de supermercados británicos Tesco o la compañía petrolífera Shell

han instalado sistemas de primera generación para controlar y chequear el estado de los

expendedores de gasolina en sus estaciones de servicio.

La multinacional de los microprocesadores Intel tiene abiertas varias líneas de

experimentación, como por ejemplo, la creación de sistemas en centros de atención médica

para ayudar a pacientes con problemas de memoria y avisarles así del momento en el que

tienen que alimentarse.

En la primavera de 2002, el laboratorio de investigación de Intel en Berkeley, en

colaboración con el Colegio del Atlántico en Bar Harbor y la Universidad de California

comenzaron en la isla de Great Duck, en la costa norteamericana de Maine, un proyecto que

utilizaba redes de sensores para controlar los microclimas y los nidos de un tipo de ave

conocido como petrel de las tormentas y conocer, entre otras cuestiones, por qué prefieren

esta isla y no otras. De esta manera, los investigadores tratan de controlar el comportamiento

de estos animales sin irrumpir de manera agresiva en su hábitat.

En los jardines botánicos Huntington, en San Marino, California, donde se conservan unas

quince mil especies de plantas raras, investigadores del Laboratorio de Propulsión a Chorro

(JPL) de la NASA trabajan con una red de sensores web para controlar el calor, la humedad o

el estado del suelo en el que viven las cícadas, un tipo de planta que necesita unas

condiciones muy específicas. Cada pocos minutos, los sensores se actualizan entre ellos,

enviando toda la información a los responsables de las plantas.

Page 94: “Sistema de control aplicado - UNP

pág. 94

Como podemos apreciar, las posibilidades que proponen los sensores, en el marco evolutivo

de las redes de comunicación, son enormes y ofrecen grandes argumentos para ser incluidos

en proyectos de IoT.

Page 95: “Sistema de control aplicado - UNP

pág. 95

CAPÍTULO 7:

ENTORNO DE APLICACIÓN DEL

SISTEMA

1 Introducción

Dada la problemática expuesta a comienzos de este trabajo, se ha planteado la resolución de

la misma mediante la inclusión de tecnologías electrónicas y de comunicaciones, que elegidas

sobre la base del concepto de Internet de las Cosas (IoT), nos permitiera implementar un

sistema con características colaborativas que pueda monitorear y recabar los datos tomados

por diferentes sensores y publicarlos en un entorno web que provea acceso a los diferentes

interesados.

2 Sistema propuesto

El sistema propuesto dispone de diferentes elementos tanto a nivel hardware como software.

La primera parte del sistema está constituida en su mayoría de elementos hardware, los cuales

consisten de un conjunto de sensores y actuadores conectados a diferentes placas que se

encargan de comunicar los datos relevados por los mismos. El nodo central del sistema está

formado por un servidor, denominado Broker, que es el encargado de transmitir los mensajes

entre los que publican la información (placas) y los que se encuentran suscritos a ella

(plataforma web). Como elemento final del sistema, se encuentra una plataforma web la cual

se encarga de la visualización de la información recopilada por las diferentes placas. En el

siguiente diagrama se puede observar el esquema general del sistema.

Page 96: “Sistema de control aplicado - UNP

pág. 96

En el diagrama se puede ver que el flujo de datos comienza con los sensores. Estos son los

que realizan las mediciones de los datos que vamos a estar tratando a lo largo de todo el

sistema. Las placas Arduino son las encargadas de solicitar la información a los diferentes

sensores a los que estén conectadas. Estas placas permiten diferentes métodos de

comunicación y, a su vez, tienen un módulo de conexión WI-FI que les permite transmitir los

datos de forma inalámbrica, además ofrecen compatibilidad entre los diferentes elementos

hardware y software. Otra de sus ventajas es que son de bajo costo, las placas Arduino son

más accesibles comparadas con otras plataformas de microcontroladores.

Toda la información recopilada es recibida por el broker, el cual está en constante ejecución.

Cabe destacar que el sistema descrito en el párrafo anterior se puede escalar hasta N veces,

esto permite poder monitorizar tantos dispositivos como sean necesarios. Este broker

redistribuye la información para que llegue a quien desee recibirla, en este caso particular es

la aplicación web la que recibe dicha información y se encarga de darle el formato adecuado.

Además, por medio de la mencionada aplicación web, la información es almacenada en una

base de datos MongoDB debido a la necesidad de persistencia de los datos.

2.1 Tipo de sistema planteado

Existen dos clases comunes de sistemas de control, sistemas de lazo abierto y sistemas de

lazo cerrado. En los sistemas de control de lazo abierto la salida se genera dependiendo de la

entrada; mientras que en los sistemas de lazo cerrado la salida depende de las consideraciones

y correcciones realizadas por la realimentación. Un sistema de lazo cerrado es llamado

también sistema de control con realimentación.

Page 97: “Sistema de control aplicado - UNP

pág. 97

El sistema que se plantea en esta tesis es claramente un sistema de lazo cerrado, dado que

cada estrategia de control/corrección se manifiesta a partir del valor entregado por los

sensores disponibles, según corresponda el caso.

En los sistemas de lazo cerrado la acción de control está en función de la señal de salida. Los

sistemas de circuito cerrado usan la retroalimentación desde un resultado final para ajustar la

acción de control en consecuencia.

El control en lazo cerrado es imprescindible cuando se da alguna de las siguientes

circunstancias:

● Cuando un proceso no es posible de regular por el hombre.

● Una producción a gran escala que exige grandes instalaciones y el hombre no es capaz

de manejar.

● Vigilar un proceso es especialmente difícil en algunos casos y requiere una atención

que el hombre puede perder fácilmente por cansancio o porque la velocidad de

reacción que requiere el proceso, del orden de milisegundos, es inalcanzable para el

humano, con los consiguientes riesgos que ello pueda ocasionar al trabajador y al

proceso.

Sus características son:

● Ser complejos pero amplios en cantidad de parámetros.

● La salida se compara con la entrada y le afecta para el control del sistema.

● Su propiedad de retroalimentación.

● Ser más estable a perturbaciones y variaciones internas.

Un ejemplo de un sistema de control de lazo cerrado sería un termotanque de agua.

Otro ejemplo sería un regulador de nivel de gran sensibilidad de un depósito. El movimiento

de la boya produce más o menos obstrucción en un chorro de aire o gas a baja presión. Esto

se traduce en cambios de presión que afectan a la membrana de la válvula de paso, haciendo

que se abra más cuanto más cerca se encuentre del nivel máximo.

Page 98: “Sistema de control aplicado - UNP

pág. 98

3 Ambiente de simulación

Para el desarrollo de un ambiente propicio para la inclusión de la tecnología propuesta, se

harán una serie de definiciones y fijarán ciertas premisas, que permitan fijar un marco de

aplicación y alcance.

En primer lugar se identificarán aquellos datos o variables de interés. A las que consideramos

de mayor relevancia, se las puede agrupar en dos grupos bien definidos: aquellas orientadas a

las condiciones climáticas y las orientadas al consumo y generación de energía. A su vez,

podemos realizar una segunda distinción que es de acuerdo al equipo que se esté evaluando.

Se considerarán dos equipos, los molinos de baja potencia y los sistemas fotovoltaicos y de

calentamiento de agua basados en paneles.

Dado que el conjunto total de variables y por ende de placas y sensores necesarios para la

recolección de datos, es considerablemente amplio tanto en cantidad como diversidad, es que

se optó por simular los diferentes tipos de sensores tanto por elementos hardware (pulsadores,

potenciómetros, relés, LDR, etc.) como por software (rutinas de ejecución).

Para la instalación de generadores eólicos, se deben tener en cuenta 2 variables, el consumo

promedio de energía y la velocidad media del viento en la zona. Una estimación aproximada

de la cantidad de energía que generará una turbina puede hacerse utilizando los datos del

fabricante del generador y la velocidad media anual del viento. Cada generador tiene una

curva de potencia y de cantidad de energía generada que relaciona la potencia entregada o la

energía generada en función de la velocidad media del viento. Conociendo la velocidad

media del viento, tendremos una idea de la potencia media que entregará el generador. Lo

que cabe resaltar es la importancia de la media del viento, se estima por normativa para estos

equipos, contar con una media anual mayor a 6 m/s para tener una generación energética

aceptable. Normalmente, antes de iniciar la instalación de un generador eólico, se debe

realizar mediciones y estudios climáticos para determinar el tipo de generador y la viabilidad

de la instalación del equipo. Sin embargo, muchas veces estos estudios son demasiado

costosos por lo que no se justifica su realización; en su lugar se utilizan datos disponibles,

como el mapa de velocidades medias de viento. Aunque estos datos mayormente son

estimados o ponderados en base a otros valores por lo que no muestran una visión real de la

situación. Esta situación descripta resalta la importancia de contar con datos actuales, ya que

permitirían realizar estudios más precisos.

Por ejemplo muchas veces la instalación de un molino de baja potencia se determina en base

a que se estima que se alcanzan las velocidades de vientos nominales para su funcionamiento.

Sin embargo, debido a la falta de datos actuales o de mayor precisión, se pueden obviar

alternativas como la instalación de equipos de mayor capacidad o incluso la posibilidad de

instalar un parque eólico de pequeñas dimensiones.

Para este desarrollo consideraremos que los equipos eólicos de baja potencia ya se encuentran

instalados y, como hemos mencionado, el hecho de poder contar con datos climáticos de

mayor precisión y actuales, permite poder llevar adelante estudios y análisis para futuros

Page 99: “Sistema de control aplicado - UNP

pág. 99

proyectos. Si a esto agregamos la posibilidad de obtener mediciones en tiempo real a través

de Internet, no sólo se podrían realizar estudios más precisos sino que también se reducirían

los costos de adquisición de datos.

Principalmente estos estudios y análisis hacen uso de variables como las velocidades de

viento, la dirección, presión atmosférica y temperatura. Todas ellas son relevadas por

sensores colocados a diferentes alturas en unas torres especiales dedicadas para medición o

en caso de ya contar con los equipos instalados, se instalan en las torres de los molinos, con el

fin de poder contar con datos históricos para futuros ensayos. Las alturas utilizadas para las

tomas de datos, varían de acuerdo a las torres instaladas para su adquisición, normalmente se

toman a 20, 30, 60 y 90 metros de altura. Para cada una de ellas se instalan grupos de

sensores, entre los que se encuentran anemómetros (velocidad del viento), veletas (dirección),

barómetros (presión atmosférica) y termómetros (temperatura) conectados a DataLoggers u

otros dispositivos similares que se encargan de recolectar los valores. Los generadores

eólicos para baja potencia se suelen instalar en torres que varían entre los 24 y los 43 metros

de altura, por lo que posibilita la recolección de datos a 20 y 30 metros. Para la simulación

consideraremos que las torres poseen una altura de 40 metros, por lo que, para fines prácticos,

estableceremos una altura de medición a 30 metros. Para los sensores utilizaremos dos

potenciómetros, uno para simular los anemómetros y otro para simular a las veletas, donde la

variación del voltaje del potenciómetro nos permitirá simular, de forma dinámica, las

variaciones que presentan estas dos variables. Estas son las más representativas y las que

poseen una relación directa con la generación de energía del equipo. Consideramos que los

valores recolectados por los anemómetros estarán comprendidos entre los 0 m/s y los 100 m/s

(360 Km/h), cuyo tope máximo es un aproximado a la máxima velocidad de viento registrada

(371 Km/h o 103.056 mts/s) mientras que los valores de las veletas estarán entre 0° y 360°.

Los datos tomados por los sensores restantes serán representados mediante arreglos de

valores aleatorios, donde cada sensor se corresponderá con un único arreglo de datos. Esta

información será relevada por una rutina de ejecución, la cual cada 30 segundos recolectará

los datos de los sensores y los transmitirá a un servidor (broker).

Como mencionamos anteriormente, el principal problema de los molinos eólicos de baja

potencia es que ante la presencia de velocidades de vientos elevadas, al no contar con

sistemas automáticos de orientación de aspas como en el caso de los grandes equipos eólicos,

los rotores se embalan provocando que queden inoperables. Si bien estos equipos cuentan con

sistemas de control que permiten detener el rotor ante la presencia de vientos fuertes, estos

pueden fallar debido a excesos de viento bajo carga constante o por descensos bruscos en la

carga. Estos casos son muy comunes en la zona, donde las velocidades del viento son muy

cambiantes. Cabe mencionar que además del sistema de control mencionado, estos equipos

cuentan con frenos manuales, utilizados mayormente para mantenimiento, los cuales pueden

ser utilizados para casos de vientos excesivos, sin embargo dependería del tiempo de reacción

de los encargados, por lo que no lo hace una opción viable. Es por ello que como medida de

prevención se podría utilizar un actuador que active un freno mecánico o eléctrico para evitar

que el rotor sufra daños debido a las excesivas revoluciones. Esto se puede implementar de 2

formas: activando el actuador cuando los anemómetros registren valores superiores a un valor

Page 100: “Sistema de control aplicado - UNP

pág. 100

máximo de umbral o mediante el uso de un tacómetro que al superar un valor máximo de

revoluciones (r.p.m.) lo active. Para nuestro caso de estudio y con el fin de evitar incrementar

innecesariamente el número de dispositivos de relevamiento, nos apoyaremos en el uso de los

anemómetros para establecer el momento de activación del freno. El valor umbral de

activación dependerá del tipo de aerogenerador instalado, dicho valor usualmente se

especifica en la descripción del equipo. Como se trabajara en un ambiente simulado, con

equipos que imitan a los reales, dicho valor se determinará en base a la capacidad elegida

para el aerogenerador; mayormente para equipos de estas características se estima que la

velocidad de parada o desconexión ronda los 25 m/s. Como se verá más adelante en la

sección de “visualización de datos”, un operario o encargado de monitorear estos equipos,

puede visualizar cuando se activa dicho mecanismo de freno, y evaluar en base a los datos

climáticos (principalmente la velocidad del viento), el momento más oportuno para volver a

poner en funcionamiento el equipo, y así prolongar su vida útil.

El conjunto de datos descriptos hasta el momento, los podemos clasificar en nuestro primer

grupo, correspondiente a aquellos orientados a las condiciones climáticas, relevados por

dispositivos eólicos. Si bien estos datos son de utilidad para diferentes análisis de índole

climático, también disponemos de aquellos valores relacionados a la energía. Principalmente

nos enfocaremos en la tensión (Voltaje) del banco de baterías y de la corriente (Amperaje)

consumida, para ello utilizaremos dos sensores adicionales: un voltímetro y un amperímetro

respectivamente. Estos valores son de gran relevancia para determinar los consumos

promedios (Watts) de las comunas rurales que hacen uso de estos equipos. Además, con

dichos datos se pueden realizar diferentes estudios de consumos energéticos como también de

evaluación del funcionamiento de los equipos de generación de energías alternativas.

Si adicionalmente incluimos un wattimetro entre el equipo y el regulador de carga (en cual se

encuentra conectado antes de la entrada al banco de baterías), con el fin de obtener la

potencia entregada por el aerogenerador, sumado a las velocidades promedio de viento y las

características propias de los equipos, permitiría obtener la curva de potencia de los

aerogeneradores, posibilitando observar el rendimiento de los diferentes equipos. Estos datos

son muy importantes, dado que se podría determinar qué equipos poseen un mejor

rendimiento en relación a las zonas en donde se encuentran instalados y así poder determinar

qué equipos se adaptan mejor a las necesidades de los usuarios. Es por ello que el panel de

visualización, el cual se detalla más adelante en la sección de “visualización de datos”,

permitirá visualizar estas variables en tiempo real de forma que se pueda observar con mayor

facilidad la relación entre la velocidad del viento y la potencia generada.

Como en el caso anterior, los datos relevados por estos sensores los simularemos por

software mediante arreglos de valores, los cuales serán relevados cada 30 segundos como se

mencionó en párrafos anteriores.

Si bien el auge de los molinos eólicos tuvo un fuerte impacto en la zona, hoy en día la

utilización de sistemas fotovoltaicos es cada vez mayor. Al igual que los sistemas eólicos, los

sistemas fotovoltaicos hacen uso de un banco de baterías, en donde almacenan la energía

recolectada por las celdas o células fotovoltaicas. A estos se le agrega un inversor de

Page 101: “Sistema de control aplicado - UNP

pág. 101

corriente, que es el que permite transformar la corriente continua almacenada en las baterías,

en corriente alterna.

Los paneles fotovoltaicos, como así también los paneles solares, al momento de ser instalados

son orientados a diferentes ángulos de acuerdo diversos factores. Esto se efectúa con el

propósito de obtener el máximo aprovechamiento de la radiación solar de acuerdo a las

estaciones del año y la ubicación geográfica. El ángulo de inclinación depende del momento

del día (amanecer, mediodía y noche), las diferentes estaciones del año (primavera, verano,

otoño e invierno) y la ubicación donde se instalarán los paneles (altitud, longitud y latitud) ya

que se basa en la trayectoria del sol y la orientación relativa del dispositivo solar.

A modo de aclaración existe una variante entre los hemisferios norte y sur de la tierra al

instalar un panel solar, esto es debido al primer aspecto mencionado en el párrafo anterior: la

rotación de la tierra, que marca la hora del día en cada parte del mundo. Ya que en el

hemisferio norte puede ser de mañana, mientras que en el sur está anocheciendo. Por esta

razón se recomienda que los módulos solares en el hemisferio norte, que comprende a

Norteamérica, el Ártico, parte de África, Europa y Asia, estén dirigidos hacia el sur. Mientras

que en las regiones de Sudamérica, el sur de África, Australia y Oceanía, que son parte del

hemisferio sur, se recomienda que los paneles solares se encuentren dirigidos al norte. Cabe

destacar que es un estimativo a grandes rasgos de la orientación más óptima, hay varios otros

factores que influyen como la posibilidad de generación de sombras no contempladas durante

el proceso de instalación. Con respecto al grado de inclinación, se estipula que es igual al

grado de latitud en donde se encuentra ubicado geográficamente. Por ejemplo, para la ciudad

de Trelew que se encuentra en las coordenadas 43º 14´ de latitud sur y es parte del hemisferio

sur, se debe instalar los paneles mirando hacia el norte con un ángulo de inclinación de 43°

14´ respecto a la horizontal en el terreno donde se encuentra. Además de lo planteado, se

debe tener en cuenta la estación del año en que se encuentre ya que altera moderadamente el

ángulo de inclinación inicial. Si bien parece que estos datos carecen de importancia para

nuestro caso de estudio, en verdad son datos relevantes para la determinación del rendimiento

de los equipos, ya que no es lo mismo un panel orientado en una dirección desfavorable o de

poco aprovechamiento que otro que hace uso de la mayor cantidad de radiación solar.

Obviamente, no siempre es posible instalarlos en el lugar más apropiado, por lo que el

rendimiento no será el mismo a lo esperado. Es por ello que cada uno de estos equipos se

monta sobre una base especial, la cual permite ajustar el ángulo de inclinación para establecer

el más provechoso de acuerdo a las condiciones establecidas anteriormente. Algunos equipos,

sobre todo aquellos instalados en parques solares, cuentan con sistemas automatizados

basados en conjuntos de sensores y motores manejados por PLCs que permiten ajustar la

orientación de las celdas en la dirección de mayor radiación solar. También existen otros

dispositivos, llamados seguidores solares o trackers, que permiten que los paneles giren sobre

sí mismos, es decir, permiten seguir la trayectoria del sol desde el amanecer hasta el

atardecer. La principal desventaja es que estos sistemas no son baratos, por lo que los costos

de inversión comparados con la ganancia energética, los hace poco viables para instalaciones

pequeñas como lo son las comunas rurales.

Page 102: “Sistema de control aplicado - UNP

pág. 102

En los casos de instalaciones pequeñas, al momento de la instalación de los paneles, se optan

por 2 alternativas:

● La primera consiste en montarlos en bases fijas, las cuales son orientadas tomando

como referencia las premisas enunciadas en párrafos anteriores; estas bases son

utilizadas principalmente para instalaciones pequeñas de paneles, como por ejemplo

en puestos de guarda faunas o puesteros y para la fijación de calentadores de agua

solares, basados en colectores.

● La segunda implica instalarlos en bases fijas en las cuales, si bien la orientación será

siempre la misma, permiten ajustar el ángulo de inclinación de las celdas. El objetivo

es poder adaptar el sistema de acuerdo a las estaciones del año para tener un mejor

aprovechamiento. Estas consisten en un brazo móvil, ajustado por pernos, donde se

ofrece desde tres hasta cuatro puntos de ajuste. Su desventaja radica en que este

sistema solo permite ángulos de inclinación preestablecidos y deben ajustarse de

forma manual.

Dada la importancia que tiene, tanto la orientación como la inclinación de los paneles

(fotovoltaicos y solares), no solo para un mejor aprovechamiento sino también para estudios

de rendimiento de diferentes equipos y marcas comerciales, es que se considera para este

trabajo importante relevarlos. Sin embargo, dado que muchas de las bases son fijas, hacen

que los datos de orientación no sufran alteraciones mayores, por lo que no se considerarán

como parte del conjunto de datos a recolectar. Por otro lado, el ángulo de inclinación respecto

a la horizontal del terreno si es un dato de interés, sobre todo en aquellos equipos montados

sobre bases ajustables, donde el dato es variante a lo largo del año. Si bien los valores se

encuentran acotados a la cantidad de puntos de ajuste que proporcionan las bases (de tres a

cuatro), en la práctica dado que estos ajustes son manuales, no siempre se realizan en los

tiempos correspondientes o simplemente no se realizan, provocando que sea difícil predecir

estos cambios. Este dato en conjunto con la radiación solar captada, permiten determinar la

cantidad de radiación máxima que puede obtenerse a lo largo del tiempo. Por esta razón es

que ambos valores se agruparán en la misma clasificación, correspondiente a aquellos

orientados a las condiciones climáticas, relevados por equipos solares, pese a que el ángulo

de inclinación no esté directamente relacionado al clima.

En base a la problemática que genera el ajuste manual de la inclinación de los dispositivos, se

podrían incorporar actuadores que ajusten automáticamente los dispositivos de acuerdo a los

cambio de estación, brindándoles a estos sistemas mayor autonomía. De esta forma se

obtendrán sistemas similares a los trackers. Para este caso particular utilizaremos un

servomotor, el cual es un pequeño motor de corriente continua, que será regulado mediante

una señal PWM de Arduino. Los servos, como se mencionó, son también motores de

corriente continua, pero en lugar de diseñarse para obtener un giro continuo que podamos

aprovechar (para mover una rueda por ejemplo), se diseñan para que se muevan en un ángulo

fijo en respuesta a una señal de control, y se mantengan fijos en esa posición. Es por ello que

los hace una de las mejores alternativas para simular los pares de motores que controlan la

inclinación de los paneles fotovoltaicos. Para nuestro caso de simulación el servomotor, se

Page 103: “Sistema de control aplicado - UNP

pág. 103

ajustará de acuerdo a los cambios de estación del año. Los ángulos establecidos serán fijos,

uno por cada estación del año (cuatro).

La toma del valor de inclinación, se puede realizar mediante un sensor llamado inclinómetro

conectado a una placa Arduino, con el fin de obtener con mayor precisión la inclinación del

panel. Sin embargo para nuestro caso de simulación planteado anteriormente, dado que el

ángulo lo fijamos de manera predeterminada de acuerdo al momento del año, tomaremos los

valores utilizados para ajustar el servomotor como datos de inclinación de los paneles

fotovoltaicos. Dado que dicha variable presenta una baja tasa de alteración, la misma será

relevada solo cuando se produce el ajuste de inclinación, como un evento del sistema.

Dependiendo de qué dispositivo se está relevando, panel fotovoltaico o solar, las variables de

interés de índole climático varían. En el caso de los paneles fotovoltaicos, la radiación solar

incidente en la superficie del equipo es de suma importancia para la determinación del

rendimiento de los diferentes equipos. La radiación solar es el conjunto de radiaciones

electromagnéticas emitidas por el sol, se mide mediante un instrumento llamado piranómetro

(también llamado solarímetro y actinómetro), el cual mide la densidad del flujo de radiación

solar (kilovatios por metro cuadrado) en un campo de 180 grados. Se debe tener en cuenta

que para diversos estudios relacionados a la generación fotovoltaica, se consideran tres tipos

de radiación:

● Radiación solar directa: es la radiación que incide directamente del sol.

● Radiación solar difusa: es la radiación dispersada por los agentes atmosféricos (nubes,

polvo, etc.)

● Radiación solar reflejada (albedo): es la radiación reflejada por el suelo o por los

objetos cercanos.

Para la obtención de cada tipo de radiación se emplean diversas técnicas, una de ellas por

ejemplo consiste en tapar el sensor de radiación del piranómetro mediante una pantalla

parasol, con el fin de obtener la radiación difusa. Sin embargo también existen distintos tipos

de piranómetros especializados para la captación de cada tipo de radiación. Para nuestros

fines prácticos se considerará solamente la radiación solar directa, que será la que incide

directamente sobre el equipo. Como la corriente de cortocircuito (con carga nula) de la celda

es directamente proporcional a la radiación captada, se hará uso de un potenciómetro para

simular el piranómetro y de una variable para representar la corriente generada, la cual tendrá

variaciones acordes a los valores entregados por el potenciómetro. Por otro lado al igual que

la corriente, la tensión generada se simulará mediante una variable que se incrementará o

disminuirá de acuerdo a la intensidad de corriente, dado que la misma es dependiente en

cierta forma de ella. Cabe destacar que la tensión de circuito abierto (máximo valor de

tensión en los extremos de la celda con carga nula) varía poco con la radiación, aunque

también decrece, pero a efectos prácticos se la puede considerar constante. A fines prácticos y

con la intención de evitar incrementar innecesariamente el número de variables, se utilizara

una sola variable que representará la potencia generada por el dispositivo.

Page 104: “Sistema de control aplicado - UNP

pág. 104

Otro dato relevante que influye de forma directa en el rendimiento de un panel fotovoltaico es

la temperatura. Las células fotovoltaicas, como se mencionó anteriormente, se comportan

como un generador de corriente eléctrica, cuyo funcionamiento es en función de tres

variables fundamentales: intensidad de la radiación solar, temperatura y área de la celda. La

temperatura de la celda posee un efecto importante sobre el valor de la tensión en circuito

abierto (Voc), provocando que esta disminuya en el orden de unos pocos mili voltios por cada

grado centígrado que aumenta la temperatura. Además, como consecuencia de esta variación

de Voc, a medida que aumenta la temperatura, provoca a su vez, que la eficiencia de la celda

haga lo mismo (se reduce en promedio entre el 0,4 y 0,5 % por º C). Por esta razón es de

suma importancia la obtención de este dato, el cual será representado por un arreglo de

valores que serán tomados cada 30 segundos.

La posibilidad de poder acceder a esta información tiene una especial relevancia sobre todo

para aquellas personas encargadas de mantener estos equipos. Ya que permitiría, de manera

inmediata detectar si los equipos presentan fallas o desperfectos. Uno de los casos más

comunes de mal funcionamiento es provocado por la excesiva cantidad de suciedad en las

celdas solares, provocando que estas no entreguen la cantidad de corriente necesaria para la

carga del banco de baterías. Esto puede solucionarse fácilmente limpiando cuidadosamente

las celdas. Sin embargo hay otros tipos de fallas que requieren de personal técnico capacitado

para su atención, una de las fallas típicas es cuando alguna de las celdas que componen el

panel entra en cortocircuito. Esta no es fácil de detectar a simple vista, la forma más rápida de

darse cuenta es observando los valores de radiación solar, intensidad de corriente (I) y tensión

(V) entregados. Si los valores de radiación no son nulos, pero los valores de I y V lo son,

estamos ante un caso de cortocircuito en alguna de las celdas. Dado que para poder reparar

una de estas fallas, se requiere de herramientas y repuestos específicos, el poder contar con

estos datos en una plataforma web permite a los responsables de su reparación programar

salidas de mantenimiento más provechosas y eficientes de acuerdo a las problemáticas

detectadas y con un mejor tiempo de respuesta en comparación a las salidas rutinarias. Es por

ello que, al igual que en el caso de los aerogeneradores, el panel de visualización

implementado permitirá observar las variables de radiación solar y cantidad de energía

generada en tiempo real, con el fin de lograr dicho objetivo.

En contraste a los paneles fotovoltaicos, los colectores solares no generan energía eléctrica,

sino que utilizan la radiación solar para generar calor, es por ello que uno de sus principales

usos es para el calentamiento de agua para usos sanitarios mediante termotanques solares. Al

igual que los sistemas fotovoltaicos, los colectores solares también hacen uso de la energía

radiada por el sol para producir energía (térmica), sin embargo, a diferencia de los primeros,

este dato no es de relevancia. Para estos dispositivos, los datos que presentan mayor interés

son las temperaturas, tanto la del interior del depósito, como la exterior. El rendimiento de los

colectores mejora cuanto menor sea el salto térmico, es decir, la diferencia de temperatura

entre este y el exterior. Por lo tanto, la eficiencia disminuye al aumentar la temperatura de

trabajo, y al disminuir la temperatura exterior. Si tomamos en cuenta los termotanques

solares, que son los usualmente usados en las CRA, estos cuentan con un sensor térmico

ubicado cerca de la salida de agua del colector con el fin de obtener la temperatura máxima.

Page 105: “Sistema de control aplicado - UNP

pág. 105

Este sensor puede ser reemplazado por cualquier tipo de sensor de temperatura; por ejemplo,

para nuestro caso, por uno con la capacidad de comunicar los datos relevados al broker. A

esto se incorporará un segundo sensor de temperatura con el fin de obtener la temperatura del

exterior o ambiente. Para fines prácticos ambos sensores serán simulados por una rutina de

ejecución, la cual tomará los datos de un arreglo de valores, cada 30 segundos.

Mediante la contrastación de temperaturas, se podría determinar si los equipos están

funcionando de manera adecuada o si requieren mantenimiento, ya que si la temperatura del

exterior no se encuentra por debajo de los 0 °C, la temperatura interna del dispositivo no debe

ser inferior a los 45 °C, que es el mínimo estipulado en invierno. Si la temperatura del interior

del depósito es inferior al valor umbral mínimo y la temperatura exterior no alcanzan valores

por debajo de los 0 °C, significa que el equipo no está funcionando de manera adecuada, ya

sea porque los colectores están dañados o con exceso de suciedad. A sí mismo, si se detecta

que no se mantienen las temperaturas mínimas estipuladas, las cuales varían entre los 45 °C y

55 °C de acuerdo al fabricante, en el interior del depósito durante los períodos mínimos

establecidos de tiempo (entre 60 a 72 hs) también se podría estar en frente a un caso de mal

funcionamiento. En resumen observando estos datos es posible determinar si los colectores se

encuentran funcionando adecuadamente o si requieren ser reemplazados.

Habiendo establecido los equipos más utilizados en la generación de energías alternativas,

sus usos y aquellos datos considerados de interés por los diferentes interesados,

procederemos a establecer un caso de simulación, considerando aquellos más comunes en la

zona.

Tanto equipos eólicos como solares, son instalados principalmente para el abastecimiento de

energía en albergues, escuelas, centros de salud y estancias de puesteros de comunas rurales.

A modo de disponer de un escenario lo más cercano a casos reales, estableceremos un

aerogenerador de baja potencia de 1000 W ubicado en una torre de 40 mts, como se

mencionó en párrafos anteriores, que proporcionará energía a una escuela, principalmente

para iluminación y elementos de primera necesidad conectados al circuito de tomas. Además

contemplaremos dos paneles fotovoltaicos de 260 W de Pmax; uno que proveerá energía a un

centro de salud, como en el caso anterior para iluminación y elementos de primera necesidad

y el segundo proporcionará alimentación a una bomba de agua para el aprovisionamiento de

agua dentro de la comuna rural. En ambos casos referidos a iluminación, estipulamos que se

utilizan luminarias LED de 6 W 24 Vcc. Finalmente, se considerará un termotanque solar

para el calentamiento de agua; el mismo consta de un depósito de 300 litros de volumen y de

30 colectores de 58x1800mm, brindando un área útil de captación de 4,142 m². Cabe destacar

que estamos planteando un caso hipotético que permita tener una visión más clara del

escenario que será objeto de este trabajo. En cuanto al conjunto de sensores encargados de la

recolección de los diferentes datos, se simularán de acuerdo a lo planteado en cada uno de los

casos analizados anteriormente.

El poder adquirir estos datos y accederlos desde una plataforma web, es decir que estén

vinculados a Internet, proporciona no sólo un medio rápido de recolección de datos sino que,

además, permite el análisis de los mismos por diferentes tipos de profesionales en el tema,

Page 106: “Sistema de control aplicado - UNP

pág. 106

como también facilita a los responsables de los mantenimientos de estos equipos, la detección

de forma inmediata cuando alguno de éstos presenta alguna anormalidad en su

funcionamiento. Pudiendo de esta forma coordinar de manera rápida y eficaz las comisiones

por mantenimiento. Además, el hecho de poder suscribirse a aquellos datos de interés

(tópicos) permite que los diferentes interesados se centren en los temas de su predilección.

Por ejemplo, muchas veces los organismos encargados de los aerogeneradores no son los

mismos que el de los paneles, de esta forma se posibilita que cada organismos se centre solo

en aquellos equipos de su jurisdicción.

Finalmente, el poder contar con estos datos en la web permitirá, no solo que profesionales de

diferentes áreas realicen estudios de factibilidad y rendimiento con datos reales y actuales,

sino que también posibilita que cualquier persona pueda disponer de ellos, impulsando de

esta forma el uso de energías alternativas para el ahorro de consumos energéticos.

A continuación se otorga una tabla resumen de las variables mencionadas a partir del

ambiente descrito.

# Variable Tipo Excursión Unidad Alarma

1 Sensor de velocidad media de viento AI 0 - 100 m/s No

2 Actuador de conexión de resistencias de

embalamiento DO - - SI

3 Sensor de dirección del viento AI 0 - 360 ° No

4 Sensor de presión atmosférica AI 870 - 1100 hPa No

5 Sensor de temperatura (Torre del aerogenerador) AI -20 - 60 °C No

6 Sensor de tensión del banco de baterías del

aerogenerador AI 0 - 48 V No

7 Sensor de potencia generada (Aerogenerador) AI 0 - 1000 W No

8 Sensor de corriente consumida (Aerogenerador) AI 0 - 100 A No

9 Sensor de radiación solar (Panel fotovoltaico) AI 0 - 324 Kw/m² No

10 Actuador de inclinación del panel fotovoltaico DO - - SI

11 Sensor de temperatura (Panel fotovoltaico) AI -20 - 60 °C No

12 Sensor de tensión del banco de baterías del panel

fotovoltaico AI 0 - 24 V No

13 Sensor de potencia generada (Panel fotovoltaico) AI 0 - 260 W No

14 Sensor de corriente consumida (Panel fotovoltaico) AI 0 - 100 A No

15 Sensor de temperatura (Panel solar) AI -20 - 60 °C No

16 Sensor de temperatura (Interior del depósito) AI -20 - 100 °C No

Se debe considerar que algunos de los valores definidos están sujetos a variaciones, sobre

todo aquellos relacionados con la potencia generada por los equipos generadores. La potencia

dependerá de las características del dispositivo, es por ello que se deben considerar dichas

características a la hora de contrastar con los valores relevados por los sensores.

Del conjunto de variables descripto tomaremos un conjunto reducido del mismo para el

desarrollo del sistema, ya que para los fines prácticos de este trabajo se considera que no

Page 107: “Sistema de control aplicado - UNP

pág. 107

afecta a los objetivos del mismo. Por lo cual solo consideraremos las variables de mayor

relevancia en relación a la generación de energía y funcionamiento de los equipos. A

continuación se presenta la tabla de variables seleccionadas.

# Variable Tipo Excursión Unidad Alarma

1 Sensor de velocidad media de viento AI 0 - 100 m/s No

2 Actuador de conexión de resistencias de

embalamiento DO - - SI

3 Sensor de dirección del viento AI 0 - 360 ° No

4 Sensor de temperatura (Torre del aerogenerador) AI -20 - 60 °C No

5 Sensor de tensión del banco de baterías del

aerogenerador AI 0 - 48 V No

6 Sensor de potencia generada (Aerogenerador) AI 0 - 1000 W No

7 Sensor de corriente consumida (Aerogenerador) AI 0 - 100 A No

8 Sensor de radiación solar (Panel fotovoltaico) AI 0 - 324 Kw/m² No

9 Actuador de inclinación del panel fotovoltaico DO - - SI

10 Sensor de temperatura (Panel fotovoltaico) AI -20 - 60 °C No

11 Sensor de tensión del banco de baterías del panel

fotovoltaico AI 0 - 24 V No

12 Sensor de potencia generada (Panel fotovoltaico) AI 0 - 260 W No

13 Sensor de corriente consumida (Panel fotovoltaico) AI 0 - 100 A No

4 Punto de partida del desarrollo propuesto

En este apartado estudiaremos más a fondo la forma de obtención de los datos. A su vez,

coincide con la primera etapa de desarrollo del sistema. Principalmente nos centraremos en el

Servidor Mara o Mara Server - el cual es un servidor que ha sido tomado de un proyecto de

investigación anterior, ya que queda fuera del alcance de esta tesis -, que ha sido

implementado sobre Arduino y compatibles y ha sido utilizado para poder recabar los datos

tomados por los diferentes dispositivos de sensado y medición.

Mara server reúne un conjunto de funcionalidades básicas:

● Recoge sistemáticamente datos de distintas variables de campo en una modalidad

Round Robin28

con un periodo de tiempo configurable, es decir que trabaja con el

concepto de quantum o intervalo de tiempo. A cada dispositivo se le asigna un

periodo de ejecución para poder transmitir o recibir información mediante el canal de

comunicación. A su vez se va dejando una tabla de estados actualizada a efectos de

responder a los requerimientos de los clientes o efectuar publicaciones a Brokers

sobre la base del Protocolo de Aplicación Mara1-v4.

28

https://es.wikipedia.org/wiki/Planificaci%C3%B3n_Round-robin

Page 108: “Sistema de control aplicado - UNP

pág. 108

● Admite conexión física de múltiples formas por parte de clientes. Entre las cuales se

destacan como Servidor de datos o como Publicador/Suscriptor.

● Efectúa un proceso que reúne características de multitarea colaborativa en su Loop

principal. El loop principal no es bloqueante y dependiendo del procesador y su reloj,

la rutina Loop() se ejecuta en el orden de 100 mil veces/seg.

● Posee sincronización global desde un servidor de tiempo en Broadcast (Mara)

específico o por NTP29

.

Las funcionalidades enunciadas, se situaron en una única aplicación sobre un hardware,

denominado CoMaster. Su nombre proviene de la conjunción de sus dos funciones

principales como son, por un lado, la de ser Concentrador (gateway) de estados y mediciones

de campo para su comunicación a Internet, intercambiando capa física y el protocolo de

adquisición en la red local del campo, al normalizado para funcionar en Internet (TCP/IP).

Por otro lado, la función de Master (Unidad Maestra) de adquisición de las unidades en la red

local, situadas en distintos dispositivos, como los sensores mencionados anteriormente, que

permiten la extracción de sus datos con su modalidad específica.

La red local pueden ser en realidad un conjunto de subredes trabajando en protocolos Serie

RS-485, UTP, I²C u otras.

En síntesis, el CoMaster es un hardware que contiene los dispositivos de conectividad hacia

Internet, que permiten la adquisición y concentración de datos dispuestos en las borneras

frontera del campo y de los que provienen de las subredes locales.

También se debe definir un Centro de Control (CC), que contiene una Aplicación Cliente

(Poll) que efectúa conexión automática con cada CoMaster a efectos de recabar las tramas de

datos de campo o, en comunicación indirecta a través de publicaciones del CoMaster;

mediante un Broker de mensajes se alimenta al CC en un modo suscriptor. En este CC,

normalmente reside la Base de Datos (BDD), que mantienen la información de tiempo real e

histórica del sistema y el Servidor WEB (WS). En comunicación Indirecta, el CC puede

contener el Broker y alimentar las distintas Apps para presentación de los datos.

Entonces la aplicación consiste en un software desarrollado en Arduino, que es esencialmente

el ciclo principal Loop(), el que reúne características de multitarea colaborativa. Como ya se

mencionara, la preponderancia de su función CoMaster, está motivada porque se trata de un

dispositivo que funciona en varias capas o módulos:

● Como IED o UC local: Adquiere en un loop regular de scan, los valores de estado y

medidas que se dispongan en la bornera frontera con el campo.

● Como Master: Dentro del ciclo de adquisición, se envían mensajes en modo

HalfDuplex30

, a la red RS-48531

o UDP conformada por los IEDs situados en distintos

dispositivos transductores que admitan los protocolos.

29

https://es.wikipedia.org/wiki/Network_Time_Protocol

Page 109: “Sistema de control aplicado - UNP

pág. 109

● Como Publicador: Dentro del loop principal se prevé la publicación de datos de

estado y eventos, ya sea en un modo sistemático regulado por una temporización o en

un modo de excepción ante ocurrencia de eventos.

● Como Concentrador: La información recabada, como se especificó arriba, es

dispuesta en distintas tablas de datos según su tipo:

○ Variables de estado del sistema (VarSys): Son aquellas que indican el

estado de comunicaciones, sincronización y otras de cada uno de los IEDs

(tanto del IED local como los situados en el campo en las subredes).

○ Variables digitales de entrada: Son aquellas que indican el estado de los

dispositivos de campo con entrada directa a pines específicos del CoMaster.

○ Variables analógicas de entrada: Valores de mediciones (por ejemplo:

presión atmosférica, temperatura, tensión, corriente y potencia eléctricas) con

entrada directa a pines específicos del CoMaster.

○ Eventos de campo y comunicaciones: Con discriminación de 1/32 de

segundo.

● Como Puente: Entre el Centro de Control y Adquisición y los IEDs de campo (para

diagnóstico y/o configuración a distancia).

En su función como master, la aplicación emite cíclicamente y en modo round-robin un

pooling a cada uno de los IEDs que se definen en su tabla de configuración. Esta consulta se

efectúa típicamente cada 500 ms, teniendo en cuenta un compromiso entre la velocidad de la

red, el máximo tamaño de un paquete y otras consideraciones de ruido de ambiente. Teniendo

en cuenta la existencia típica de una docena de IEDs en las subredes locales, se tienen un

refresco de medición del orden de 6 segundos, lo cual se considera suficiente acorde a las

especificaciones estándar.

Existen otras funciones adicionales complementarias como son las de llevar un reloj de

tiempo real de buena precisión en base a un timer situado en el loop principal. Con un cristal

de 32768 Hz que le otorga una granularidad de 1/32768 seg pueden lograrse precisiones en

Time-Stamp de eventos de +/- 1 ms. Dicha función resulta indispensable para poder llevar

control del tiempo en que los datos son relevados, dado que muchos estudios estadísticas se

basan en la relación de variable-tiempo. Además permite conocer con mayor exactitud los

tiempos de ocurrencia de los diferentes eventos que puedan ocurrir.

Los receptores de una trama de datos enviada por el CoMaster (ya sea por

adquisición/respuesta o por publicación), deben hacer un parsing de la trama recibida

interpretando la misma en protocolo de aplicación MARA-1 v4. La lectura se efectúa hasta el

largo efectivo (lo hace leyendo Qty) de la trama. El CoMaster elabora trama completa desde

30

Transmite y recibe en ambas direcciones, pero sólo ocurre una transmisión a la vez, es decir, no hay comunicación bidireccional simultáneamente. 31

Sistema de bus diferencial multipunto, es ideal para transmitir a altas velocidades sobre largas

distancias (10 Mbit/s hasta 12 metros y 100 kbit/s en 1200 metros) y a través de canales ruidosos, ya que el par trenzado reduce los ruidos que se inducen en la línea de transmisión.

Page 110: “Sistema de control aplicado - UNP

pág. 110

el SOF (Start of Frame) hasta los bytes que ofician de BCC (Block Check Character). Esta

trama se encapsula luego en TCP/IP y es enviado al Broker que posee una dirección IP

conocida y fijada en una tabla del CoMaster. Pueden existir varios CoMasters en una red

LAN/WAN manteniendo abierto un Server Socket de modo que el CC abre tantas conexiones

cliente persistentes, como CoMasters existan en la red. El CoMaster también es responsable

de establecer la conexión como cliente al Broker en caso de comunicación indirecta. En

ambas situaciones: funcionando tanto como Servidor y como Cliente para las distintas

modalidades de comunicación, pueden mantenerse en forma concurrente simplemente fijando

las modalidades en la tabla de configuración del CoMaster. El tratamiento sobre el lado

TCP/IP desde el punto de vista de la fragmentación de paquetes, queda librado al

funcionamiento que establece el fabricante para el Stack TCP del hardware compatible con

Arduino, sin mayores previsiones que las que se establecen por defecto.

Sobre el lado de la red local multipunto, especialmente en la red serie RS-485, la situación no

es la misma, pues allí es crucial el envío “atómico” del paquete. Esto adquiere mayor

relevancia con la necesidad de que cada paquete tenga un tiempo de envío lo suficientemente

constante y predecible en la emisión de la PeH (Puesta en Hora) en Broadcast. Para cumplir

esta funcionalidad, el CoMaster periódicamente (típicamente entre 10 y 20 segundos) emite

un paquete de PeH. Ese paquete es emitido en broadcast y para asegurar el éxito de llegada a

todos los IEDs de la subred, el canal RS-485 debe silenciarse. Para ello, el Concentrador

asume un tiempo de silenciamiento del canal que en las pruebas se lo fijó en 500 ms. Ahora

bien, al suspender con este mecanismo las consultas a la red multipunto, se debe garantizar

que la eventual consulta que estuviere en tránsito, se resuelva en un tiempo menor a 500 ms.

El tiempo máximo aproximado se obtiene como las suma de los tiempos de transmisión de

los bytes de la consulta y su respuesta respectiva en el caso peor. Por ejemplo en 9600 bps,

para un total de 250 bytes como peor condición, el periodo de silenciamiento debiera ser de

alrededor de 250 ms. Como puede observarse, existe una relación de compromiso para el

tiempo asignado a la PeH, que le quita eficiencia al canal por encima de la ya comprometida

situación que se tiene con un canal Half-Duplex y de baja velocidad. Se debe entonces tener

en cuenta la velocidad, la frecuencia con que se emite la PeH y el largo máximo de los

paquetes esperables en la red, sumando la consulta y su respectiva respuesta para evaluar la

eficiencia. Emitida la PeH, luego del periodo de silenciamiento, el CoMaster reanuda la

consulta en round-robin de los IEDs, hasta una nueva PeH y así sucesivamente.

4.1 Funcionalidades del Software

El código fuente del CoMaster es un programa con una etapa preliminar de inicialización de

variables y dispositivos, con un bucle principal infinito, característica de los sistemas

dedicados. Para las comunicaciones sobre Ethernet se utiliza la pila TCP/IP la cual es libre y

de código abierto, desarrollada por los fabricantes que dan compatibilidad a Arduino. Esta

pila brinda una API de alto nivel que cubre las funciones básicas de comunicación, como la

creación y uso de sockets.

Page 111: “Sistema de control aplicado - UNP

pág. 111

Para las comunicaciones sobre la red RS-485 se utiliza el protocolo MARA-1 v4. Este

protocolo posee un variado set de funciones o comandos para funciones genéricas de

comunicación y a su vez permite crear libremente otros específicos.

Como el CoMaster tiene que cumplir con varias funciones y para cumplirlas debe atender a

varias tareas, por lo general independientes entre sí, es que se requirió de una estructura

adecuada para el software y se optó por utilizar una técnica de programación denominada de

multitareas colaborativas. Por lo tanto, la estructura de software del CoMaster es en

esencia, la de un programa en C, con un único hilo de ejecución, que invoca secuencialmente

las diferentes tareas (colaborativas) en un ciclo infinito. Las tareas colaboran con un fin

común resolviendo su trabajo en un tiempo apropiado (no demasiado extenso). De esta forma

se asegura que todas las tareas tendrán oportunidad de ejecutarse y que no habrá situaciones

de bloqueo.

4.2 Componentes Hardware

Para nuestro caso de simulación hemos hecho uso de una placa WEMOS D1, la cual contiene

una placa Wifi que nos brinda una mayor facilidad de comunicación con el resto de los

elementos del sistema. La misma está gobernada por un ESP8266 que se encarga de las tareas

de procesamiento y del control de Wifi.

Las características principales de esta placa son:

● 11 entradas / salidas digitales.

● 1 entrada analógica.

● Conector micro USB.

● Distribución de pines tipo Arduino UNO.

Una de las ventajas de esta placa es que se programa utilizando el IDE de Arduino en

lenguaje C y C++. Por lo tanto, podemos aprovechar el código realizado para Arduino y

llevarlo a esta tarjeta de manera muy sencilla. De hecho, un buen número de librerías

diseñadas para tarjetas Arduino basadas en AVR ya han sido actualizadas para soportar

tarjetas basadas en el ESP8266 como la WEMOS D1.

5 Manejo de datos

Habiendo definido las distintas variables y métodos de relevamiento, procederemos a ampliar

la forma de comunicación de los datos, desde que son recolectados por las placas, hasta su

llegada a los correspondientes destinos. En concreto, hablaremos del protocolo MQTT, el

cual es el elegido de entre los protocolos mencionados en capítulos anteriores de este trabajo,

del broker utilizado y del manejo y visualización de los datos.

Se pueden contemplar otras formas de comunicación, como HTTP, pero no son tan rápidos,

ni ligeros como MQTT. Dado que el consumo energético es un factor importante en nuestro

proyecto y que las condiciones del lugar geográfico en donde se encuentran son

Page 112: “Sistema de control aplicado - UNP

pág. 112

desfavorables, en relación a ancho de banda, hacen que MQTT sea uno de los que mejor se

adapte a estas situaciones.

Como se mencionó, MQTT es un protocolo de comunicaciones dispositivo-a-dispositivo. Su

objetivo es ofrecer una plataforma de comunicación ligera basada en publicación/suscripción.

Esto permite que dispositivos de muy poca potencia o con ancho de banda mínimo puedan

comunicarse de manera rápida y ligera. Para el funcionamiento del sistema, es necesario la

existencia de un broker. Los mensajes publicados a través de MQTT están compuestos por

dos partes principales: Tópico (o Tema) y Mensaje.

El broker es el software encargado de hacer llegar a los clientes los mensajes de los tópicos a

los que se han suscrito. Una vez establecida la conexión con el broker, es posible publicar o

suscribirse a los distintos tópicos disponibles. Por ello, para poder recibir las publicaciones

deseadas, se ha de conocer el Tema con el que van a marcarse los mensajes asociados.

Para el diseño de nuestro sistema hemos establecidos los siguientes Tópicos, basados en el

conjunto de variables descritas:

Referencias:

● C[0-9]+: Comuna identificada por Id.

● Ag[0-9]+: Aerogenerador identificado por Id dentro de una comuna.

● Ps[0-9]+: Panel solar identificado por Id dentro de una comuna.

● C: Variables de índole climático.

● P: Variables de índole energético.

● Ef: Evento de freno eléctrico del aerogenerador.

● Ei: Evento de inclinación del panel.

● T: Variable de temperatura.

● Vm: Variable de velocidad del viento.

● Dv: Variable de dirección del viento.

● Vbb: Variable de tensión del banco de baterías.

● Pg: Variable de potencia generada.

● Ac: Variable de corriente consumida.

● Rs: Variable de radiación solar.

Page 113: “Sistema de control aplicado - UNP

pág. 113

Este esquema posibilita poder seguir incorporando nuevos equipos de generación, como

también la posibilidad de seguir agregando diferentes tipos de sensores y actuadores. Además

brinda la posibilidad de aplicar diversos filtros que permitan que los suscriptores, por

ejemplo, solo reciban datos de determinados sensores.

Como se estipulo en secciones anteriores, la plataforma web será la que reciba la información

publicada por las placas, para ello es necesario que la misma se suscriba a todos los tópicos,

es decir, que debe suscribirse al nodo raíz del árbol de tópicos. A su vez la aplicación web

hace uso de un esquema de tópicos más reducido, en el cual se agrupan varios de los temas,

en tópicos más abarcativos. A continuación se presenta una descripción de los tópicos

utilizados por la aplicación:

● /aerogenerador/clima: Este tópico es el establecido para el envío de los datos

relevados por los sensores instalados en la torre del aerogenerador de baja potencia,

referentes al clima (velocidad de viento, presión atmosférica, etc.).

● /aerogenerador/energia: Este tópico corresponde a los datos relacionados a la

energía (potencia) producida por el aerogenerador, y al estado de carga del banco de

baterías (tensión) y de la corriente consumida por la comuna.

● /fotovoltaica/clima: Correspondiente a aquellos datos de índole climático, relevados

por los sensores en el panel fotovoltaico y solar (radiación solar, inclinación y

temperatura).

● /fotovoltaica/energia: Este tema es análogo al tópico del “aerogenerador/energia”

pero referente a la energía producida y consumida por los paneles.

Si bien se pueden implementar filtros más específicos, como se comentó anteriormente, se

considera que para un sistema dedicado a la monitorización de aldeas rurales, no tiene mayor

relevancia establecer un abanico más amplio de filtros. Aunque esto no implica que no se

puedan establecer en futuras versiones de esta plataforma.

A continuación presentamos la tabla de variables utilizadas en la simulación, descriptas en el

capítulo anterior, con sus respectivos tópicos asociados:

Page 114: “Sistema de control aplicado - UNP

pág. 114

# Variable Tipo Excursión Unidad Alarma Tópico TAG Dir

1 Sensor de velocidad media de viento AI 0 - 100 m/s No Ci/Agi/C/Vm /aerogenerador/clima 14

2 Actuador de conexión de resistencias de

embalamiento DO 0-1 - Si Ci/Agi/Ef /aerogenerador/clima 2

3 Sensor de dirección del viento AI 0 - 360 ° No Ci/Agi/C/Dv /aerogenerador/clima 15

4 Sensor de temperatura (Torre del

aerogenerador) AI -20 - +60 °C No Ci/Agi/C/T /aerogenerador/clima 16

5 Sensor de tensión del banco de baterías del

aerogenerador AI 0 - +60 V Si Ci/Agi/P/Vbb /aerogenerador/energia 17

6 Sensor de potencia generada (Aerogenerador) AI 0 - 1000 W No Ci/Agi/P/Pg /aerogenerador/energia

7 Sensor de corriente consumida

(Aerogenerador) AI 0 - 100 A No Ci/Agi/P/Ac /aerogenerador/energia 18

8 Sensor de radiación solar (Panel fotovoltaico) AI 0 - 324 Kw/m² No Ci/Psi/C/Rs /fotovoltaica/clima 19

9 Actuador de inclinación del panel fotovoltaico DO 0-1-2-3 - SI Ci/Psi/Ei /fotovoltaica/clima 3

10 Sensor de temperatura (Panel fotovoltaico) AI -20 - +60 °C No Ci/Psi/C/T /fotovoltaica/clima 20

11 Sensor de tensión del banco de baterías del

panel fotovoltaico AI 0 - +60 V Si Ci/Psi/P/Vbb /fotovoltaica/energia 21

12 Sensor de potencia generada (Panel

fotovoltaico) AI 0 - +260 W No Ci/Psi/P/Pg /fotovoltaica/energia 22

13 Sensor de corriente consumida (Panel

fotovoltaico) AI 0 - +100 A No Ci/Psi/P/Ac /fotovoltaica/energia 23

Page 115: “Sistema de control aplicado - UNP

pág. 115

5.1 Broker

Como se mencionó antes, el broker es el encargado de redirigir las diferentes publicaciones a

sus correspondientes suscriptores, en nuestro caso a una aplicación web. La forma de

conexión a un broker consiste simplemente en conocer en qué dirección y puerto está

escuchando y solicitar una conexión para empezar a publicar en un tópico y/o suscribirse a él;

considerando que no requiera de autenticación de usuarios, de lo contrario se deberán

proporcionar las credenciales correspondientes. Para este trabajo se experimentó con dos

tipos de broker:

● Mosca: Este broker de código libre escrito en JavaScript, basado en NodeJS, permite

la creación de un broker como servidor unitario (standalone) o como parte de una

aplicación más grande. Este broker ofrece una gran comodidad para visualización de

mensajes aunque es recomendable añadir una herramienta llamada ‘bunyan’ para

observar los mensajes de depuración; este módulo, en unión con mosca, permite

observar toda la información de paso de mensajes con un código de colores asociado

para facilitar su lectura. Mosca puede ser protegido con usuario y contraseña, también

es posible cambiar los puertos de escucha y no tiene soporte para MQTT QOS 2.

● Mosquitto: Este broker es una aplicación de código libre desarrollada por el proyecto

Eclipse, está escrito en C y puede compilarse para ejecutarse en dispositivos muy

pequeños. Su instalación en linux es muy simple dado que el propio gestor de

paquetes lo tiene incorporado sin embargo, para poder utilizarlo en nuestro sistema, se

requirió instalar un complemento adicional que contiene las librerías de desarrollo

incorporadas en el módulo de ‘libmosquitto-dev’. A diferencia del anterior, Mosquitto

si posee soporte para MQTT QOS 2.

Luego de varias pruebas se optó por utilizar Mosquitto, dado que ofrece mayores

características y capacidades que Mosca32

. Además el hecho de que no sea necesario

incorporar la funcionalidad del broker en nuestra aplicación web, facilitó la elección del

mismo. Como punto adicional, cabe destacar que la instalación y configuración de Mosca

como servicio MQTT requiere de una mayor cantidad de procedimientos y librerías que

Mosquitto.

El broker es una de las piezas principales del sistema ya que sin MQTT no tendríamos una

forma eficiente de comunicación. Se constata a su vez la sencillez con la que se puede

instalar el sistema y tenerlo funcionando de forma instantánea. El broker utilizado escucha

por el puerto por defecto, el 1883 y no está configurado para el manejo de autenticación de

usuarios. Sin embargo es posible implementarlo, como mejora para una versión futura, dado

que Mosquitto posee soporte para su manejo. En caso de querer hacer uso de su

implementación solo basta con incorporar la opción de allow_anonymous en false dentro de

nuestro archivo de configuración de Mosquitto y crear un usuario y contraseña para cada

cliente o grupo de clientes. Una vez hecho esto, tanto los publicadores como los suscriptores

32

https://github.com/mqtt/mqtt.github.io/wiki/server-support

Page 116: “Sistema de control aplicado - UNP

pág. 116

deberán presentar las credenciales correspondientes para establecer la conexión con el broker,

brindando una capa más de seguridad.

5.2 Plataforma Web

Como último punto a tratar, procederemos a describir la aplicación encargada de la

visualización del contenido relevado por los sensores a través de una interfaz web. La

aplicación web será el suscriptor de nuestro sistema, es decir, será la que se suscriba a todos

los Tópicos establecidos. En pocas palabras la aplicación se suscribirá al broker para poder

recibir los datos publicados por las placas.

La aplicación web está programada en NodeJS, utilizando el framework Express, para la

parte del back-end. Para la conexión con el broker se utilizó la librería desarrollada en

JavaScript MQTT.js33

, la cual proporciona el módulo cliente para el protocolo MQTT.

Mediante ella se creó un módulo especial, que permite conectar, suscribir y recibir los

mensajes del broker.

Para lograr una interacción más dinámica y fluida con el cliente, se utilizó la tecnología de

WebSockets. Los WebSockets proporcionan un canal de comunicación bidireccional y full-

duplex, es decir, son capaces de mantener una comunicación bidireccional, enviando y

recibiendo mensajes de forma simultánea sobre un único socket TCP. Esto nos posibilita

establecer una conexión continua entre el cliente y el servidor. La API de WebSocket está

disponible para JavaScript cuyo alcance DOM sea un objeto Window o cualquier objeto

implementando WorkerUtils. Las comunicaciones se realizan a través de los mismos puertos

que utiliza HTTP con el fin de ofrecer compatibilidad con el software HTTP del lado del

servidor ya existente. El protocolo se divide en dos partes: la negociación y la transferencia

de datos. Como este coexiste con HTTP, la primera comunicación debe realizarse

necesariamente a través de una petición HTTP. Por ello, la negociación de apertura comienza

con una petición upgrade por parte del cliente y, si no ocurre ningún error, el servidor

responde con un estado 101 (switching protocols). Una vez que el cliente y el servidor han

cumplido con su parte de la negociación, y únicamente si no ha ocurrido ningún error,

comienza la transferencia de información. A partir de ese momento cada parte puede enviar

información sin depender de la otra, lo cual es imposible de hacer con HTTP, AJAX, las

tecnologías push en general o técnicas más específicas como long polling. En la siguiente

figura, podemos apreciar el proceso de intercambio de mensajes.

33

https://www.npmjs.com/package/mqtt

Page 117: “Sistema de control aplicado - UNP

pág. 117

De esta forma cuando un cliente solicita visualizar la información, se establece un canal de

comunicación persistente entre el cliente (en este caso el browser) y el servidor (nuestra

aplicación), de tal forma que cuando el servidor recibe información actualizada por parte del

broker, éste puede comunicar por el canal los cambios y, sin necesidad de tener que recargar

nuevamente la página (front-end de nuestra aplicación), el cliente puede mostrar de manera

inmediata la actualización.

Por otro lado, al estar basado en HTTP, es posible implementar una capa de seguridad

(utilizando HTTPS) sin utilizar puertos extraños (aunque es posible, pero se puede utilizar el

mismo puerto 80) y sin necesidad de enviar demasiada información adicional ya que la

negociación y petición se hace sólo una vez al principio o cuando ocurra una desconexión y

reconexión, que puede ser cada varios minutos, en caso de producirse. Esto se podría

implementar como una mejora en futuras versiones.

5.3 Persistencia de los datos

Ya habiendo explicado el funcionamiento del sistema, en este apartado nos centraremos en la

descripción del mecanismo de almacenamiento de datos. El objetivo es disponer de un

conjunto de datos históricos que se puedan utilizar para diferentes estudios de índole

meteorológicos y energéticos por diferentes tipos de profesionales.

Page 118: “Sistema de control aplicado - UNP

pág. 118

Antes de establecer el tipo de base de datos a utilizar, se definió el lugar dentro del sistema en

donde se alojan los datos. El almacenamiento podría haber sido en una de las tres partes

principales que lo componen:

1. En la primera parte del sistema no es conveniente, ya que no tendría sentido que las

placas almacenen los datos crudos sin ser tratados. Además el consumo de la placa

aumentaría sustancialmente, haciendo que el sistema consumiese más de lo debido.

La razón principal para no utilizarlo en esta instancia, fue por el hecho de que esta

parte del sistema es la que se replica para poder monitorizar cuantos dispositivos

queramos.

2. La parte del sistema que contiene el broker es una buena opción para ser el encargado

del almacenamiento de los datos. El broker tiene la capacidad de persistencia a

múltiples bases de datos, el problema de esta alternativa se encontraba en la limpieza

de los datos, es decir, el broker recibe más mensajes de los que se desea resguardar,

desde los keepalive hasta los mensajes de envío. Éstos aumentan en gran cantidad el

número de mensajes almacenados, dificultando futuras búsquedas en caso de

presentarse problemas. Además se limitaría el sistema al almacenamiento de datos

crudos, dejando de lado datos calculados que puedan surgir a partir de los primeros.

3. Por último, la aplicación para el muestreo de datos fue la opción con las mejores

prestaciones para el resguardo de los datos recopilados por los sensores, dado que

permite disponer de datos estructurados, disponibilidad para el uso de múltiples y

diferentes tipos de bases de datos y no genera aumentos en el consumo del sistema.

Además es el principal punto de convergencia de los diferentes datos relevados a

mostrar al usuario.

Una vez definido que la aplicación para el muestreo de datos iba a ser la encargada del

almacenamiento en la base de datos, se estudió y evaluó diferentes tipos de bases de datos

con el fin de determinar la que mejor se adapte a las necesidades del sistema. Dado que el

software hace uso, en gran parte, del formato JSON para el manejo de datos, se optó por

MongoDB ya que es la que mejor se adapta a este tipo de formato.

MongoDB es una base de datos documental, esto significa que todas las entradas se

almacenan en documentos, en este caso en formato JSON. Además es una base de datos

basada en colecciones, cada una de ellas almacena datos que normalmente tienen una relación

entre ellos como las tablas de una base de datos relacional.

Otra de las características importantes que ofrece MongoDB es la de no necesitar un esquema

previo. Esto permite poder introducir en una misma colección, datos que aun estando

relacionados tengan diferentes campos entre ellos.

Para nuestro sistema, ofrece la posibilidad de modificar el formato de datos recibidos sin

necesidad de preocuparnos por alterar la base de datos.

En nuestro sistema hemos utilizado diferentes colecciones, primeramente se estableció el

esquema de datos de las comunas, en la cual se registran algunos datos básicos como:

Page 119: “Sistema de control aplicado - UNP

pág. 119

nombre, localidad, departamento, cantidad de pobladores, responsable a cargo, etc., y los

datos de georeferenciamiento, latitud y longitud respectivamente, los cuales nos permitirán

poder georreferenciar a las comunas en un mapa web. Luego se procedió con la definición del

esquema de los equipos generadores, en donde se registra, el tipo de equipo (aerogenerador o

panel fotovoltaico), la comuna a la que pertenece y un arreglo de características técnicas de

dicho equipo (potencia nominal, dimensiones, fabricante, modelo, etc.). De esta forma es

posible seguir incorporando nuevas características a los equipos (en caso de ser necesario),

con un mínimo de modificaciones.

Finalmente para el resguardo de los datos recibidos por el broker se estableció una colección

en la cual se almacenan las diferentes variables, en la cual se resguarda: el valor tomado, la

unidad del valor, el tópico del cual fue publicado, la marca de tiempo en el que fue relevado

por las placas, el equipo generador del cual fue tomado, el tipo de variable (temperatura,

velocidad, radiación, tensión, etc.) y la etiqueta o TAG al que pertenece dentro de la

plataforma (tópico interno de la aplicación web).

Page 120: “Sistema de control aplicado - UNP

pág. 120

CAPÍTULO 8:

VISUALIZACIÓN DE DATOS

1 Introducción

En este capítulo se explica la visualización de los datos obtenidos de las placas (WEMOS

D1) que se reciben a través del broker. También se explican las diferentes formas estudiadas

para el muestreo de los datos y las diferentes posturas utilizadas para la elección utilizada.

2 Herramientas aplicables y sus características

Con el fin de mostrar los datos debemos saber exactamente los requisitos necesarios para que

la interfaz funcione correctamente. Dichos requisitos que necesitamos que cumpla la interfaz

son los siguientes:

● En principio es una interfaz que permita de manera cómoda la recepción de los datos

en tiempo real. Los datos que recibiría serían los recogidos por las placas WEMOS

D1. Toda página web puede ser codificada para que reciba datos en tiempo real pero

requiere un desarrollo específico adaptado a la aplicación.

● Otro de los requisitos, es que proporcione una visualización rápida y fácil de

interpretar por parte de los usuarios. Esto es de suma importancia, ya que afectaría el

tiempo de respuesta por parte de los usuarios, en caso de ocurrencia de algún evento o

valores anómalos.

● Otros de los requisitos en nuestra aplicación es la seguridad. Es conveniente proteger

el acceso a la aplicación a través de la creación de un usuario y contraseña y, a su vez,

mediante perfiles de usuarios; en nuestro caso, se identifican dos perfiles:

administrador, que es quien puede dar de alta equipos generadores y editar sus datos,

y perfil usuario que sólo puede suscribirse a los distintos tópicos y ver la información

relacionada. Es por ello que la plataforma provee mecanismos de registro y

autenticación.

Con los requisitos bien especificados, se realizó una búsqueda de aplicaciones o elementos ya

desarrollados que los satisfagan. Se encontraron aplicaciones que permiten armar de manera

rápida paneles de visualización destinados a IoT, como por ejemplo Emoncms34

, Graphene35

y Freeboard36

. Estas aplicaciones presentan diferentes capacidades y están desarrolladas en

distintas tecnologías. Ahora procederemos a hacer una mención de estas herramientas y de su

proceso de selección.

34

https://emoncms.org 35

http://jondot.github.io/graphene/ 36

https://freeboard.io/

Page 121: “Sistema de control aplicado - UNP

pág. 121

A partir de ahora nos referiremos a la aplicación de muestreo de datos como Dashboard

(Panel de instrumentos). Los diferentes dashboards que nos encontramos en Internet

presentan una serie de capacidades comunes, como la visualización de datos en tiempo real.

2.1 Graphene

Este Dashboard desarrollado por jondot37

está codificado en Ruby. La plataforma tiene

potencial ya que Ruby permite una gran variedad de mejoras en todos los campos web. El

mayor problema que presenta es la necesidad de tener un gran conocimiento de Ruby,

sumado a la falta de tiempo, de soporte, y que no existe una comunidad detrás de este

proyecto. Finalmente, luego de realizar pruebas con esta tecnología, se optó por descartar esta

opción.

2.2 Emoncms

Este dashboard pertenece a Emon, una empresa que tiene por objetivo crear una plataforma

propietaria que permita monitorizar toda la información de los sensores que uno puede

colocar en una casa. La empresa proporciona todo lo necesario para la creación del sistema,

ya sea Hardware o Software. Toda la información que los diferentes elementos generan son

redirigidos a Emoncms Dashboard.

Este dashboard nos permite la creación de diferentes formas de representación de datos.

Posee una muy buena reputación de representación de datos relacionados con consumo

energético. Permite la creación de plugins personalizados, para ello utilizamos PahoMQTT

que es una librería que ofrece un cliente MQTT a través de WebSockets. Éste conectado a

Emoncms, permite la suscripción del dashboard a los Temas deseados.

Con este dashboard se realizaron algunas pruebas para comprobar su adaptabilidad en nuestro

sistema, sin embargo no alcanzó nuestros estándares; si bien el sistema es funcional, generaba

una serie de problemas como pérdida de algunos datos en tiempo real.

Otro de los grandes problemas que vimos fue que la comunidad que daba soporte a este

dashboard estaba completamente centrada en los dispositivos de Emon y esto generaba una

gran dificultad a la hora de solucionar problemas de compatibilidad con sistemas externos,

como lo es la WEMOS D1.

Además este sistema presenta vulnerabilidades de seguridad, dado que no ofrece ninguna

forma de protección del dashboard en sí ni de los flujos de datos entrantes.

2.3 Freeboard

Este dashboard desarrollado en JavaScript ofrece una plataforma de muestreo de datos en

código libre y a su vez permite acceder a través de su página web para que sea accesible a

través de Internet. Este dashboard acepta la creación de nuevos plugins con los que permite

37

https://github.com/jondot

Page 122: “Sistema de control aplicado - UNP

pág. 122

mejorar la forma de muestreo de datos o la forma de recibirlos. Lo único que no ofrece es la

creación de usuarios y la protección del dashboard completo.

Además de poder acceder a esta plataforma por medio de su página web, también es posible

clonar dicho proyecto para poder hacer pruebas locales. Durante la realización de las pruebas

comprobamos un gran retardo entre el envío de los datos desde el broker y su recepción en

Freeborad.

Otro problema que presenta es que cualquier persona con acceso al dashboard puede acceder

al panel de configuración, y como consecuencia podrían borrarse las entradas y sería

necesario volver a configurarlas.

2.4 Tecnología elegida para el muestreo de datos

Si bien los dashboard descritos, proporcionan una forma rápida y sencilla de disponer de un

panel de muestreo de datos, éstos resultan insuficientes para los objetivos de este trabajo, ya

que sólo nos permitían la visualización en tiempo real, dejando de lado el resguardo de datos

y consultas de históricos. Es por ello que se decidió desarrollar nuestro propio dashboard, en

dónde no sólo permita la visualización de datos en tiempo real sino también que incorpore el

resto de las funcionalidades mencionadas. Otro aspecto importante que consideramos, es la

posibilidad de registrar los datos técnicos de los equipos de generación, de forma que se

puedan contrastar los valores registrados por las placas con las especificaciones de dichos

equipos.

Para la elaboración de nuestro dashboard, principalmente para el diseño de los medidores

(Gauges), hemos hecho uso de la librería Highcharts38

escrita en JavaScript. Ésta presenta un

enorme abanico de diferentes tipos de gauges y gráficos que podemos utilizar.

Para cada gauge utilizado se creó un archivo JavaScript que contiene una colección de

elementos de configuración que son los que nos permiten definirlo. Esto abarca desde el

tamaño, color, valores de inicialización, rangos de valores soportados, etc. De esta forma

cuando se renderiza la vista del dashboard, se pasan aquellos gauges a utilizar. Cabe destacar

que dependiendo el tipo de dispositivo a visualizar, los gauges utilizados varían,

especialmente en la sección de datos climáticos.

El dashboard implementado consta de cuatro pestañas: la primera se corresponde con las

características técnicas del dispositivo de generación a visualizar y del banco de baterías

instalado, también incluye información de los sensores instalados y de sus unidades de

medidas. En la siguiente imagen podemos apreciar los datos correspondientes a un

aerogenerador de 1000 W:

38

https://www.highcharts.com/

Page 123: “Sistema de control aplicado - UNP

pág. 123

El objetivo es poder contar con los datos técnicos del equipo, para poseer un punto de

referencia a la hora de visualizar los datos, como también conocer el tipo de generador que se

encuentra instalado.

La segunda es la vista de tiempo real, donde se pueden visualizar los distintos gauges,

agrupados de acuerdo a la clasificación planteada anteriormente a lo largo de este trabajo

(datos climáticos y energéticos). Aquí se pueden observar los últimos datos relevados por las

placas, es decir se ven en tiempo real los valores tomados. También es en esta pestaña donde

se realiza la conexión por WebSocket, de modo que se puedan transmitir los nuevos valores,

en caso de que estos cambien. En la siguiente captura podemos observar los gauges

correspondientes a los sensores climáticos, instalados en aerogeneradores.

Page 124: “Sistema de control aplicado - UNP

pág. 124

Para el caso de los paneles fotovoltaicos, se presentan los siguientes gauges:

Como se mencionó anteriormente, la inclinación que presenta el panel es un aspecto

importante a la hora de evaluar su rendimiento, ya que no es lo mismo un panel ajustado

siempre en la misma posición durante todo el año, que uno que se ajusta con los cambios de

estación; por esa razón junto al gauge de radiación se dispone de un indicador de inclinación

El mismo se ajusta cada vez que los servomotores ajustan el ángulo del panel, los cuales lo

hacen cuatro veces por año, una por cada cambio de estación.

La otra mitad de esta pestaña presenta los gauges correspondientes a los sensores para

medición de energía. Dado que no se presentan cambios significativos, tanto para los

aerogeneradores como para los paneles fotovoltaicos, se muestran los mismos medidores.

Page 125: “Sistema de control aplicado - UNP

pág. 125

Aquí no solo podemos visualizar el consumo y la energía generada, sino que también

podemos ver el estado de carga del banco de baterías. Como este depende de las

características propias de las baterías, cantidad y tipo de conexión, la cantidad de energía que

pueden almacenar es variante. Por dicho motivo es que el gauge ubicado en la sección

inferior izquierda, se ajusta de acuerdo a las características mencionadas, mostrando el estado

de carga en valores porcentuales.

En la tercer pestaña se pueden realizar consultas de datos en un rango de tiempo, a su vez, se

puede visualizar el comportamiento de las variables en gráficos cartesianos que facilitan su

interpretación; el objetivo es que éstos datos puedan ser utilizados para estudios de

comportamiento climático y de rendimiento de los diferentes equipos instalados. En la

siguiente imagen se puede observar la vista del panel de históricos proporcionado para un

aerogenerador.

Se deben seleccionar las variables deseadas y establecer el rango de tiempo a consultar. Al

oprimir el botón “Mostrar” se obtendrán gráficos parecidos a los siguientes:

Grafica de Rosa de vientos.

Page 126: “Sistema de control aplicado - UNP

pág. 126

Gráfico de Línea para muestreo de potencia y registro de eventos.

Dependiendo del tipo de variable a consultar, se generarán distintos tipos de gráficos que

permitan visualizar los datos de la manera más representativa.

Finalmente la cuarta pestaña proporciona un medio para obtener las credenciales y datos

necesarios para el uso de otros dashboards o plataformas de muestreo de datos. Este tema se

profundizará en detalle en la siguiente sección de este capítulo.

Se debe tener en cuenta que el panel descrito y las características mencionadas se

corresponden a un equipo de generación. Para cada equipo se carga un panel diferente que se

adapta a las características del mismo. Por ejemplo la diferencia mostrada entre los gauges de

variables climáticas entre paneles fotovoltaicos y aerogeneradores, cada equipo presenta sus

propias características y el dashboard responde a dichas características. Otro aspecto

importante que se debe considerar son los actuadores, los aerogeneradores y los paneles

fotovoltaicos presentan diferentes actuadores. En el caso de los paneles, se cuentan con

servomotores que ajustan su ángulo de inclinación para mejorar al máximo el

aprovechamiento de radiación solar con los cambios de estación. Estos cambios son

visualizados mediante el gauge de inclinación mostrado en párrafos anteriores. En cambio los

aerogeneradores cuentan con un mecanismo de freno de emergencia que se activa al registrar

velocidades de viento excesivas. Con el objetivo de proteger dicho equipo, el freno se activa

automáticamente cuando los sensores registran estos tipos de valores. Este tipo de evento

presenta un grado de importancia elevado, ya que mientras el freno este activado no se estará

generando energía para alimentar las baterías, provocando que con el tiempo se interrumpa el

Page 127: “Sistema de control aplicado - UNP

pág. 127

suministro de energía. Este tipo de evento se puede apreciar tal como se muestra en la

siguiente captura:

Como se puede apreciar el gauge de potencia generada se desactiva y se prende un indicador

de color naranja en la parte superior del panel.

Dado que una comuna puede tener uno o más equipos de generación, se implementó un mapa

web que permite visualizar cada establecimiento registrado, los cuales se encuentran

georeferenciados. En la siguiente imagen podemos apreciar dicho mapa:

Page 128: “Sistema de control aplicado - UNP

pág. 128

Al posicionarse sobre uno de estos puntos se desplegará una ventana modal, la cual

proporciona los datos del establecimiento, los equipos que tiene instalados actualmente y un

pequeño registro de últimos eventos ocurridos.

Es aquí donde se puede optar por el dispositivo de generación que se quiere observar. Luego,

dependiendo de los tópicos (propios de la plataforma) a los que esté suscripto el usuario,

podrá visualizar los datos correspondientes.

Un aspecto a resaltar es que ante la ocurrencia de algunos de los eventos mencionados, el

indicador de la comuna cambiara de color, dependiendo del tipo de evento ocurrido. Por

ejemplo en caso de activarse el freno del aerogenerador, el indicador de la comuna cambiara

a color naranja, indicando que ha ocurrido un tipo de evento de importancia elevada.

Page 129: “Sistema de control aplicado - UNP

pág. 129

Mapa Web - Evento de freno activado.

Ventana modal del Mapa Web - Evento de freno activado.

Page 130: “Sistema de control aplicado - UNP

pág. 130

En el caso de los paneles, dado que el evento de ajuste no representa un tipo de evento crítico,

el indicador de la comuna cambia a un color amarillo.

Mapa Web - Evento de ajuste del panel fotovoltaico.

Ventana modal del Mapa Web - Evento de ajuste del panel fotovoltaico.

Page 131: “Sistema de control aplicado - UNP

pág. 131

2.5 Distintos tipos de accesos y visualización de la información

Como se analizó en el apartado anterior, se establecieron ciertas premisas que nuestro

dashboard debía satisfacer para nuestro sistema de control, durante su estudio se evaluaron

diferentes soluciones existentes en el mercado, estableciendo ventajas y desventajas de las

mismas. Dicho análisis, concluyó con la necesidad de desarrollar un dashboard propio que

satisfaga dicho requerimientos. Sin embargo esto no implica que los paneles de control vistos

u otros disponibles no puedan ser utilizados. Para ello y tomando en cuenta las características

de nuestro sistema (colaborativo), es que este brinda la posibilidad de poder hacer usos de

dichos dashboard, de forma tal de disponer de otros tipos y formas de visualización.

La plataforma desarrollada lleva a cabo la re-publicación de los datos recolectados y

procesados, de modo que los usuarios dispongan de otras alternativas para la visualización de

la información. De esta forma, se ofrece la posibilidad de utilizar otros dashboards web o

utilizar otros disponibles en otras plataformas, como el caso de Android. El objetivo es poder

ampliar el rango de uso de los datos a través de diversas plataformas que permitan configurar

un panel de muestreo de datos, como también proporcionar alternativas que permitan

adaptarse a las necesidades de diversos usuarios. Es aquí donde se puede apreciar con mayor

énfasis su vinculación con IoT, donde con una mínima intervención de los usuarios es posible

generar o recolectar datos mediante diferentes sensores instalados, publicarlos o compartirlos

por medio de Internet y que estos puedan ser consumidos por diferentes usuarios a través de

múltiples plataformas.

En el momento en que se establecen los equipos de generación en la plataforma,

automáticamente se realiza la configuración para que los datos recibidos sean nuevamente

publicados. Cabe resaltar que éstos datos son los que recolectan las placas y procesa la

plataforma, de modo que los usuarios reciben los datos preparados para su visualización. Si

bien, por defecto todos los datos son publicados nuevamente, es posible cambiar esta opción

mediante el panel de administrador, en el cual se brinda un detalle de los mismos, en qué

tópico publican y si se desea que éstos sean publicados o no. Esto lo podemos apreciar en la

siguiente captura:

Page 132: “Sistema de control aplicado - UNP

pág. 132

Panel de características de un equipo aerogenerador (Vista solo para administradores).

Los tópicos utilizados para re-publicar los datos son diferentes a los usados internamente por

el sistema. Los mismos son establecidos de forma automática por la plataforma, basándose en

las comunas, los generadores y el tipo de dato que se esté trabajando. Dichos tópicos pueden

ser visualizados desde la plataforma, tanto desde el panel administrador (solo para usuarios

administradores), como también a través del dashboard desarrollado (todo tipo de usuarios).

A continuación podemos observar el esquema de tópicos que utiliza el sistema para la re-

publicación de datos:

Page 133: “Sistema de control aplicado - UNP

pág. 133

Referencias:

● C[0-9]+: Comuna identificada por Id.

● Ag[0-9]+: Aerogenerador identificado por Id dentro de una comuna.

● Ps[0-9]+: Panel solar identificado por Id dentro de una comuna.

● velocidad: Variable de velocidad del viento.

● direccionViento: Variable de dirección del viento.

● temperatura: Variable de temperatura.

● tensionBaterias: Variable de tensión del banco de baterías.

● energiaGenerada: Variable de potencia generada.

● consumo: Variable de potencia consumida (Watt).

De esta forma y conociendo los respectivos tópicos, cualquier usuario puede configurar un

dashboard y elegir el medio de visualización que más se adapte a sus necesidades e intereses.

Con el fin de experimentar con diferentes plataformas se probaron diferentes dashboards para

Android disponibles en el mercado. Algunos ejemplos que podemos encontrar en la tienda (o

Play Store) de Google:

● MQTTDash.

● IoT MQTT Dashboard.

● IoT MQTT Panel.

● MyMQTT.

● MQTT Snooper.

Estos se pueden descargar de manera gratuita e instalar en cualquier dispositivo Android

compatible (celulares, Tablet, etc.). Si bien no ahondaremos en detalles de cada uno, ya que

son relativamente sencillos de configurar y utilizar, si nos centraremos en las características

que estos presentan. Primeramente todos hacen uso del protocolo MQTT, lo que va a permitir

que se conecten a nuestro Broker y puedan recibir la información. Para ello, una vez instalado

el dashboard deseado, es necesario realizar las configuraciones de conexión las cuales

consisten en establecer la dirección del Broker, su puerto de escucha y si requiere

autenticación por usuario/contraseña. Como mencionamos en el capítulo anterior, en la

sección de “Manejo de Datos - Broker”, este trabajo no se centra en la parte de autenticación

por parte del Broker y de los clientes que se conectan, por lo que no es necesario establecer

los datos de autenticación al momento de realizar la conexión. Sin embargo, como ya se

mencionó es posible implementarlo, en dicho caso el sistema otorgaría al usuario las

Page 134: “Sistema de control aplicado - UNP

pág. 134

credenciales correspondientes para poder conectarse. En la siguiente captura podemos

visualizar el panel implementado para realizar la solicitud de los datos de conexión, como así

también ver los sensores habilitados para publicar y sus respectivos tópicos de publicación.

Pestaña de solicitud de credenciales - dashboard de un aerogenerador.

Habiendo establecido la conexión con el Broker, sólo resta suscribirse a los tópicos deseados,

proporcionados por la plataforma web, y elegir la forma de visualización deseada. Las

aplicaciones mencionadas permiten visualizar los datos, desde simples etiquetas de texto

hasta con gauges similares a los implementados en nuestra aplicación web. Las mismas

permiten incorporar tantos gauges como sean necesarios ya sean para distintas suscripciones

o para una misma suscripción. De esta forma los clientes pueden configurar su dashboard,

como mejor se ajuste a sus necesidades e intereses.

En la siguiente imagen podemos apreciar el dashboard “MQTTDash”, el cual fue instalado y

configurado en un dispositivo Android, para recibir los valores climáticos (temperatura,

velocidad y dirección de viento) y la tensión del banco de baterías de un aerogenerador, los

cuales fueron tratados previamente por nuestro sistema.

Page 135: “Sistema de control aplicado - UNP

pág. 135

CAPÍTULO 9:

CONCLUSIONES

1 Introducción

Como hemos dicho a lo largo de este trabajo, la problemática del abastecimiento y control

energético en las comunas rurales representa una serie de inconvenientes que afecta el

bienestar de los habitantes que habitan en esas condiciones. Dadas las distancias y dispersión

que éstas presentan, hacen difícil que se cuente con acceso al interconectado eléctrico para el

abastecimiento continuo de energía. Como se comentó a lo largo de esta tesina, estos

problemas son afrontados mediante las instalaciones de equipos generadores que utilizan

tanto energías renovables como alternativas, como el caso de los grupos electrógenos, pero el

mantenimiento de estos equipos sigue siendo dificultoso.

En este trabajo hemos hecho énfasis en los equipos generadores a partir de energías

renovables, puntualmente en aerogeneradores y paneles fotovoltaicos cuyo uso se mantiene

en auge.

La poca frecuencia en el mantenimiento de estos equipos conlleva a que la vida útil de los

mismos se reduzca considerablemente, afectando el bienestar de las personas que dependen

de ellos y conllevando, a su vez, grandes escollos económicos. La falta de sistemas que

permitan poder llevar un control regular de estos generadores provoca que las salidas por

mantenimientos sean erráticas o poco frecuentes, lo que provoca, en el peor de los casos, que

los establecimientos queden sin suministro eléctrico.

Esta problemática estableció la base para ahondar en el concepto de Internet de las Cosas

(IoT), es decir, que constituyó el ambiente propicio para la inclusión de las tecnologías

aplicables a los entornos IoT. A lo largo de esta tesina se ha logrado profundizar el tema de

IoT y de cómo puede contribuir a la problemática planteada. Durante su investigación se

evaluaron distintos protocolos y modelos de comunicación que permitieron establecer un

amplio abanico de formas posibles de llegar una solución. Dicho estudio dio como resultado

un sistema de control tipo SCADA, que no solo permite la monitorización de los equipos,

sino que también promueve los principios de IoT, donde la generación y compartición de

datos a través de internet es su principal premisa. Es decir, el sistema no solo provee un

medio para que aquellos encargados de mantener estos equipos puedan verificar el estado de

los generadores sino que también estos datos pueden ser estudiados por otros organismos

relacionados (tales como el Ministerio de Salud de la provincia de Chubut, el Ministerio de

Familia y Promoción Social de la provincia de Chubut, entre otros) o para diferentes usuarios

interesados.

Se ha de destacar que durante la etapa de investigación y desarrollo se estudiaron y

determinaron aquellos tipos de datos que resultan necesarios para la verificación y el control

de los equipos, los cuales culminaron en la clasificación que se ha venido planteando a lo

largo de este trabajo (datos de índole climático y energético). Dichos datos no solo aportan al

control y determinación del funcionamiento de los equipos sino que también aportan a

diferentes tipos estudios relacionados (por ejemplo, a partir de la información recabada sobre

el entorno climático se puede estudiar la implantación de un parque eólico en la zona donde

está establecida la comuna).

Page 136: “Sistema de control aplicado - UNP

pág. 136

2 Aportes

Si bien a lo largo de esta tesina se ha trabajado sobre un ambiente acotado, se ha llegado a la

conclusión de que el sistema resultante es una herramienta para poder llevar un mejor control

de los equipos de generación como así también aporta la posibilidad de poder contar con

diferentes y diversos datos que sostengan diferentes tipos de estudios relacionados al clima,

consumos energéticos, análisis de factibilidad de instalación de equipos similares, etc. De

esta forma se ofrece un medio que contribuye a la solución del problema planteado,

permitiendo llevar un mejor control y brindando la posibilidad de organizar salidas de

mantenimiento más precisas y eficientes para así prolongar la durabilidad y continuidad del

funcionamiento de los equipos.

En este punto, podemos afirmar que el objetivo principal de la tesina ha sido alcanzado, dado

que hemos logrado incursionar en profundidad en el concepto de IoT, como así también en

los diferentes protocolos, modelos de comunicaciones y elementos aplicables a ella. A su vez,

hemos logrado alcanzar el objetivo secundario planteado, el cual fue el desarrollo de un

sistema de control para comunas rurales aisladas, el cual a diferencia de los sistemas

SCADAs convencionales, este no se encuentra acotado a un entorno cerrado de control sino

que presenta características colaborativas que permite poder compartir la información a

través de Internet.

A su vez, hemos de resaltar que este sistema aporta a la multiplataforma ofreciendo la

posibilidad de utilizar diferentes tipos de dashboard para el muestreo de datos, es decir que no

limita a los usuarios a utilizar únicamente el panel desarrollado en este proyecto sino que

también es posible utilizar otros tipos de dashboard disponibles en otras plataformas (ej.

Android) y comunicarlos con el servidor implementado, ajustándose a las diferentes

necesidades de los potenciales usuarios.

3 Investigaciones futuras y mejoras sugeridas por la

presente tesina

Durante el desarrollo de la presente tesina han surgido ideas para futuras líneas de trabajo,

como así también de posibles mejoras a implementar:

Profundizar e implementar mecanismos de autenticación de usuarios por parte del

Broker, lo que lleva a disponer de un sistema con mejores prestaciones en lo referente

a la seguridad.

Implementar dashboard correspondiente a los paneles solares, como así también de

los gauges de los sensores excluidos del conjunto inicial de variables; de forma tal que

se disponga de un dashboard más completo y un set de datos más abarcativo.

Incluir conjunto de funcionalidades para el manejo de los actuadores de forma remota

(Solo para usuarios administradores).

Evaluar e investigar otras alternativas para el uso de WebSockets o de posibles

mejoras en relación a la seguridad en su uso; como por ejemplo, encriptar los

mensajes intercambiados entre el servidor y el front-end de la aplicación (HTTPS).

Page 137: “Sistema de control aplicado - UNP

pág. 137

Incursionar en estudios meteorológicos con el objetivo de poder incorporar al sistema

no sólo visualización de datos en tiempo real, sino que además, a partir de los datos

recolectados puedan realizarse análisis predictivos.

Page 138: “Sistema de control aplicado - UNP

pág. 138

BIBLIOGRAFÍA

1. “Radio-Frequency Identification.” Wikipedia, the Free Encyclopedia, 6 de septiembre

de 2015. https://en.wikipedia.org/wiki/Radio-frequency_identification.

2. “The “Only” Coke Machine on the Internet.” Carnegie Mellon University Computer

Science Department, n.d. Web. 6 de septiembre de 2015.

https://www.cs.cmu.edu/~coke/history_long.txt

3. Stafford-Fraser, Quentin. “The Trojan Room Coffee Pot.” N.p., mayo de 1995. Web. 6

de septiembre 2015. http://www.cl.cam.ac.uk/coffee/qsf/coffee.html

4. RFC 7452, “Architectural Considerations in Smart Object Networking” (marzo de

2015), https://tools.ietf.org/html/rfc7452

5. Cicciari, Matt. “What’s Missing from the Industrial Internet of Things Conversation?

Software.” Wired. http://www.wired.com/insights/2014/11/industrial-internet-of-

things-software/

6. “Internet of Things: Wearables.” Application Developers Alliance.

http://www.appdevelopersalliance.org/internet-of-things/wearables/.

7. Baguley, Richard, and Colin McDonald. “Appliance Science: The Internet of Toasters

(and Other Things).” CNET, 2 de marzo de 2015.

http://www.cnet.com/news/appliance-science-the-internet-of-toasters-and-other-

things/

8. “IEEE Smart Cities.” IEEE, 2015. Web. 6 de septiembre de 2015.

http://smartcities.ieee.org/

9. “Cisco Visual Networking Index: Forecast and Methodology, 2014-2019.” Cisco, 27

de mayo de 2015. http://www.cisco.com/c/en/us/solutions/collateral/service-

provider/ip-ngn-ip-next-generation-network/white_paper_c11-481360.pdf

10. “Overview of the Internet of Things.” ITU, 15 de junio de 2012.

http://www.itu.int/ITU-T/recommendations/rec.aspx?rec=Y.2060

11. “Internet of Things.” Oxford Dictionaries, n.d. Web. 6 de septiembre de 2015.

http://www.oxforddictionaries.com/us/definition/american_english/Internet-of-things

12. Tschofenig, H., et. al., Architectural Considerations in Smart Object Networking.

Tech. no. RFC 7452. Internet Architecture Board, marzo de 2015. Web.

https://www.rfc-editor.org/rfc/rfc7452.txt

13. Ver http://whatis.techtarget.com/definition/Internet-of-Things

Page 139: “Sistema de control aplicado - UNP

pág. 139

14. Tschofenig, H., et. al., Architectural Considerations in Smart Object Networking.

Tech. no. RFC 7452. Internet Architecture Board, marzo de 2015. Web.

https://www.rfc-editor.org/rfc/rfc7452.txt

15. Duffy Marsan, Carolyn. “IAB Releases Guidelines for Internet-of-Things

Developers.” IETF Journal 11.1 (2015): 6-8. Internet Engineering Task Force, julio de

2015. Web. https://www.internetsociety.org/sites/default/files/Journal_11.1.pdf

16. “Meet the Nest Thermostat | Nest.” Nest Labs. Web. 31 de agosto de 2015.

https://nest.com/thermostat/meet-nest-thermostat

17. “Samsung Privacy Policy--SmartTV Supplement.” Samsung Corp. Web. 29 de

septiembre de 2015. http://www.samsung.com/sg/info/privacy/smarttv.html

18. Duffy Marsan, Carolyn. “IAB Releases Guidelines for Internet-of-Things

Developers.” IETF Journal 11.1 (2015): 6-8. Internet Engineering Task Force, julio de

2015. Web. https://www.internetsociety.org/sites/default/files/Journal_11.1.pdf

19. “How It Works.” SmartThings, 2015. http://www.smartthings.com/how-it-works

20. Duffy Marsan, Carolyn. “IAB Releases Guidelines for Internet-of-Things

Developers.” IETF Journal 11.1 (2015): 6-8. Internet Engineering Task Force, julio de

2015. Web. https://www.internetsociety.org/sites/default/files/Journal_11.1.pdf

21. Wilton, Robin. CREDS 2014 - Position Paper: Four Ethical Issues in Online Trust.

Issue brief no. CREDS-PP-2.0. Internet Society, 2014.

https://www.internetsociety.org/wp-content/uploads/2017/08/Ethical20Data-

handling20-20v2.0.pdf

22. Rolling Plan for ICT Standardisation (Plan Progresivo de Normalización de las TIC),

2017, European Commission ( Comisión Europea). Ver https://ec.europa.eu/digital-

agenda/en/rolling-plan-ict-standardisation

23. Botterman, Maarten. Policy Paper on IoT Future Technologies: Opening towards a New

Reality. Issue brief no. D5.2. http://www.smart-action.eu/fileadmin/smart-

action/publications/Policy_Paper_on_IoT_Future_Technologies.pdf