proyecto de grado - ingeniería de sistemas y computación

22
Proyecto de Grado - Ingeniería de Sistemas y Computación Universidad de los Andes Facultad de Ingeniería Departamento de Ingeniería de Sistemas y Computación Gabriela Del Pilar Camargo Mendoza Jorge Hernando Gómez Ortiz José Francisco Molano Pulido Desarrollo de una aplicación basada en la plataforma OpenMTC para la interconexión y administración de dispositivos funcionales empleando el concepto de Internet de las Cosas. Asesor: Yezid Enrique Donoso Meisel 26 de Mayo de 2016

Upload: others

Post on 01-Jul-2022

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Proyecto de Grado - Ingeniería de Sistemas y Computación

Proyecto de Grado - Ingeniería de Sistemas y Computación

Universidad de los Andes

Facultad de Ingeniería

Departamento de Ingeniería de Sistemas y Computación

Gabriela Del Pilar Camargo Mendoza

Jorge Hernando Gómez Ortiz

José Francisco Molano Pulido

Desarrollo de una aplicación basada en la plataforma OpenMTC para la interconexión y administración de dispositivos funcionales empleando el concepto de Internet de las

Cosas.

Asesor:

Yezid Enrique Donoso Meisel

26 de Mayo de 2016

Page 2: Proyecto de Grado - Ingeniería de Sistemas y Computación

2

Reporte de Proyecto de Grado- Smart Home

0 Resumen Gracias a los avances tecnológicos hoy en día es posible comunicar diferentes tipos de dispositivos a internet y aprovechar las ventajas que este trae. Algunos años atrás esto era inimaginable pero es algo que hoy comienza a ser parte del día a día de las personas. Realizar el monitoreo de una vivienda desde un lugar remoto y modificar el estado de la misma o tener la capacidad de reaccionar ante eventos para disminuir el impacto ambiental que se genera al consumir servicios por ejemplo, son unos de los muchos beneficios que se pueden hacer en la actualidad gracias al concepto de Internet de las Cosas. Este proyecto puso en evidencia el funcionamiento de una vivienda inteligente y cómo es posible controlarla desde un dispositivo móvil o web, a su vez se puso a prueba casos M2M (machine to machine) en el que los electrodomésticos, luces y demás dispositivos de la vivienda son capaces de reaccionar ante la variación en la medición de sensores que reflejan el estado actual de la misma.

Tabla de Contenido:

ReportedeProyectodeGrado-SmartHome 0 Resumen.....................................................................................................................................21 Introducción..............................................................................................................................32 Descripcióngeneral................................................................................................................52.1 Objetivos...............................................................................................................................................52.2 Antecedentes......................................................................................................................................52.3 Identificacióndelproblemaydesuimportancia.........................................................6

3 Diseñoyespecificaciones.....................................................................................................73.1 Definicióndelproblema..............................................................................................................73.2 Especificaciones................................................................................................................................83.3 Restricciones......................................................................................................................................9

4 Desarrollodeldiseño.............................................................................................................94.1 RecoleccióndeInformación....................................................................................................114.2 Alternativasdediseño................................................................................................................12

5 Implementación....................................................................................................................125.1 Descripcióndelaimplementación......................................................................................135.2 ResultadosObtenidos..................................................................................................................15

6 Validación...............................................................................................................................156.1 Validaciónderesultados...........................................................................................................15

7 Conclusiones..........................................................................................................................187.1 Discusión.............................................................................................................................................187.2 Trabajofuturo..................................................................................................................................19

8 ReferenciasBibliográficas.................................................................................................19Apéndices..............................................................................................................................................20

Page 3: Proyecto de Grado - Ingeniería de Sistemas y Computación

3

1 Introducción Diseño e implementación En la actualidad, es posible observar un desarrollo evidente de aplicaciones basadas en la conexión de dispositivos a través de la red. Estas dan respuestas a requerimientos provenientes de la industria, la academia o inclusive, la vida cotidiana. Este nuevo paradigma de soluciones, que corresponde a un fenómeno relativamente reciente, se ve soportado por una infraestructura que inicialmente no fue diseñada para cumplir dicho propósito. Wahle et al. Demonstration of OpenMTC [1] mencionan que en la actualidad existe una gran oferta de aplicaciones M2M, sin embargo, dichas soluciones están basadas en infraestructuras monolíticas que no tiene capacidad de interoperación. Esto ha sido identificado como el principal obstáculo para el desarrollo, despliegue y operación de sistemas M2M abiertos, flexibles y ubicuos. Es por este motivo que la implementación y uso de un estándar y una infraestructura que permitan el desarrollo de conexiones entre dispositivos resulta de gran interés en el contexto actual. Adicional a esto, se suman una serie de retos que conciernen a aspectos relacionados con temáticas de seguridad, escalabilidad, disponibilidad, privacidad, entre otros. Es por este motivo que surge el paradigma M2M o MTC, el cual plantea un esquema de comunicación entre dispositivos, sin intervención humana, soportado por infraestructura, componentes de hardware, protocolos de comunicación y demás elementos de TI enfocados al cumplimiento de este propósito específico. En el contexto particular del presente proyecto de grado, se aborda una aplicación que ha sido tradicionalmente tratada desde el campo de comunicación y control de dispositivos a través de la red: la domótica. Este término hace referencia al estudio y aplicación de los elementos y sistemas que proporcionan un nivel de automatización al interior de una casa. Huidobro et. al. han identificado algunos de los servicios habituales que son ofrecidos por la automatización de viviendas, estos son presentados a continuación:

- Servicios de climatización y consumo energético: - Programación de encendido y apagado de electrodomésticos - Acomodación a planes de tarifas reducidas - Dispositivos medidores del consumo eléctrico

- Entretenimiento, confort y comunicaciones: - Juegos - Visualización de canales de televisión - Videoconferencias - Control de los dispositivos del hogar

- Seguridad: - Avisos en caso de intrusión o avería - Instalación de cámaras y micrófonos para la grabación de video - Control de acceso a la vivienda

- Servicios comunitarios: - Control de iluminación de las zonas comunes - Manejo de alarmas de seguridad y técnicas - Registro de entradas y salidas de personal de servicio [casa p4]

Page 4: Proyecto de Grado - Ingeniería de Sistemas y Computación

4

A partir de los servicios mencionados anteriormente, se plantea el desarrollo de una aplicación a escala para la administración de una vivienda bajo el concepto de domótica. En el marco específico del proyecto de grado, se propone que el desarrollo de este producto se ejecute haciendo uso de la plataforma OpenMTC, la cual fue desarrollada con el propósito de plantear un acercamiento al paradigma de comunicación M2M. De esta manera se plantea que el problema específico a abordar corresponda a la administración de servicios generales domésticos a partir de la plataforma mencionada. A partir de esta definición del problema, establecido de forma general, se procede a realizar la formulación de los requerimientos específicos del proyecto. En primer lugar, se tiene en cuenta que el alcance del presente proyecto debe obedecer a los requerimientos y limitaciones de un proyecto de grado en Ingeniería de Sistemas y Computación. Esto implica la consideración del período disponible para la realización de las tareas planteadas, los recursos económicos, la disponibilidad horaria semanal, entre otros. En particular, se definió un alcance medio, los servicios básicos disponibles en una vivienda son emulados por medio de componentes electrónicos sencillos y de bajo costo como diodos emisores de luz (LEDs) y motores de vibración. La estructura de la vivienda construida a escala también es realizada a través de procesos de bajo costo (en este caso ensamblaje de piezas de acrílico fabricadas por medio de la técnica de corte láser). Con la finalidad de disponer de un mecanismo que permita realizar el control de los elementos electrónicos previamente mencionados y asimismo disponga de conexión a la red, se decide emplear la tarjeta de cómputo Raspberry Pi. Este dispositivo es seleccionado debido a su bajo costo en relación a otras alternativas tecnológicas y al conocimiento previo que se tiene sobre el manejo de la misma plataforma. Para realizar el control y monitoreo efectivo de la vivienda en cuestión, se hace uso de una aplicación móvil desarrollada para el sistema operativo Android y de una interfaz web. Nuevamente, dichas alternativas son seleccionadas por su bajo costo en el proceso de desarrollo y por el conocimiento previo del cual se dispone sobre la tecnología particular. Resultados obtenidos Se evidenció el concepto de internet de las cosas a través de la muestra del funcionamiento de una casa inteligente. El resultado de este proyecto se divide en 3 grandes partes que son la casa, las aplicaciones controladoras y la comunicación entre estas. Como resultado se obtuvo un flujo de comunicación completo desde los sensores y actuadores hasta el cliente o controlador, capaz de ver y modificar el estado de la casa. Este controlador, actualmente puede manejarse desde una aplicación web y desde una aplicación móvil para dispositivos Android. Estas dos aplicaciones se conectan a través de Wi-fi y Ethernet (internet) a la plataforma MTC que es la responsable de identificar cada uno de los sensores y actuadores que se tienen en la casa. Asimismo se tiene una casa en físico, tamaño maqueta en una escala 30:1 en la que se puede evidenciar y observar cómo es el funcionamiento e interacción entre las partes de la comunicación. Estructura del documento Este documento de grado muestra el avance del proyecto desde que se concibió la idea hasta la evaluación de los resultados obtenidos. Está dividido en 8 secciones que guiarán al lector por un paso a paso del proceso y que refleja los factores que se tuvieron en

Page 5: Proyecto de Grado - Ingeniería de Sistemas y Computación

5

cuenta para la realización del mismo. Al Inicio de esta sección se presenta la tabla de contenido del documento. Reconocimientos y Agradecimientos Le agradecemos a Yezid Donoso asesor de este proyecto de grado quien nos apoyó en todo momento y nos motivó a través de sus clases a amar y trabajar en avances tecnológicos relacionados con las redes de comunicación; a la Universidad de los Andes por brindarnos una educación universitaria de calidad y apoyo en cada uno de los proyectos realizados a lo largo de la carrera, a nuestros padres por su apoyo incondicional y a Dios.

2 Descripción general

2.1 Objetivos El concepto de Smart Cities ha empezado a revolucionar la concepción de controlar, conocer y experimentar el estado de las cosas que nos rodean de forma inmediata a través de internet. De allí surge el punto de partida de la investigación y realización de software y hardware que permita a las personas interactuar de forma fácil con el ambiente en el que se encuentre, interactuando en primera instancia con lo más cercano y cotidiano a las personas, su casa. De esta forma surge la necesidad de poder conocer y controlar el estado de mi casa y poder interactuar con ella incluso sin estar dentro de ella. Se consideró que este tipo de avances tecnológicos pueden traer un valor agregado bastante alto a la calidad de vida de las personas y es capaz de impactar a nivel ambiental con el ahorro y uso eficiente de recursos. El objetivo general del proyecto Smart Home es desarrollar e integrar plataformas de comunicación entre hardware y software que permitan la visualización y validación de un ecosistema de internet de las cosas, mediante el desarrollo de 4 objetivos clave, los cuales son: · Desarrollar un sistema a nivel de hardware que permite censar y controlar variables definidas para implementar y validar el funcionamiento de IoT en un ambiente especificado. · Desarrollar un cliente que permita conocer e interactuar con el estado de las variables censadas y a su vez modificarlas según lo desee. · Integrar la implementación hardware con una MTC para permitir la comunicación M2M guiada por estándares para IoT. · Desarrollar un prototipo completamente funcional que permita mostrar el funcionamiento y los posibles beneficios de la masificación de IoT.

2.2 Antecedentes Se tomó como antecedentes proyecto realizados sobre la plataforma presentada que fueron realizados por la Techische Universitat Berlin en conjunto con Fraunhofer Fokus,

Page 6: Proyecto de Grado - Ingeniería de Sistemas y Computación

6

trabajo llamado Demonstration of OpenMTC -M2M Solutions for Smart Cities and the internet of Things. Proyecto en el cual se simuló una smart home basado en el framework que brinda OpenMTC. Para este caso en particular se controlan dos dispositivos una lámpara y un ventilador y sensores de temperatura, humedad y luminosidad. Este proyecto valida el funcionamiento de la plataforma a través del simulador, pero no se pone en evidencia un funcionamiento sobre dispositivos reales como en este Proyecto de Grado. Se muestra a continuación la imagen del controlador y el simulador presentado en Berlín, Alemania por los mencionados anteriormente.

Obtenido del documento “Demonstration of OpenMTC – M2M Solutions for Smart Cities and the Internet of Things” [2].

2.3 Identificación del problema y de su importancia Las ciudades inteligentes surgen como una necesidad que tienen las personas para poder introducir la tecnología a la vida cotidiana, esto con el fin de poder conocer fácilmente el entorno en el que se encuentran y poder interactuar con este. Asimismo comenzó una ola de catástrofes mundiales por el efecto del calentamiento global y la contaminación que obligó a las diferentes sociedades a ser conscientes del cambio ambiental y del uso de recursos naturales no renovables entre muchos otros efectos que ha traído la contaminación ambiental. Lo más cercano al ser humano es el lugar en el que vivimos, lo que comemos, la cantidad de agua, luz, gas, gasolina y otros recursos que utilizamos a diario y por ello se vió la necesidad de poder conocer el estado y gasto actual de lo que consumimos para poder controlar todo este tipo de factores que hacen parte del hogar de cada uno. De allí surge el concepto de Casas inteligentes que quiere decir que los artefactos y electrodomésticos son capaces de cambiar su estado ya sea ante una orden o acción dada o según la cantidad que realmente requiere para funcionar sin impactar negativamente al medio ambiente y a los recursos naturales.

Page 7: Proyecto de Grado - Ingeniería de Sistemas y Computación

7

De esta manera las personas empiezan a ser más conscientes del impacto que generamos y de lo mucho que se puede ahorrar haciendo un uso responsable de los recursos. Por ejemplo se debe ser capaz de identificar las cantidad de luz que tiene en un instante determinado una casa, por medio de sensores de luz, si la cantidad de luz sobrepasa un límite la casa misma es capaz de decidir si apagar una bombilla que no esté siendo útil para el usuario o si por el contrario la cantidad de luz es muy baja y las personas se encuentran próximas a llegar a casa las enciende apenas la persona ingresa a la misma. Es así como una casa es capaz de tomar decisiones basado en una programación dada por el ser humano y optimizar y reducir el impacto ambiental del gasto de recursos naturales y reducir el costo económico que esté implica para el usuario. Se espera que las casas sean capaces de identificar todo tipo de electrodoméstico o tecnología que se pueda conectar a internet para así poder interactuar con ellos desde la oficina o desde el celular por ejemplo, sin estar necesariamente en casa.

3 Diseño y especificaciones

3.1 Definición del problema El problema general a abordar por el proyecto de grado corresponde al desarrollo de una aplicación para el control de dispositivos domésticos tradicionales en una vivienda a escala haciendo uso de la plataforma OpenMTC. En particular, la aplicación desarrollada debe permitir al usuario controlar los dispositivos dispuestos en la vivienda (que en este caso son emulados por medio de componentes electrónicos sencillos como motores y LEDs). Adicionalmente, la aplicación debe disponer de una interfaz para el monitoreo de las variables ambientales de la vivienda (que en este caso son emuladas con sensores y dispositivos electrónicos configurables). Finalmente, los dispositivos y sensores de la vivienda deben interactuar según un esquema de comunicación M2M, en el cual los dispositivos operan automáticamente, sin la intervención del usuario.

Imagen 1. Diagrama de información

Page 8: Proyecto de Grado - Ingeniería de Sistemas y Computación

8

3.2 Especificaciones Con la finalidad de realizar la definición de las especificaciones del proyecto, se procede a establecer dos categorías de requerimientos principales: funcionales y no funcionales. En relación a los requerimientos funcionales del proyecto se tiene que la aplicación desarrollada debe:

- Controlar los dispositivos electrónicos que emulan a los electrodomésticos tradicionales de la vivienda a escala. En particular, el usuario debe ser capaz de interactuar con los dispositivos al aplicar comandos de encendido, apagado y operación automática.

- Monitorear las principales variables ambientales de la vivienda a escala en tiempo real.

- Establecer un esquema de operación M2M que corresponda a la operación automática de los dispositivos sin la intervención directa del usuario.

- Disponer de una interfaz gráfica para que el usuario pueda interactuar con los sistemas de control y monitoreo de la vivienda.

En cuanto a los requerimientos no funcionales de la solución a implementar, se tienen en cuenta todos los atributos de calidad que debe satisfacer la aplicación. En particular, el sistema desarrollado debe:

- Garantizar un tiempo de respuesta suficiente para dar al usuario la experiencia de operación en tiempo real.

- Disponer de una interfaz sencilla en la cual los sistemas de control de dispositivos y monitoreo de variables son accesibles de forma intuitiva.

- Ofrecer al usuario dos tipos de interfaz para la interacción con el sistema (uno web y otro exclusivo para dispositivos móviles).

- Garantizar la seguridad de los datos involucrados en el flujo de información de los dispositivos en procesos de comunicación.

Adicionalmente, la metodología empleada para realizar la construcción de la aplicación debe obedecer a un patrón incremental. Esto con la finalidad de obtener resultados de en el corto plazo y adicionar funcionalidades de forma progresiva a medida que avanza el desarrollo del sistema. En relación a los atributos de calidad previamente mencionados, se procede a realizar un análisis de aceptación con la finalidad de establecer en qué nivel de cumplimiento se obtiene un resultado admisible para cada requerimiento.

- Tiempo de respuesta: con la finalidad de dar una experiencia al usuario de manejo y monitoreo en tiempo real, se define que el tiempo máximo de respuesta comprendido entre una instrucción enviada por parte del usuario y su respectiva acción observada en la vivienda a escala debe corresponder a 1 segundo. De la misma manera, se define que el tiempo máximo entre la actualización de un dato medido por los sensores dispuestos y su respectiva actualización en las interfaces ofrecidas al cliente debe corresponder a 2 segundos.

Page 9: Proyecto de Grado - Ingeniería de Sistemas y Computación

9

- Interfaz: los controladores para enviar comandos a la vivienda deben presentarse de forma intuitiva al usuario. En particular, este no debe recibir instrucciones adicionales para ejecutar acciones de encendido, apagado y disposición de modo automático. De la misma manera, la lectura de los datos provenientes de los sensores sede presentarse en un formato que no requiere instrucciones adicionales de interpretación.

- Seguridad: en el caso particular de la aplicación desarrollada, este corresponde a un atributo que puede tener un resultado incompleto. Específicamente se tiene que los aspectos de seguridad no corresponden al tema central del presente proyecto de grado. No obstante, cabe destacar que los aspectos de seguridad de la información en aplicaciones de Internet de las Cosas corresponden a temáticas de gran relevancia. En un eventual proyecto, sería de gran interés centrar el curso de la investigación sobre este requerimiento.

Para el desarrollo y diseño de la casa física se tuvieron en consideración la mejor forma para mostrar y presentar el proyecto, por lo que se estableció que la casa fuera de un material transparente y llamativo para que el usuario pudiera interactuar y observar fácilmente con los dispositivos de la casa, por esa razón la estructura externa de la casa se realizó en acrílico.

3.3 Restricciones La restricción que teníamos para este proyecto en cuanto a implementación era el poder probar e interactuar con una casa real, no solo por el tiempo sino también por la infraestructura que esta requería, por lo cual se decidió construir una casa real en tamaño maqueta de dimensiones 30:1 capaz de reflejar el funcionamiento de una casa real. Así mismo los recursos que se utilizaron fueron: la plataforma MTC que nos proporcionó la Universidad de los Andes y artefactos electrónicos para la comunicación de los electrodomésticos a internet. Se hizo uso de una RaspberryPi como concentrador de comunicaciones entre la plataforma MTC y los actuadores de la casa. Y se realizó un circuito eléctrico que garantizara la energía a todas las partes de la casa. Para este proyecto en particular no se controló el gasto de agua o gas pero si todo lo correspondiente a temperaturas, luminosidad y diferentes electrodomésticos. Para los controladores (aplicaciones web y móvil) se buscó por medio de las dos interfaces graficas que el usuario sea más consciente del estado de la casa y del gasto del mismo así como facilitarle la modificación de estado de los diferentes actuadores. Por restricciones de tiempo la aplicación móvil sólo se desarrolló para dispositivos Android, pero se cuenta con una aplicación web, capaz de ser desplegada desde cualquier navegador de internet. Se garantiza que la usabilidad de las aplicaciones es sencilla e intuitiva y refleja el estado actual de la casa en todo momento.

4 Desarrollo del diseño El diseño de la arquitectura global del proyecto se presenta en la imagen 2, en el cual se pueden identificar las diferentes capas de comunicación por las que se debe garantizar el

Page 10: Proyecto de Grado - Ingeniería de Sistemas y Computación

10

envío de la información desde internet, pasando por la IMS (IP Multimedia subsystem). La IMS es una arquitectura base para tráfico de servicios a través de infraestructura, basada en el ruteo de paquetes a través de direcciones IP. Luego debe comunicarse con el core de la MTC que va a ser el manejador principal de la información y pasa a ser enviado a través del gateway de la MTC que es la puerta de comunicación entre las distintas redes como Wifi, 3G, 4G entre otros y los dispositivos como sensores, actuadores y las aplicaciones de control de la casa. Como se ha mencionado antes la MTC es una plataforma que facilita la comunicación entre máquinas a internet y entre ellas (M2M) Machine to Machine. Esta plataforma está compuesta de dos capas de capacidad de servicio, una capa de capacidad de servicio de entrada y salida llamada gateway(GSCL) y una capa de capacidad de servicio de red llamada Network (NSCL). La arquitectura de este proyecto se basó principalmente en la estructura que nos brinda la plataforma OpenMTC con la cual se trabajó a lo largo del mismo y se puede observar en la Imagen 3. Proporcionada por Frankhofer Fokus en la referencia [1] como descripción de la plataforma utilizada. Open MTC, soporta su funcionamiento con otras estructuras de telecomunicaciones, como IMS y la EPC. Esto es opcional pero permite que la información intercambiada de los sensores y actuadores sea traducida usando la IMS para aplicaciones M2M. Para este proyecto se manejaron 2 casos de comunicación M2M por lo que se hace uso de la IMS. Por este medio, la comunicación M2M puede confiar en la seguridad, la fiabilidad y las implementaciones existentes de IMS. Los casos de M2M que se establecieron fue el reconocimiento de la cantidad de luminosidad en el recinto y según la medición obtenida se programó para que las luces se encendieran o apagaran automáticamente de ser el caso. Y el segundo es caso se llevó a cabo con un sensor de temperatura también programado para que si se superan temperaturas superiores a 24º Celsius se encienda el ventilador automáticamente.

Imagen 2. Arquitectura global del proyecto

Page 11: Proyecto de Grado - Ingeniería de Sistemas y Computación

11

Imagen 3. Arquitectura global de Open MTC.

4.1 Recolección de Información Las fuentes utilizadas como base para el diseño de la arquitectura del proyecto, fueron la documentación de la plataforma MTC, brindada por Fraunhofer, que explicaba la utilización de la plataforma MTC a grandes rasgos, sus capas de comunicación con las que interactúa y los diferentes ejemplos que se han realizado sobre la misma a nivel de simulación. Se revisó el caso descrito en la documentación titulada “Demonstration of OpenMTC – M2M Solutions for Smart Cities and the Internet of Things” [2] que presenta un caso puntual en el que la plataforma es utilizada para simular el funcionamiento de una smart home con comunicaciones M2M, gracias a esto fue más fácil entender los conceptos iniciales, su descripción y respectivo funcionamiento. Así mismo otra de las fuentes más utilizadas fue “M2M Solutions for Smart Cities and the Internet of Things” [1] por medio de la cual se entendió la arquitectura e infraestructura de comunicación de la plataforma OpenMTC. Otra fuente importante fue “OpenMTC Python SDK Documentation” [3] el cual es un manual del sdk que nos provee OpenMTC y que era necesario aprender a utilizar correctamente para garantizar la comunicación entre los dispositivos, así como el desarrollo de los scripts que permiten realizar el reconocimiento de los mismos. (En la sección de referencias se encuentran las diferentes fuentes utilizadas). Por otro lado la implementación de las funciones y scripts necesarios que definen el desarrollo del proyecto fueron implementadas en Python haciendo uso de conocimientos adquiridos previamente en otros cursos a lo largo de la carrera. El diseño estructural de la casa se realizó haciendo uso de la herramienta Autodesk Inventor, en donde se realizaron

Page 12: Proyecto de Grado - Ingeniería de Sistemas y Computación

12

los planos necesarios de la misma, esta herramienta se aprendió a utilizar en cursos previos.

4.2 Alternativas de diseño - Arduino:

Arduino es una plataforma de computación física basada en una tarjeta de entradas y salidas (I/O) y un entorno de desarrollo que implementa el lenguaje Processing. Arduino puede ser empleado para desarrollar dispositivos autónomos o dispositivos que puedan ser conectados a sistemas de cómputo por medio de herramientas de software. Las tarjetas pueden ser ensambladas o adquiridas. El software correspondiente al IDE (entorno de desarrollo integrado) puede ser adquirido en línea. [6] Esta alternativa fue considerada en su versión estándar (Arduino UNO) debido a la facilidad de términos de programación y bajo costo (U$ 24.95) [7].

Imagen 4. Arduino UNO.

[https://www.arduino.cc/en/uploads/Main/ArduinoUno_R3_Front_450px.jpg]

Sin embargo, esta alternativa fue descartada debido a que se requieren componentes adicionales y un proceso de desarrollo algo más complejo con la finalidad de integrar la conectividad por medio de la red.

5 Implementación Para la implementación se estableció un circuito eléctrico capaz de soportar todos las luces (leds), electrodomésticos y sensores dentro de la casa, con esto fue necesario programar una tarjeta de hardware que controla el tipo de acciones que pueden realizar los diferentes dispositivos, como por ejemplo, prender o apagar o mostrar los datos que esté recibiendo un sensor en específico. Esta tarjeta está conectada con la Raspberry Pi la cual funciona como puente de comunicación entre la MTC y la tarjeta a la que están conectado todos los sensores. Las aplicaciones móviles están conectadas a internet a través de protocolos a la MTC y es esta la que le proporciona los datos en tiempo real a las aplicaciones.

Page 13: Proyecto de Grado - Ingeniería de Sistemas y Computación

13

Imagen 4. Diagrama de comunicación de las partes en la implementación.

5.1 Descripción de la implementación El proyecto se desarrolló en 4 etapas diferentes, en las que se evidencio la evolución del proyecto y los conocimientos adquiridos o puestos en práctica para cada una de las etapas. A continuación se mencionan las 4 etapas y lo que implicó cada una de ellas. Etapa de entrenamiento y diseño En esta etapa fue necesario entender y aprender a usar la plataforma OpenMTC por medio de la documentación de la plataforma y de los proyectos ya implementados sobre ella, así como establecer cómo se iban a conectar los sensores y dispositivos a la plataforma, y la interacción entre los mismos. Dado que el proyecto quiere mostrar físicamente aplicado en situaciones reales, se realizó el diseño físico del mismo, tanto de la estructura como de los sensores a utilizar. Por otro lado se diseñó la interfaz gráfica de la aplicación web que controla y modifica el estado de los sensores.

Etapa de implementación En esta etapa se puso en práctica lo aprendido, se conectan los dispositivos y sensores con la MTC. Además se realizaron dos aplicaciones desde las cuales el cliente puede controlar y manipular los diferentes dispositivos a su gusto. Se establecieron protocolos de comunicación entre las partes para que se pudieran entender y seguir un flujo de comunicación el cual se puede observar en las imágenes 5 y 6. Este flujo consta de 6 pasos a seguir por cada uno de los entes o dispositivos hacia la MTC. Registro a la MTC, Permisos de acceso brindando mi información a la MTC, Creación de un contenedor que permitirá enviar la información, suscripción por parte del cliente a cada uno de los sensores de los cuales quiere obtener la información y de los actuadores que desea controlar. Por último se envía y recibe información de la MTC.

Page 14: Proyecto de Grado - Ingeniería de Sistemas y Computación

14

Imagen 5. Protocolo de comunicación entre las partes del proyecto.

En la imagen 6 se puede observar más claramente el protocolo utilizado por medio de un ejemplo que en este caso se tiene como sensor y actuador a la lavadora.

Imagen 6. Diagrama de secuencia, caso de uso Lavadora.

Page 15: Proyecto de Grado - Ingeniería de Sistemas y Computación

15

Etapa análisis y revisión Se realizaron pruebas de funcionamiento tanto de la plataforma OpenMTC, como de la conexión misma entre el dispositivo de control con la estructura real. Así como de la interacción entre sensores, actuadores con respecto a las aplicaciones móviles y web. Etapa de resultados e interpretación Por medio de este documento se refleja el desarrollo del proyecto y los beneficios que tiene el uso del internet de las cosas en la vida cotidiana, se profundizará sobre los resultados obtenidos en la sección 5.2 de este documento llamada Resultados Obtenidos.

5.2 Resultados Obtenidos Se obtuvo una aplicación completamente funcional basada en la plataforma OpenMTC para la interconexión y comunicación de dispositivos. Se obtuvo el conocimiento necesario para el manejo de la plataforma OpenMTC. El conocimiento documentado de uso de la plataforma incluye información necesaria para la intercomunicación de los agentes en el esquema M2M. También, incluye los conocimientos necesarios para realizar una interfaz para la presentación de los datos recopilados al usuario. Finalmente, se incluyen las instrucciones requeridas para la conexión de elementos de hardware, principalmente sensores y actuadores, a la plataforma. La aplicación desarrollada consta de un montaje básico cuyo objetivo principal será la emulación a escala de un caso real de uso. Este modelo a escala emplea los módulos provistos por la plataforma OpenMTC para la conexión de sensores y actuadores dispuestos para el cumplimiento de una tarea específica. La interacción con el usuario, es decir el medio por el cual podrá plantear órdenes y consultar datos, consiste en una interfaz amigable que, preferiblemente, podrá ser desplegada en un dispositivo móvil (tableta o teléfono celular) y así mismo desde la web. Se evidenció el concepto de internet de las cosas a través de la muestra del funcionamiento de una casa inteligente. Como resultado se obtuvo un flujo de comunicación completo desde los sensores y actuadores hasta el cliente o controlador, capaz de ver y modificar el estado de la casa. Este controlador, actualmente puede manejarse desde una aplicación web y desde una aplicación móvil para dispositivos Android. Estas dos aplicaciones se conectan a través de Wi-fi y Ethernet (internet) a la plataforma MTC que es la responsable de identificar cada uno de los sensores y actuadores que se tienen en la casa. Asimismo se tiene una casa física, tamaño maqueta en una escala 30:1 en la que se puede evidenciar y observar cómo es el funcionamiento e interacción entre las partes de la comunicación.

6 Validación

6.1 Validación de resultados Como resultado se obtuvieron las aplicaciones móviles desarrolladas y conectadas a la MTC, los sensores y actuadores programados previamente para poder ser controlados, los cuales se comunican con la MTC.

Page 16: Proyecto de Grado - Ingeniería de Sistemas y Computación

16

Para la validación de los datos y funcionamiento se verificó que los sensores registran datos reales, en el caso del sensor de temperatura tiene una exactitud del 90% respecto a la temperatura real y un delay de 1 minuto aproximadamente. El sensor de luz y el potenciómetro reflejan un nivel más alto de exactitud en la toma de datos con un 95% respecto a los valores reales. Tanto la aplicación móvil como la web tiene un tiempo de actualización de menos de 1 minuto en promedio y reflejó el estado actual de la casa física un 98% de las veces que fue probada. Para esta prueba se realizaron acciones sobre los actuadores midiendo el tiempo de respuesta de los actuadores desde que la acción fue enviada desde las aplicaciones. Los resultados obtenidos fueron bastante buenos y cumplen con los requisitos y restricciones del proyecto. En las imágenes 7 y 8 se puede observar el resultado final de la interfaz de las dos aplicaciones y en la imagen 9 la casa sobre la cual se realizaron las respectivas pruebas. Control - aplicación Web:

Imagen 7. Interfaz gráfica aplicación web.

Page 17: Proyecto de Grado - Ingeniería de Sistemas y Computación

17

Control - aplicación Móvil:

Imagen 8. Interfaz gráfica aplicación Móvil, para dispositivos Android.

Smart - Home Maqueta:

Imagen 9. Maqueta en tamaño 30:1 de la casa.

Page 18: Proyecto de Grado - Ingeniería de Sistemas y Computación

18

7 Conclusiones

7.1 Discusión Al concluir el presente proyecto de grado se puede afirmar que se cumplieron satisfactoriamente todos los objetivos propuestos desde el inicio. Particularmente, se logró desarrollar una aplicación domótica completamente funcional en un modelo de una vivienda a escala haciendo uso de la plataforma OpenMTC, en el contexto de Internet de las Cosas. A lo largo del proyecto se realizó el estudio y asimilación de los conceptos relacionados con los procesos de comunicación bajo el paradigma M2M. En la etapa inicial del proceso, se afrontaron dificultades relacionadas con la curva de aprendizaje de la plataforma OpenMTC debido a que la versión del producto disponible corresponde a una distribución reciente sobre la cual no se disponía de suficiente documentación. Adicionalmente, en el grupo de investigación de Comunicaciones y Tecnología de la Información (COMIT) de la Universidad de los Andes, no se había realizado un acercamiento a este tipo de aplicación haciendo uso de la mencionada plataforma. Estas dificultades fueron superadas gracias a un exhaustivo estudio de la poca documentación disponible y mediante sesiones de experimentación con la plataforma que permitieron asimilar la tecnología en un nivel suficiente para el desarrollo de comunicaciones simples entre dispositivos, sensores y usuarios. El proceso de construcción del modelo a escala de la vivienda y la disposición de los componentes electrónicos para emular los dispositivos tradicionales de una vivienda no revistieron de mayores complicaciones en la medida en que ya se disponía de conocimiento previo para el uso de dichas tecnologías. De la misma manera, el proceso de desarrollo de las aplicaciones web y de dispositivos móviles fue relativamente sencillo debido a la experiencia previa en este tipo de actividades. En cuanto a aspectos por mejorar se destaca la necesidad de profundizar en las capacidades ofrecidas por la plataforma OpenMTC. En particular, se destaca el uso de las estructuras manejadas conocidas como contenedores de aplicación. Éstas permiten la administración de una serie de funciones adicionales tales como el manejo de permisos de usuario. Finalmente, se puede concluir que en el presente proyecto de grado se obtuvieron resultados satisfactorios. En primer lugar, se realizó un acercamiento a los nuevos paradigmas que tendrán una gran relevancia en los próximos años debido a la evolución observada en las redes y procesos de comunicaciones. La aplicación desarrollada permitió identificar cuáles serán los nuevos retos en los futuros procesos de comunicación entre dispositivos. Se pudo observar que aspectos como la suscripción y el envío de notificaciones son fundamentales para este tipo de sistemas. Por último se destaca el hecho de que la aplicación desarrollada cumple, de forma cuantitativa, con los requerimientos funcionales y no funcionales planteados anteriormente. Como evaluación cualitativa, se destaca el reconocimiento en la muestra de talento del Departamento de Ingeniería de Sistemas y Computación como el proyecto más interesante de los proyectos de grados en el primer semestre de 2016. [5]

Page 19: Proyecto de Grado - Ingeniería de Sistemas y Computación

19

7.2 Trabajo futuro En cuanto a los trabajos futuros que podrían realizarse con la finalidad de complementar la aplicación desarrollada se destaca la consideración e implementación de mecanismos que garanticen la privacidad y la integridad de la información empleada en el proceso de comunicación entre dispositivos. Esto también se puede tomar como punto de partida para plantear nuevos proyectos de investigación que se centren en los aspectos de seguridad de la plataforma OpenMTC y de las aplicaciones M2M como tal. Por otro lado el siguiente paso puede orientarse en probar con múltiples casas la correcta funcionalidad y garantizar la seguridad necesaria a cada una de ellas, el proyecto puede escalar a un Smart Town, con muchos más funcionamientos como por ejemplo el reconocimiento de parqueaderos libres en la zona en tiempo real y/o el monitoreo constante de la zona garantizando alarmas instantáneas a todos los vecinos ante una eventualidad.

8 Referencias Bibliográficas [1] Fokus, Fraunhofer, OpenMtC, M2M solution for smart cities and the internet of things, Marzo de 2013, obtenido de la fuente: M2M Solutions for Smart Cities and the Internet of Thing.pdf [2 ]Fokus, Fraunhofer, Technische Universität Berlin, Authors: Whale.S, Magedanz.T, Schulz.F ,“Demonstration of OpenMTC – M2M Solutions for Smart Cities and the Internet of Things” Berlin, Alemania. Obtenido de la fuente: Demonstration of OpenMTC – M2M Solutions for Smart Cities and the Internet of Things.pdf [3] Composky.K , “OpenMTC, Python sdk documentation - Release 4”, septiembre 29 de 2015. Obtenido de la fuente: OpenMTC-Python-SDK.pdf. [4] OPEN MTC, guia de usuario para utilizar la MTC en el laboratorio de redes de la Universidad de los Andes, Obtenido de la fuente: Openmtc.pdf. [5]Universidad de los Andes, Departamento de ingenieria de sistemas y computación, Muestra de talento DISC- proyecto Smart Home, Mayo 2016. Obtenido de la fuente: https://sistemas.uniandes.edu.co/es/inicio/noticias/item/647-primera-muestra-de-talento-disc [6] O’reilly, Getting Started with Arduino By Massimo Banzi p.1. Obtenido de la fuente: http://eclass.sch.gr/modules/document/file.php/EL19138/Massimo%20Banzi-Getting%20Started%20with%20Arduino%20-Make%20(2011).pdf [7] Arduino uno -R3, Descripción. Obtenido de la fuente: https://www.sparkfun.com/products/11021

Page 20: Proyecto de Grado - Ingeniería de Sistemas y Computación

20

Apéndices Apéndice 1 Diseño de la casa Se adjuntan los planos sobre los cuales fue creada la estructura externa de la casa física, las demás partes de la casa fueron diseñadas sobre la marcha del proyecto según las necesidades del mismo y estas fueron hechas a mano en materiales como cartón industrial, cartón baja y cartulinas teniendo en cuenta la escala y el tamaño real de los electrodomésticos.

Anexo Imagen1. Vista frontal y superior de la casa.

Anexo Imagen2. Vista posterior y lateral de la casa.

Page 21: Proyecto de Grado - Ingeniería de Sistemas y Computación

21

Anexo Imagen 3. Vista lateral, divisiones y escalera de la casa.

Anexo Imagen 4. Pisos 1 y 2 respectivamente de la casa.

Page 22: Proyecto de Grado - Ingeniería de Sistemas y Computación

22

Apéndice 2 Instrucciones Paso a Paso para poner en funcionamiento la MTC con la Smart Home.

● Se debe iniciar la MTC, actualmente se encuentra en un servidor del laboratorio de redes de comunicación de la Universidad de los Andes. Con credenciales respectivas otorgadas por los encargados del laboratorio.

● El repositorio de la openMTC se encuentra en la ruta /home/mtc/trunk, debido a

que se está trabajando con la versión desarrollada en Python de la openMTC, deberá́ ingresar al directorio openmtc-gevent, que se encuentra en la ruta /home/mtc/trunk/openmtc-gevent. Tomado textualmente de la guía de usuario brindada por la Universidad de los Andes, OPENMTC [4].

● Dentro de este directorio se encuentran los dos CORE de la plataforma openMTC,

que son el NSCL y el GSCL, dichos servicios se deben ejecutar en terminales diferentes para realizar la correcta simulación.

● Correr el Network NSCL primero con la función ./run_nsc

● Correr el Gateway GSCL con la función ./run_gscl

● Abrir una nueva ventana de Terminal y en el siguiente orden ingrese estos

comandos: ● python RegistationSensor.py ● python ServerUser.py ● python ServerSensor.py

● Proceda a interactuar directamente desde las aplicaciones y observe el resultado

en la Smart Home. Para mayor detalle remítase al Anexo 1 adjunto, Instrucciones precisas para Correr la MTC.