PROTOTIPO DE SISTEMA DE VIGILANCIA BASADO EN LA INTERNET DE LAS COSAS CON APLICATIVO PARA DISPOSITIVOS MÓVILES DIANA YISETH BETANCOURT YATE GERMÁN ANDRÉS GÓMEZ RODRÍGUEZ UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS FACULTAD DE INGENIERÍA INGENIERÍA INDUSTRIAL BOGOTÁ 2015 PROTOTIPO DE SISTEMA DE VIGILANCIA BASADO EN LA INTERNET DE LAS COSAS CON APLICATIVO PARA DISPOSITIVOS MÓVILES DIANA YISETH BETANCOURT YATE GERMÁN ANDRÉS GÓMEZ RODRÍGUEZ Director M. Sc. José Ignacio Rodríguez Molano UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS FACULTAD DE INGENIERÍA INGENIERÍA INDUSTRIAL BOGOTÁ 2015 Nota de aceptación _____________________________ _____________________________ _____________________________ _____________________________ _____________________________ _____________________________ _______________________________________ Firma del presidente del jurado _______________________________________ Firma del jurado _______________________________________ Firma del jurado Bogotá, Mayo de 2015 DEDICATORIA Esta tesis la dedico a mis padres que con su apoyo me impulsaron a conseguir este logro, a Leonardo Molina quien es mi segundo padre y siempre estuvo conmigo, a mi novia Diana quien me apoyo en todo el desarrollo y culminación de esta tesis Para ellos toda mi gratitud por su incondicionalidad. Germán Esta tesis está dedicada principalmente a mi familia. A mi padre Bernardo quien con su apoyo y consejo me impulsó a emprender este camino. A mi madre hermosa Liliana quien con su incansable amor y comprensión me impulsó a concluirlo. A mis hermanos, Daniela y Nicolás. A la familia Yate Castellanos, presente en todo mi proceso de aprendizaje. Dedico también esta tesis a una persona muy importante en todo este proceso y en mi vida, Andrés Gómez. Diana AGRADECIMIENTOS A Dios en primer lugar por permitimos alcanzar esta importante meta de nuestras vidas. A nuestras familias y a cada una de las personas que nos brindaron su total apoyo. A la universidad Distrital que nos abrió sus puertas y permitió educarnos día a día. A cada uno de los profesores que compartieron sus conocimientos con nosotros y nos permitieron crecer profesionalmente. A nuestros compañeros con los que crecimos y vivimos momentos inolvidables. Al profesor José Ignacio Rodríguez por su especial confianza, apoyo y dirección a lo largo de este proyecto. TABLA DE CONTENIDO Pág. RESUMEN .............................................................................................................................. 13 ABSTRACT ............................................................................................................................ 14 INTRODUCCIÓN .................................................................................................................. 15 CAPÍTULO 1 .......................................................................................................................... 17 DESCRIPCIÓN GENERAL DEL PROYECTO ................................................................ 17 1.1 Problemática ................................................................................................................... 17 1.2 Justificación del proyecto ............................................................................................... 18 1.3 Objetivos......................................................................................................................... 20 1.3.1 Objetivo general ...................................................................................................... 20 1.3.2 Objetivos específicos .............................................................................................. 20 CAPITULO 2 .......................................................................................................................... 21 FUNDAMENTO TEÓRICO ................................................................................................. 21 2.1 Definiciones y conceptos clave ...................................................................................... 22 2.1.1 ¿Qué es la internet de las cosas? .............................................................................. 22 2.1.2 Computación ubicua ................................................................................................ 24 2.1.3 Comunicación máquina a máquina M2M ............................................................... 26 2.2 Tecnologías relacionadas ................................................................................................ 27 2.2.1 RFID ........................................................................................................................ 27 2.2.1.1 Etiquetas RFID ..................................................................................................... 28 2.2.1.2 Lectores RFID ...................................................................................................... 28 2.2.1.3 Middleware RFID ................................................................................................. 29 2.2.2 EPC .......................................................................................................................... 29 2.2.3 NFC ......................................................................................................................... 30 2.3 Aplicaciones en el campo de la ingeniería industrial ..................................................... 30 2.3.1 ALMA (A Logistic Mobile Application) ................................................................ 30 2.3.1.1 Estructura de comunicación ................................................................................. 31 2.3.1.2 Estructura HPC ..................................................................................................... 31 2.3.2 Sistema de monitoreo para la calidad de alimentos ................................................. 32 2.3.3 Cadena de suministro inversa inteligente ................................................................ 34 2.3.4 Gestión de la cadena de suministro de productos de agricultura verde ................... 36 2.4 Aplicaciones en otros campos ........................................................................................ 37 2.4.1 Medicina y cuidado de la salud ............................................................................... 37 2.4.2 Aviación e industria aeroespacial ............................................................................ 39 2.4.3 Telecomunicaciones ................................................................................................ 40 2.5. Sistema de video vigilancia .......................................................................................... 41 2.5.1 Circuito cerrado de televisión .................................................................................. 41 2.5.2 Sistema IP ................................................................................................................ 42 2.6 Raspberry Pi ................................................................................................................... 43 2.6.1 Características generales.......................................................................................... 44 2.6.2 Hardware ................................................................................................................. 45 2.6.3 Tipos de Raspberry Pi.............................................................................................. 47 2.6.4 Puerto GPIO ............................................................................................................ 48 2.6.5 Software ................................................................................................................... 50 2.6.5.1 Raspbian ............................................................................................................... 50 CAPITULO 3 .......................................................................................................................... 52 DESCRIPCIÓN DEL PROTOTIPO DE VIGILANCIA ................................................... 52 3.1 Elementos del prototipo de vigilancia ............................................................................ 52 3.2 Requerimientos del prototipo ......................................................................................... 54 3.3 Interacción del prototipo................................................................................................ 55 3.4 Arquitectura del prototipo .............................................................................................. 56 3.5 Prototipo de vigilancia en la ingeniería industrial .......................................................... 57 CAPITULO 4 .......................................................................................................................... 64 SISTEMA DE CAPTURA ..................................................................................................... 64 4.1 Elementos del sistema................................................................................................... 64 4.2 Cámara .......................................................................................................................... 65 4.3 Sensores ......................................................................................................................... 65 4.3.1 Sensor de movimiento infrarrojo ............................................................................. 66 4.3.2 Sensor de gas ........................................................................................................... 67 4.3.3 Sensor de inclinación de mercurio........................................................................... 68 4.3.4 Sensor de tacto ......................................................................................................... 70 CAPITULO 5 .......................................................................................................................... 71 SISTEMA DE SINCRONIZACIÓN ..................................................................................... 71 5.1 Elementos del sistema .................................................................................................... 71 5.2 Servidor privado de almacenamiento Dropbox .............................................................. 71 5.3 Servidor privado de almacenamiento Google Drive ...................................................... 74 5.4 Servidor privado de almacenamiento Amazon S3 ......................................................... 76 5.5 Servidor de correo electrónico ........................................................................................ 76 CAPITULO 6 .......................................................................................................................... 78 LÓGICA DE PROGRAMACIÓN ........................................................................................ 78 6.1 Diagrama de flujo ........................................................................................................... 78 6.2 Codificación del prototipo con el servidor privado de almacenamiento Dropbox ......... 79 6.3 Codificación del prototipo con el servidor privado de almacenamiento Google Drive . 83 6.4 Codificación del prototipo con el servidor privado de almacenamiento Amazon S3 .... 86 CAPITULO 7 .......................................................................................................................... 89 APLICACIÓN MÓVIL REMOTEYE ................................................................................. 89 7.1 Dispositivo móvil ........................................................................................................... 89 7.2 Interfaz de usuario de RemotEye .................................................................................. 89 7.3 Lógica de programación de la aplicación móvil RemotEye ......................................... 91 PRUEBAS DEL PROTOTIPO ............................................................................................. 94 CONCLUSIONES .................................................................................................................. 95 BIBLIOGRAFÍA .................................................................................................................... 96 ANEXOS ............................................................................................................................... 100 LISTA DE FIGURAS Pág. Figura 1. Red de la internet de las cosas................................................................................... 22 Figura 2. Flujo de información en la internet de las cosas ....................................................... 24 Figura 3. Elementos de un sistema RFID .........................................................................................28 Figura 4. Elementos de un circuito cerrado de televisión ........................................................ 42 Figura 5. Elementos de un sistema IP ...................................................................................... 43 Figura 6. Vista frontal de la Raspberry Pi ........................................................................................44 Figura 7. Elementos de la Raspberry Pi ................................................................................... 47 Figura 8. Numeración de los pines en el puerto GPIO ............................................................. 49 Figura 9. Interfaz de escritorio LXDE ..............................................................................................51 Figura 10. LXTerminal ............................................................................................................. 51 Figura 11. Sistema de vigilancia propuesto .............................................................................. 53 Figura 12. Metamodelo del sistema de vigilancia propuesto.........................................................56 Figura 13. Ubicación del prototitpo dentro de la industria 4.0 y la internet de las cosas ......... 59 Figura 14. Diagrama de bloques del sistema de captura .......................................................... 64 Figura 15. Módulo de cámara de Rasberry Pi .......................................................................... 65 Figura 16. Sensor de movimiento infrarrojo ....................................................................................66 Figura 17. Conexión del sensor de movimiento infrarrojo en la Raspberry Pi ........................ 67 Figura 18. Sensor de gas ........................................................................................................... 67 Figura 19. Conexión del sensor de gas en la Raspberry Pi ............................................................68 Figura 20. Sensor de inclinación de mercurio .......................................................................... 69 Figura 21. Conexión del sensor de inclinación de mercurio en la Raspberry Pi ...................... 69 Figura 22. Sensor de tacto ..................................................................................................................70 Figura 23. Conexión del sensor de tacto en la Raspberry Pi .................................................... 70 Figura 24. Diagrama de bloques del sistema de sincronización ............................................... 71 Figura 25. Página principal de Dropbox Developers ......................................................................72 Figura 26. Pasos para la creación de la aplicación dentro de la App Console ......................... 72 Figura 27. Aplicación RemotEye ............................................................................................. 73 Figura 28. Página principal de Google Developers .................................................................. 74 Figura 29. Creación de la aplicación RemotEye en Google Developers .....................................75 Figura 30. Parámetros de validación e identificación de la aplicación RemotEye ................... 75 Figura 31. Diagrama de flujo de la lógica computacional del prototipo .................................. 78 Figura 32. Mensaje de activación del prototipo ..............................................................................82 Figura 33. Interfaz de ingreso a la aplicación móvil RemotEye .............................................. 90 Figura 34. Imágenes visualizadas dentro de la aplicación móvil RemotEye ........................... 90 LISTA DE TABLAS Pág. Tabla 1. Diferencias entre los sistemas de vigilancia ............................................................... 43 Tabla 2. Tipos de Rasbperry Pi ................................................................................................ 48 LISTA DE ANEXOS Pág. Anexo A. Configuración inicial de la Raspberry Pi ............................................................... 101 Anexo B. Configuración de la cuenta de correo electróncio de la Raspberry Pi ................... 103 Anexo C. Prototipo-sensor de movimiento infrarrojo ................................................................. 104 Anexo D. Prototipo-sensor de inclinación .............................................................................. 104 Anexo E. Prototipo-sensor de tacto ........................................................................................ 105 Anexo F. Prototipo-sensor de gas ................................................................................................... 105 Anexo G. Vista de correo electrónico enviado por el prototipo ................................................. 106 13 RESUMEN En la presente tesis se desarrolló un prototipo de sistema de vigilancia fundamentado en los conceptos de computación ubicua y comunicación M2M e implementados bajo el marco de la internet de las cosas. El objetivo de este prototipo es capturar imágenes de un lugar y permitir el acceso a estas en tiempo real y remotamente. Se estableció una comunicación medio-objeto y objeto-objeto para lograr el objetivo propuesto. La comunicación medio-objeto del sistema de vigilancia permitió monitorear diferentes variables del entorno y sus cambios de estado se mostraron a través de imágenes, para esto se utilizaron cuatro sensores que permitieron determinar el flujo de personas en un lugar, la presencia de gases en la atmosfera, la estabilidad de una superficie y la existencia de contacto entre una persona y el prototipo. La lectura de los cambios en el estado del medio por parte de los sensores fue procesada en un micro computador llamado Raspberry Pi. Se estableció una comunicación objeto-objeto entre la Raspberry Pi y un dispositivo móvil, cuyo puente de conexión en la comunicación fue establecido por el servidor de almacenamiento en la nube (Dropbox, Google Drive y Amazon). El fin de la comunicación objeto-objeto es la sincronización de las imágenes, de esta manera la información multimedia capturada por la Raspberry Pi fue enviada a la cuenta en la nube del usuario, para ser usada y/o consultada por el usuario desde su Smartphone o Tableta en tiempo real. La aplicación del sistema de vigilancia puede llevarse a cabo en diferentes entornos dada la necesidad de seguimiento y control de objetos y personas; esta tesis se enfocó en el desarrollo del prototipo y la descripción de su aplicación en los procesos propios de la ingeniería industrial Palabras clave: Internet de las cosas Monitorear Sincronización Ingeniería industrial 14 ABSTRACT The present thesis developed a system prototype of vigilance based on the concepts of ubiquitous computation and communication M2M and implemented under the framework of the Internet of the things. The aim of this prototype is to capture images of a place and to allow the access to these real time and remotely. A communication established environment-objetct and object-object to achieve the proposed aim. The communication environment-object of the system of vigilance allowed to monitor different environmetal variables status changes were shown through images, for this there were in use four sensors that allowed determining the flow of people in a place, the gas presence in the atmosphere, surface stability and existence of contact between a person and the prototype. The reading of changes in the state of the sensors made by was processed in a micro computer Raspberry Pi. Object-object communication between the Raspberry Pi and a mobile devices was established, the connection bridge in the comunication was established by the servant of storage in the cloud (Dropbox, Google Drive and Amazon). The end of the object-object communication is the synchronization of the images, so the multimedia information captured by the Raspberry Pi was sent to the account in the cloud user, to be real time used or consulted by the user from his Smartphone or Tablet. The application of the monitoring system can be carried out in different environments given the current need to monitor and control objects and people; This thesis focused on the development of the prototype and description of its application in the processes in industrial engineering. Keywords: Internet of Things Monitoring. Synchronization. Industrial Engineering. 15 INTRODUCCIÓN El avance continuo de la tecnología ha permitido desarrollar nuevos métodos de comunicación y transferencia de información entre las personas, además ha permitido ampliar el rango de participación dentro de estos sistemas incluyendo “cosas” u objetos que se encuentran en el entorno, lo cual implica que tanto las personas, los objetos y las aplicaciones informáticas establezcan una red de comunicación continua (Espada, 2012). La internet de las cosas ha aprovechado estos avances tecnológicos y la inclusión de nuevos elementos para posicionar dispositivos inteligentes en diferentes lugares para capturar, guardar, y administrar información permitiendo el acceso a esta desde cualquier parte del mundo (González, 2013). Es así como el campo de aplicación de la internet de las cosas exige que se desarrollen aplicaciones especializadas en las necesidades de las personas puesto que cada individuo que se encuentra dentro de una red de comunicación requiere información de diferentes entornos y objetos (Ramirez, 2010). Por estas razón es importante aplicar los conceptos de la internet de las cosas dentro de entornos comunes (hogar, lugar de estudio, lugar de trabajo, etc) para ampliar su espectro de usos; este proyecto está enfocado en la realización de un prototipo de sistema de vigilancia que permita enlazar diferentes tipos de dispositivos móviles a un servidor de información, el cual almacena imágenes capturadas mediante un micro computador conocido como Raspberry Pi. A través del acceso de las imágenes en tiempo real es posible monitorear de forma efectiva un lugar y tener control de esta aunque se esté a kilómetros de distancia. El desarrollo del prototipo de sistema de vigilancia se aborda a través de seis capítulos. El primer capítulo presenta una descripción general del proyecto en el cual se hace explicita la problemática actual de la internet de las cosas, la justificación y los objetivos que se pretenden alcanzar a lo largo del proyecto. En el segundo capítulo se establecen los fundamentos teóricos en los que se basa el desarrollo del prototipo, haciendo énfasis en los conceptos que giran en torno a la internet de 16 las cosas. En este capítulo también se incluye información relevante de la Raspberry Pi; aspectos de su hardware y software fundamentales para construir el prototipo. En el tercer capítulo se establece un acercamiento al sistema de vigilancia, se definen sus características, los subsistemas que hacen parte del sistema general y se establece la interacción entre estos. En el cuarto y quinto capítulo se describen detalladamente los subsistemas que hacen parte del sistema de vigilancia y se definen sus elementos. Dentro del capítulo sexto se expone la lógica de programación desarrollada que permite enlazar los subsistemas y poner en funcionamiento el prototipo. El capítulo séptimo se desarrolla la aplicación móvil para sistemas operativos Android, se presenta la interfaz y lógica de programación de la app. Finalmente se presentan las pruebas realizadas al prototipo que exponen la funcionalidad total del mismo, así como las conclusiones generadas a través del desarrollo del proyecto y los anexos correspondientes. 17 CAPÍTULO 1 DESCRIPCIÓN GENERAL DEL PROYECTO 1.1 Problemática Los sistemas de video vigilancia con almacenamiento en físico (disco duro) cuentan con procesos de evaluación de los datos dependientes de la disponibilidad de tiempo y localización del usuario dado que éste debe estar en el mismo lugar en el que se encuentran los equipos de almacenamiento y en el momento exacto en el que son capturados los datos, para transformarlos en información (Raúl y Manrique, 2011). Otros sistemas de video vigilancia han evolucionado permitiendo el almacenamiento en servidores públicos o privados a través de la internet y así mejorar y/o facilitar el acceso a la información. Aunque estos sistemas presentan mayor flexibilidad en cuanto a la transferencia de información pueden presentar debilidades respecto a la privacidad pues las conexiones entre componentes pueden ser alteradas desviando la captura hacia otros terminales impidiendo que se realice un análisis de los datos, por otro lado aunque estos sistemas de vigilancia esten dotados con la sincronización de información hacia la nube aún mantienen la estructura de un ordenador principal desde el cual una persona debe transferir manualmente la información. Teniendo en cuenta que la seguridad es un aspecto importante dentro de la industria y demás sectores económicos, la existencia de puntos débiles a lo largo del sistema de vigilancia puede generar pérdidas, hurtos o filtración de la información; gracias a la internet de las cosas se puede hacer uso de diferentes tecnologías de comunicación entre dispositivos (internet, redes inalámbricas, sensores, etc.) y de captura de información para fortalecer los sistemas de video vigilancia actuales generando así la oportunidad de desarrollar un sistema que permita enlazar dispositivos inteligentes móviles (permitiendo el acceso sin penalizar o reducir la movilidad del usuario) con una base de datos que almacene la información recopilada por un sistema de captura (Raspberry Pi) conectado a internet mediante conexión Wireless. 18 1.2 Justificación del proyecto La constante evolución de las tecnologías de comunicación móviles (2G, 3G y 4G) y el desarrollo de los dispositivos móviles ha captado y superado la cantidad de usuarios que en su momento de furor la telefonía fija tuvo; dichos avances en tecnología y en dispositivos han disminuido los costos de los servicios y el aumento del tráfico de datos/usuarios sobre la red convirtiendo la prestación de servicios relacionados (telefonía móvil, internet móvil e internet inalámbrico) en un negocio multimillonario (Zysman et al., 2000). Al aumentar la variedad de datos que se pueden soportar dentro de las diferentes redes de comunicación y el avance en la tecnología de los dispositivos móviles se ha permitido la exploración de diferentes campos para incursionar y el desarrollo de herramientas que han mejorado la calidad de vida de las personas y han aumentado los niveles de servicio y competitividad dentro de los sectores económicos. Un caso muy especial corresponde a la internet de las cosas, la cual ha aprovechado los avances que se han presentado en telecomunicaciones y en dispositivos móviles para proyectarse como una de las industrias más importantes del mundo generando $14.4 trillones de dólares (valor en juego para empresas e industrias) en el 2020. Aunque pareciera bastante desarrollada la internet de las cosas es una aplicación nueva de los avances descritos anteriormente, lo que plantea un sin fin de oportunidades por explorar y aspectos importantes que limitan su desarrollo por mejorar (Ma, 2014). Basados en la continua evolución y mejoramiento de las redes de conexión entre dispositivos inteligentes y el auge de estos dentro de la comunidad en general es imperativo la exploración y desarrollo de la internet de las cosas dentro del entorno nacional, teniendo en cuenta que es una corriente nueva en el mundo, ofrece grandes oportunidades para aumentar el nivel competitivo tanto en la industria como en la academia y mejorar las condiciones en el entorno social de cualquier persona, debido a la gran variedad de aplicaciones desarrolladas en diferentes países los procesos y actividades que se pueden actualizar y mejorar aplicando dicha herramienta informática son innumerables pero se encuentran limitadas directamente por condiciones exógenas a la aplicación de los sistemas basados en la internet de las cosas y que 19 serán identificables únicamente desarrollando aplicaciones y prototipos que pueda ser incluidos en las actividades básicas habituales e industriales. 20 1.3 Objetivos 1.3.1 Objetivo general Desarrollar un sistema de vigilancia aplicando conceptos de la internet de las cosas y el uso de servidores privados de almacenamiento que permita la captura y transferencia en tiempo real de imágenes y asegure su acceso y disponibilidad de manera remota en un dispositivo móvil. 1.3.2 Objetivos específicos Establecer el marco de comunicación entre el dispositivo móvil y el sistema de captura de imágenes mediante la aplicación de la internet de las cosas. Proponer la metodología de enlace del sistema con un servidor privado de almacenamiento de datos. Desarrollar el código de programación que permita la captura y transferencia de imágenes desde la Raspberry Pi teniendo como mecanismo de activación diferentes tipos de sensores. Realizar pruebas del sistema de vigilancia con diferentes sensores. 21 CAPITULO 2 FUNDAMENTO TEÓRICO En este capítulo se resumen los aspectos conceptuales y tecnológicos que son el punto de partida para el desarrollo del prototipo del sistema de vigilancia. Los temas son abordados en 5 etapas: 1. Definiciones y conceptos clave: en esta sección se aborda la temática de la internet de las cosas así como los conceptos en los que está basada: computación ubicua y comunicación M2M. 2. Tecnologías relacionadas: se presentan las tecnologías competentes a la internet de las cosas y sus características más relevantes. 3. Aplicaciones: en este ítem se presentan diferentes aplicaciones representativas que se han desarrollado en el campo de la ingeniería industrial, la medicina o telecomunicaciones, bajo el marco de la internet de las cosas. 4. Sistema de video vigilancia: se define un sistema de video vigilancia, se establecen sus características y se definen los tipos de sistemas vigentes. 5. Raspberry Pi: esta última parte está enfocada en el dispositivo electrónico Raspberry Pi que se constituye como una herramienta principal en el desarrollo del sistema de vigilancia. 22 2.1 Definiciones y conceptos clave 2.1.1 ¿Qué es la internet de las cosas? La internet de las cosas o IoT por sus siglas en inglés, Internet of Things, fue propuesta y desarrollada por la red de laboratorios de investigación mundial en el campo de la internet de las cosas, Auto-ID Labs, en el año 1999; IoT se basa en una red de identificación por radiofrecuencia o RFID que une los objetos mediante dispositivos de detección y la internet (Guo, Huang, Cai, y Qu, 2011). De esta manera es posible realizar una caracterización y/o descripción en tiempo real (recopilación de información pertinente para el usuario) de cualquier tipo de dispositivo electrónico y/o elemento del entorno. La internet de las cosas como red, puede verse en la Figura 1; esta red puede tocar cualquier objeto y cuerpo a través de vínculos intermediaros. Así mismo, esta red dispone de los medios disponibles para lograr la colección de datos en cualquier momento y transferir la información a través de redes de comunicación para su procesamiento por medio de computación en la nube o computación inteligente (Guo et al., 2011). Figura 1. Red de la Internet de las Cosas. Fuente: Guo et al. (2011). Tan y Wang (2010) establecen que la internet de las cosas es el futuro directo de la informática y las comunicaciones por lo que para su desarrollo es necesaria la combinación de 23 diferentes tipos de tecnologías innovadoras como soporte; estas tecnologías son definidas por Ramirez (2010), como: Tecnologías de marcación para el etiquetado de objetos Tecnologías inalámbricas y de rastreo Tecnologías de sensores para la detección de elementos en el entorno Tecnologías inteligentes, como materiales inteligentes e inteligencia en redes Tecnologías de miniaturización que permitan reducir los objetos Para Garcia (2012), la internet de las cosas es el resultado de las nuevas tecnologías y varios desarrollos técnicos complementarios que proporcionan capacidades que en conjunto ayudan a cerrar la brecha entre el mundo virtual y físico. Entre estas capacidades se encuentran: La comunicación y la cooperación: los objetos tienen la capacidad de interconectarse con los recursos de la internet e incluso entre sí para hacer uso de los datos, servicios y actualizar su estado; en esta medida son de gran relevancia las tecnologías inalámbricas como GSM y UMTS, Wi-Fi, Bluetooth, ZigBee, entre otros. Capacidad de direccionamiento: en la internet de las cosas los objetos pueden ser localizados y configurados de forma remota. Identificación: los objetos pueden ser identificados de forma única a través de las tecnologías de RFID (Radio Frequency IDentification), NFC (Near Field Communication) y los códigos de barras de lectura óptica. Percepción: los objetos pueden recopilar información relativa a su entorno mediante sensores pudiendo grabar esa información, reenviarla o reaccionar ante esta. Procesado de información: los objetos inteligentes tienen capacidad de almacenamiento y un procesador que le permite interpretar la información. Localización: las cosas inteligentes tienen conocimiento de su ubicación física o pueden ser fácilmente localizadas. Esto se consigue con tecnologías como GPS (Global Positioning System) o la red de telefonía móvil. Interfaces de usuario: los objetos inteligentes pueden comunicarse con la gente de manera apropiada (ya sea directa o indirectamente, por ejemplo a través de un teléfono inteligente). Aquí son de gran importancia nuevos paradigmas de interacción como interfaces de usuario 24 tangibles, displays flexibles a base de polímeros o los métodos de reconocimiento de voz, imágenes o gestos. De este modo, la internet de las cosas propone conectar todos los objetos físicos basada en la infraestructura de internet para el intercambio de información; en esta visión los dispositivos y objetos ya no están desconectados del mundo virtual sino que pueden ser controlados remotamente y actuar como puntos de acceso a los servicios (véase Figura 2). Figura 2. Flujo de información en la internet de las cosas. Fuente: Fundación de la innovación Bakinter (2011) 2.1.2 Computación ubicua La computación ubicua surgió a principios de 1990 por Mark Weiser. Este concepto está definido como el método para mejorar el uso del ordenador haciéndolo efectivamente invisible para el usuario y se caracteriza fundamentalmente por la conexión de las cosas con la computación (R. Liu, Wang, Yang, y Pan, 2004); de esta manera al desaparecer el ordenador de los ojos de la gente ésta puede centrarse únicamente en la tarea y no la herramienta (Y. Liu y Feng, 2006). La computación ubicua o UbiComp tiene dos grandes objetivos: a) reducir la cantidad de atención que invierten los usuarios en los dispositivos y b) generar las interconexiones necesarias para acceder a cualquier tipo de información en cualquier momento y cualquier lugar (Lupiana, O’Driscoll, y Mtenzi, 2009). El concepto de la computación ubicua es un cambio de paradigma desde un punto de vista tradicional de la computación. Esta nueva tendencia de la informática y de las tecnologías 25 de comunicación está basada en la miniaturización, gracias a esto los dispositivos móviles y los dispositivos inteligentes se han tornado elementos esenciales pero invisibles en el diario vivir de cualquier persona.; dichos dispositivos están provistos de sensores y sistemas de comunicación los cuales les permiten interactuar con el entorno para recopilar información y posteriormente compartirla con cualquier usuario, es decir la computación ubicua permite el acceso a todo tipo de información referente a cualquier cosa en cualquier lugar. Actualmente el énfasis de los estudios relacionados con la computación ubicua hacen referencia a los usos prácticos que se pueden llegar a desarrollar dentro de los diferentes entornos sociales y laborales (Sakamura y Koshizuka, 2005). Los entornos en los cuales se puede aplicar la computación ubicua deben contar los siguientes requisitos obligatorios, los cuales son la base fundamental para el éxito de esta nueva tendencia en un ambiente cotidiano: a) uso constante de dispositivos diferentes a computadores de escritorio (tabletas, Smartphone, sensores inteligentes, roomwares, etc.) y b) una infraestructura inalámbrica estable que permita un flujo constante de información. También es posible clasificar el entorno de aplicación de la computación ubicua dependiendo del tipo trabajo que se esté realizando (es importante aclarar que estos entornos incluyen grupos de personas que posiblemente no se encuentren en la misma ubicación geográfica). Según Lupiana et al., (2009) se tienen cuatro clasificaciones generales: 1. Entornos creativos: generación de ideas referentes a productos o proyectos, es necesario una conectividad flexible para la entrada y salida de los dispositivos. 2. Entornos para reuniones: herramientas de apoyo que permiten la integración de las personas facilitando la explicación de ideas y puntos de vista (pizarras eléctricas, proyectores inalámbricos, etc.). 3. Entornos inteligentes: espacios cotidianos dotados de herramientas inteligentes dedicados al análisis y a la observación del medio y actúan de manera automática de acuerdo a ciertos parámetros preestablecidos (dedicados a facilitar las operaciones del usuario) 4. Entornos ambientales: son entornos totalmente integrados con dispositivos conectados a redes inalámbricas que permiten controlar de manera inteligente el medio proporcionando un interfaz amigable que presente la información requerida por el usuario. 26 2.1.3 Comunicación máquina a máquina M2M M2M es la combinación de la tecnología de la información y la comunicación con las máquinas con el fin de proporcionarles una medida para interactuar entre sí haciendo uso de la mínima intervención humana, pretendiendo aumentar la comodidad y seguridad del usuario final (Meddeb, Alaya, Monteil, Dhraief, y Drira, 2014). Esta comunicación máquina a máquina hace referencia a las tecnologías que permiten a los sistemas comunicarse con otros dispositivos de las mismas características a través de dispositivos tales como sensores, para capturar un evento y posteriormente transmitir los datos a través hasta una aplicación de software. Independientemente del tipo de máquina o del tipo de datos, la información fluye generalmente de la misma forma, desde una máquina a través de la red y conducida a través de una puerta de enlace (gateway) a un sistema donde es procesada. En la arquitectura M2M se pueden diferenciar dos integrantes: los usuarios M2M, que son las personas que se conectan a la red por medio de ordenadores o equipos similares, y los terminales M2M, que son dispositivos de tercera generación (tabletas y Smartphone) especialmente adaptados para este tipo de comunicación. La comunicación entre sistemas y transferencia de datos puede darse en dos sentidos: uplink, para recoger información del proceso y downlink, para el envío de instrucciones, actualizaciones de software, o para controlar remotamente los equipos (Garcia, 2012). Los elementos básicos que aparecen en todos los entornos M2M son los siguientes: Sistema que se desea gestionar que pueden ser mecanismos de alarma, sistemas de control de gasto energético, dispositivos informativos, estaciones meteorológicas, entre otros. Dispositivo M2M, es el terminal conectado al sistema que proporciona comunicación con el servidor y se encarga de la interacción con los elementos a monitorizar. Servidor, es el ordenador que se encarga de la gestión del envío y recepción de información de los sistemas. Red de comunicación que se encarga de la transmisión de los datos ya sea a través de cables o de forma inalámbrica. Aplicaciones que se encargan de recopilar, almacenar y analizar la información recogida por los dispositivos y de tomar las decisiones de acción necesarias. 27 2.2 Tecnologías relacionadas Las tecnologías más relevantes asociadas al desarrollo de la internet de las cosas y sus posibles aplicaciones están lideradas por RFID (Identificación por radiofrecuencia), EPC (Código Electrónico de Producto), y NFC (Comunicación en Campo Cercano). A continuación se realiza una presentación de cada una de ellas. 2.2.1 RFID “Radio Frecuency Identification (RFID) es una tecnología de punta para la completa identificación de objetos de cualquier tipo que permite una rápida captura de datos de manera automática mediante radio frecuencia” (Miquel, Parra, Lhermie, y Miquel, 2006, p.332). Para Lee, Shin, y Kim (2007), RFID es un método de identificación automática basado en el almacenamiento y recuperación de datos que utilizan ciertos dispositivos llamados etiquetas RFID. La premisa básica detrás de los sistemas de RFID es marcar los artículos con etiquetas. Estas etiquetas contienen transpondedores (dispositivos receptores y transmisores de señales) que emiten mensajes legibles por los lectores RFID. Una de las extensiones más comunes de las técnicas de identificación de objetos es la función de seguimiento. Las personas pueden usar la técnica RFID para transferir los objetos físicos al sistema digital. A medida que estos datos de identificación de entrada en el sistema con información adicional, como la hora, la ubicación o incluso datos de sensores, se les da a los objetos una nueva característica, la trazabilidad (Weinstein, 2005). Además de la trazabilidad, con el uso de esta tecnología se obtienen las siguientes ventajas (Miquel et al., 2006): Mayor automatización en el proceso de lectura de las etiquetas puesto que la lectura se puede realizar sin necesidad de tener una línea de visión directa con el dispositivo lector. Ahorro en tiempo de lectura de las tarjetas ya que es posible realizar la lectura simultanea de más de una etiqueta. Visibilidad completa de toda la información almacenada dado que la información permanece intacta en la etiqueta. 28 Un sistema RFID está conformado habitualmente por tres elementos (véase Figura 3): etiquetas (Tags), lectores y Middleware para integrar datos con diferentes aplicaciones (Fuchsíková, Kebo, y Pavel, 2012). Figura 3. Elementos de un sistema RFID. Fuente: Chavira et al. (2007). 2.2.1.1 Etiquetas RFID La tecnología RFID utiliza tarjetas dotadas de un microchip que almacena datos y un circuito impreso a modo de antena emisora, utilizado para comunicarse a través de las señales de radio frecuencia. Las etiquetas RFID se pueden unir a cualquier artículo y se pueden adaptar a cualquier condición (humedad, polvo, suciedad, entre otros). Las tarjetas o etiquetas son clasificadas en dos categorías generales, activas y pasivas, dependiendo de su fuente de energía eléctrica. Las etiquetas activas tienen su propia fuente de energía y al transmitir una señal más fuerte los lectores pueden acceder a ellas desde una distancia más lejana (de 20 a 100 metros), así mismo, estas características hacen que este tipo de etiquetas sean más grandes y más costosas. Por otro lado, las etiquetas pasivas son más baratas y más pequeñas puesto que al no contar con una batería integrada recogen la energía del campo electromagnético creado por el lector (Rubio y Villarroel, 2012). 2.2.1.2 Lectores RFID Un lector es un dispositivo electrónico que se comunica con las etiquetas través de la antena y lee la información almacenada en la etiqueta RFID. El lector puede tener diversas formas de diseño ya sea como una forma fija o como un terminal móvil (Fuchsíková et al., 2012). 29 El lector de RFID crea un campo de frecuencia de radio que detecta las ondas y puede ser capaz de leer datos desde un transpondedor (dispositivo transmisor de señales) y escribir datos hacia este. Cuando una etiqueta RFID pasa a través de un campo de radiofrecuencia generado por un lector compatible la etiqueta refleja de vuelta al lector la información de identificación sobre el objeto al que está unido identificando así ese objeto. 2.2.1.3 Middleware RFID Es un tipo especial de software que se utiliza para recoger y filtrar datos de los dispositivos de lectura RFID. A través de este software se gestiona en tiempo real la información de lectura que han hecho los lectores, se recopilan los datos procesados, se transforman y se transfieren a otros sistemas de información existentes (Fuchsíková et al., 2012). 2.2.2 EPC El Código Electrónico de Producto (EPC) es un identificador universal basado en Identificadores Universales de Recursos (URIs); este código proporciona una identidad única para cada objeto físico en cualquier parte del mundo y para todos los tiempos (Karakostas, 2013). El EPC está diseñado para facilitar los procesos y aplicaciones que requieren manipular los datos de visibilidad de los objetos físicos. El EPC es un esquema de numeración que proporciona una identificación única para objetos físicos y sistemas. Esta identificación debe ser lo suficientemente grande como para enumerar todos los objetos y para dar cabida a todos los métodos de asignación de nombres actuales y futuros. La numeración en EPC está basada en EPC-64, EPC-96 y EPC-256, tres modos de codificación, que son respectivamente 64, 96 y 256 bits de longitud (Liang y Lian, 2012). No importa qué tipo de modo de codificación se utilice, el EPC incluye: Cabecera que identifica la longitud, tipo, estructura, versión y generación del EPC. Número de Administrador que identifica la empresa o fabricante del objeto. Clase de objeto. Número de serie, que es la instancia especifica de la clase de objeto que se etiqueta. 30 Las etiquetas de RFID almacenan un EPC único en un chip y transmiten este código a través de una antena para lectores de RFID. En un entorno de red EPC global, un lector lee el código EPC en los objetos y se transmite al servidor de asignación de nombres de objeto ONS. Al consultar en el servicio EPC-información del servidor utilizando el código EPC se puede obtener la información detallada del objeto (Lee et al., 2007). 2.2.3 NFC NFC (Comunicación en Campo Cercano) es una tecnología inalámbrica de comunicación entre dispositivos (especialmente teléfonos móviles y asistentes personales). Esta tecnología fue desarrollada por Philips y Sony en 2002, y combina la tecnología de conectividad inalámbrica RFID y tecnologías de interconexión para ofrecer una comunicación inalámbrica de corto alcance y de alta frecuencia entre dos dispositivos NFC ubicados a menos de 20 cm (Sarma, Brock, y Engels, 2001). Los sistemas NFC constan de dos elementos: a) el iniciador, el cual comienza y controla el intercambio de información y b) el objetivo, que es el dispositivo que responde al requisito del iniciador. En un sistema NFC hay dos modos de funcionamiento: activo y pasivo. En el modo activo los dispositivos generan su propio campo de radio frecuencia para transmitir datos. En el pasivo, sólo uno de estos dispositivos genera el campo de radiofrecuencia mientras que el otro se utiliza para cargar de modulación para transferencias de datos (Chavira, Nava, Hervas, Bravo, y Sanchez, 2007). 2.3 Aplicaciones en el campo de la ingeniería industrial 2.3.1 ALMA (A Logistic Mobile Application) ALMA es una aplicación móvil que permite tener en cuenta la naturaleza dinámica de los problemas logísticos mejorando la calidad del servicio y la satisfacción de los clientes. Debido a la cantidad de teléfonos inteligentes que existen en la actualidad es la mejor forma para informar sobre las ocurrencias dentro del proceso de entrega de cualquier tipo de producto 31 (tráfico pesado, fallas en el motor, retenes excesivos, etc.) y del tiempo que se invertirá en darle solución a dichas ocurrencias sin generar un malestar en la infraestructura total de las actividades logísticas. La aplicación ALMA está basada en High Performance Computing o HPC, una infraestructura que hace uso de clusters (computadoras creadas con hardwares similares que se comportan como una única gran computadora), grids (computación distribuida con recursos compartidos) y redes P2P (computadoras conectadas en red que pueden funcionar sin clientes ni servidores) a través de una localización que tenga la disponibilidad de dispositivos necesarios; debido a los avances tecnológicos (desarrollo de la banda ancha y su comercialización) la comunicación P2P se ha tornado la más económica y atractiva para dar solución a gran variedad de problemas logísticos que se han presentado hasta la actualidad. La arquitectura general de ALMA se basa en dos estructuras, la estructura de comunicación y la estructura HPC. 2.3.1.1 Estructura de comunicación Todos los productos son identificados por etiquetas inteligentes; cuando un bien es entregado la persona encargada de realizar el transporte escanea la etiqueta y transmite toda la información en tiempo real a los encargados en el centro de logística, esta operación se realiza a través de un teléfono inteligente conectado a través de 3G o Wi-Fi. Del mismo modo cualquier novedad (cambios de ruta por tráfico, trafico excesivo, fallos mecánicos, etc.) que se genere dentro del proceso de transporte será informada a través de la aplicación, la información será recopilada por el centro de control lo que permitirá tener un registro continuo del estado de cualquier producto que está siendo transportado o que será transportado. 2.3.1.2 Estructura HPC La estructura HPC está compuesta por el corredor y por el entorno para la comunicación. El corredor está diseñado para seleccionar la mejor estructura HPC entre varias posibilidades, estas arquitecturas pueden ser clusters, grids o redes P2P. Para un problema determinado, el agente encargado selecciona la topología y los dispositivos que estarán involucrados. El principal objetivo del corredor es facilitar la selección de la estructura informática que cumplirá con las restricciones (tiempo, distancia, etc.) para la transmisión de información en tiempo real. 32 Se reconocen dos actividades principales dentro del diseño del corredor: 1) la supervisión de los recursos informáticos disponibles (red P2P, grids o los clusters) y 2) el tiempo de computo (computation time) para el problema que está siendo considerado. Por otra parte, el entorno para la computación está basado en P2PDC, el cual es un entorno descentralizado P2P dedicado especialmente a la realización de aplicaciones o actividades paralelas. P2PDC es usado por científicos que desean realizar simulación numérica o para resolver problemas de optimización a través de metodológicas iterativas que necesita un intercambio de datos constante entre colegas. La aplicación ALMA combina un estructura de comunicación y actividades de computación paralela/distribuida con el fin de obtener rápidamente soluciones para los diferentes inconvenientes generados dentro de las rutas de distribución o las actividades logísticas, la infraestructura HPC hace uso de un corredor para seleccionar el método tecnológico más convenientes y designar el número de recursos necesarios para llevar a cabo cálculos de acuerdo a unos límites establecidos por la misma actividad en estudio (El-Baz, Bourgeois, Saadi, y Bassi, 2013). 2.3.2 Sistema de monitoreo para la calidad de alimentos Debido a la importancia de la calidad de los alimentos dentro del proceso de producción y distribución de estos se ha planteado un sistema de recopilación de información basado en la internet de las cosas donde es posible intercambiar información en tiempo real, compartir recursos y mejorar la sincronía entre actividades. Los usuarios del sistema de vigilancia proporcionan diferentes estructuras dependiendo del tipo de actividad que realicen, esto implica que la información a la que se puede acceder está determinada por la función de los individuos dentro de todo el proceso logístico (seguridad de la información por capas de accesibilidad). A continuación se describen las diferentes capas dentro de la estructura de la aplicación. Sensing network o capa de detección es la fuente de datos, no solo es usada para la recopilación de datos (por medio de dispositivos externos) que se producen dentro de los procesos de fabricación, procesamiento, distribución y ventas sino que también provee todas las herramientas para la recopilación de los datos, la transmisión de la información y 33 la visualización de esta. Los dispositivos para la recopilación de información incluyen dispositivos RFID, barras de código, lectores de código QR, camas de video, sensores infrarrojos, GP y otros dispositivos. La capa de red y transporte está integrada por la red de comunicación móvil, internet y otras redes de uso privada (conexión WLAN o comunicación por satélite). Por medio de esta capa y por diferentes tipos de conexión los dispositivos externos que hacen parte de la capa de detección “ofrecen” la información recopilada a la capa de aplicación (interfaz con la cual interactúa directamente el usuario) con altos grados de accesibilidad, confiabilidad y seguridad. La nube permite el almacenamiento permitiendo alcanzar una administración masiva de datos, una gestión centralizada (evita la desviación de información), estandarización de los datos (formatos únicos para la presentación de la información), intercambio de información, administración de la información para varias capas de detección, etc. La capa de gestión y la capa de aplicación están diseñadas para asegurar el intercambio de información entre los departamentos encargados de diferentes actividades logísticas y los usuarios que hacen parte de estos, es decir que existe una comunicación entre las diferentes aplicaciones diseñadas para los diferentes departamentos y usuarios del sistema. Una combinación de la información de los departamentos gracias a la internet de las cosas genera un mayor conocimiento de la información relevante dentro de todas las actividades logísticas. En este caso las etiquetas RFID usadas dentro del proceso de fabricación se utilizan para registrar la información de materias primas (fechas de inspección, fecha de fabricación, número de lote, fecha de vencimiento, etc.), además es posible incluir información relacionada con los fabricantes. Las etiquetas utilizadas dentro del proceso de distribución son usadas para registrar la información sobre la circulación de los productos, información sobre el tipo de almacenamiento e información sobre la estantería donde se almacenarán (esto para asegurar las condiciones y preservar la calidad de los productos). Toda la información recopilada es administrada mediante un RFID middleware el cual se encarga de generar las conexiones necesarias para llevar toda la información hasta la capa de aplicación que es usada por el usuario. 34 La tecnología clave dentro de los sistemas de almacenamiento digital que son usados dentro del sistema de vigilancia para los alimentos incluye: 1. Arquitectura básica que permite el almacenamiento, despliegue y gestión de la información almacenada. 2. Gestión integrada de todos los servicios caracterizada por el acceso, organización y gestión de las aplicaciones de forma integrada (interconexiones entre todas las capas de aplicación para cada uno de los usuarios). 3. Uso y construcción de protección en cada uno de los dominios, se implementan niveles de seguridad en cada una de las capas del sistema (seguridad operacional y seguridad de la información). Es imprescindible un sistema de seguridad debido a la cantidad de información que es compartida entre los diferentes departamentos (Ying y Fengquan, 2013). 2.3.3 Cadena de suministro inversa inteligente La gestión de la cadena de suministro inversa está orientada hacia todo el ciclo de vida de los productos y representa todas las actividades necesarias para reciclar los productos usados por los clientes. Los participantes de la cadena de suministro son los usuarios de los productos (clientes), recicladores (o reciclaje de la empresa), los fabricantes, proveedores, mayoristas, minoristas y proveedores de servicios. La cadena de suministro inversa se basa en procedimientos complejos de reciclaje de productos, lo que implica la necesidad de contar con medios eficaces para la recolección e información en tiempo real, así como de un sistema de procesamiento de la información para gestionar los procesos logísticos y sistemas de inventario. Hoy en día, basado en RFID, sensores, alto rendimiento de la informática, las tecnologías y las nanotecnologías inteligentes, el desarrollo de la internet de las cosas resolverá con eficacia los problemas más importantes que se presentan en las actuales aplicaciones relacionadas con la cadena de suministro inversa (limitación del sistema, incertidumbre de los sistemas logísticos y escasez de datos en tiempo real), a través de una cadena de suministro inversa inteligente SRSC (Smart Reverse Supply Chain). 35 La cadena de suministro inteligente es un concepto en ingeniería de gestión de fabricación verde que permite la combinación inteligente de reciclaje, ERP (Enterprise Resource Planning), CRM (Customer Relationship Management) y sistemas de SCM (Supply Chain Management) en una empresa. A través del uso de etiquetas y sensores electrónicos RFID, la SRSC permite la gestión en tiempo real de la información del producto durante todo su ciclo de vida. Cada producto a ser rastreado es fijado a una etiqueta RFID. La comunicación tiene lugar cuando las etiquetas entran en la zona de cobertura fija o portátil de los lectores RFID; la información codificada del objeto etiquetado integrada en un microchip es capturada y transmitida automáticamente. A cada producto o reciclable se le asigna un código EPC único, que es guardado en las etiquetas de RFID y unido a los elementos. Al mismo tiempo, los detalles y atributos de este código único se almacenan en el servidor EPCIS (EPC Servicios de Información). Cuando un producto se identifica y registra durante su uso y procesos de reciclaje, la URI (Universal Resource Identifier) del producto puede ser obtenida a través de la ONS (Object Naming Service) y de esta manera el seguimiento automático se logra través de la comunicación de red. Dentro de la red existe un centro de reciclaje que desempeña un papel importante en el sistema ya que toma de las tareas de seguimiento de los productos, información acerca de cualidades y disponibilidades que transmite al centro de reciclaje a través de un variedad de comunicaciones de red tales como: GSM, CDMA, WiFi, WiFi, Zigbee, etc. En SRSC, la aplicación de la internet de las cosas permite la recopilación y gestión de la información en tiempo real sobre el ciclo de vida del producto, lo que reduce en gran medida la incertidumbre del sistema, se da cuenta de la gestión inteligente de inventario y logística e integra las cadenas de suministro para formar sistemas de circuito cerrado. El modo de integración de SRSC basado en la internet de las cosas se compone de tres capas: a) la capa de detección, b) la capa de red y c) la capa de aplicación. Basándose en la detección y la información de la tecnología red de la IoT, se integra el sistema de rastreo de los productos, los sistemas de predicción, sistemas de reciclaje/detección/categorización, sistemas de logística inversa y gestión de inventario, sistemas de re-fabricación y ventas, sistemas de 36 evaluación, etc. Este modo de integración no solo incluye el manejo de información dentro de una empresa, sino también involucra el reciclaje y re-manufactura (Xu, Wu, y Guo, 2011). 2.3.4 Gestión de la cadena de suministro de productos de agricultura verde La gestión de la cadena de suministro agrícola se enfoca en los temas de contaminación, seguridad, calidad, nutrición y elección verde de los consumidores para lograr una efectiva gestión de los productos verdes, seguros y saludables; de esta manera debe establecer un sistema de trazabilidad eficaz que le permita mejorar los productos y el mercado. La Internet de las cosas como tecnología de la información actual se ha convertido en uno de los factores clave en la trazabilidad de la cadena de suministro de este tipo de productos. Estas cadenas de suministro se componen de cuatro áreas: la cadena de producción de alimentación, enlaces de producción, procesamiento y acoplamiento al por menor; en una estructura de red determinada por la logística, el flujo de información y el flujo de capitales y cuyo objetivo es integrar la demanda de los consumidores para maximizar la satisfacción de los clientes y reducir al mínimo el costo de la producción. Debido a las características de la cadena de suministro de productos verdes, la logística requiere un flujo de información más rápido en el tiempo y en el espacio, requiere condiciones más estrictas de almacenamiento, de esta manera los productos agrícolas verdes exigen una trazabilidad mayor dada su naturaleza de continuo movimiento. La internet de las cosas contribuye a mejorar la trazabilidad de los productos a través de la aplicación de la tecnología EPC. El EPC tiene una etiqueta de lectura con la función de escritura de datos de fácil miniaturización y diversificación de la forma, reutilizable, de buena capacidad de almacenamiento de datos y otra características que la hacen adaptable en el suministro de datos a lo largo de la cadena, permitiendo la comunicación de datos, gestión de almacenes, gestión de transporte, gestión de la producción, seguimiento de materiales y la identificación y significativamente el efecto látigo en la cadena de suministro. 37 Así mismo, el uso de RFID y la tecnología de base de datos de red, integran todos los tipos de producción, la circulación y calidad de los productos, la seguridad, almacenamiento y transmisión de la información, la cadena de suministro verde y construye el sistema de seguimiento del producto verde. Esta base de datos archiva toda la información de la cadena de suministro con fines normativos para proporcionar información a los consumidores, realizar un seguimiento en la plataforma, y garantizar transparencia en todo el proceso de la cadena. La trazabilidad basada en la internet de las cosas se aplica también en el ganado. Haciendo uso del número de identificación único de la etiqueta RFID se registra toda la información pertinente a la cría. El chip Applied Animal RF maneja la gestión del sistema de información de la salud de un solo animal a lo largo de todo el proceso de registro de la cría, información sobre alimentación, registros médicos, medicamentos administrados, etc. En el proceso de distribución, la etiqueta EPC de los productos agrícolas verdes o embalaje actualiza la información, por lo que los administradores pueden hacer un exacto control del inventario y de esta manera acelerar el proceso de entrega y distribución, mejorar la eficiencia de la selección y reducir el trabajo y los costos de distribución. En el comercio minorista, el cliente a través de la compra en el "asistente de compras" puede encontrar los productos agrícolas verdes que busca. A través del uso de los estantes con escáner integrado, el personal controla el flujo de bienes para lograr reposición oportuna y reducir el costo de inventario (Li, 2011). 2.4 Aplicaciones en otros campos 2.4.1 Medicina y cuidado de la salud Con el desarrollo de la internet y la aparición de posibilidades electrónicas para diagnosticar enfermedades (médico electrónico) se crea una modificación de la internet de las cosas la cual permite mediante sensores inalámbricos y redes de internet, un flujo de información que integra los hospitales, los médicos y los pacientes generando un nuevo modelo médico. 38 Las principales aplicaciones de la internet de las cosas dentro del nuevo modelo de medicina pueden ver evidenciadas en las siguientes campos: 1. Equipo médico y control de la medicación: sistemas de trazabilidad que permiten controlar los procesos de producción, entrega, anti-falsificación y rastreo de equipos médicos y medicamentos garantizando la calidad de la medicina. 2. Prevención de la falsificación de los medicamentos y el quipo medico: identificación de los productos mediante la adhesión de etiquetas RFID en las cuales se puede consultar información. 3. Monitoreo constante en tiempo real: las etiquetas RFID aplicadas dentro del procesos de producción, circulación y uso de medicamentos llevan un registro del estado de los productos principalmente dentro de los procesos de envase puesto que estos son realizados de forma automática (verificación de los estándares de producción). 4. Administración de los desechos médicos: aplicación de etiquetas RFID que permiten realizar el mapeo y ubicación de la basura médica generando un registro de la ubicación donde se genera la gestión de los residuos. 5. Administración de la información médica: la internet de las cosas ha sido aplicada en la administración de la información médica gracias a la demanda de hospitales para la identificación de los pacientes o médicos, identificación de medicamentos, equipos médicos o productos químicos de laboratorio, además permite generar un registro del estado de cualquier enfermedad o los posibles signos de aparición de una de ellas. 6. Administración de la información del paciente: perfil electrónico del paciente, el cual incluye la historia clínica, exámenes médicos, registros de tratamientos y posibles alergias a medicamentos. 7. Administración de las emergencias médicas: gracias a la recopilación y almacenamiento de información del paciente en tarjetas RFID se facilita la identificación del paciente y sus familiares cercanos. 8. Administración del stock de medicamentos: reduce las operaciones manuales que incluyen procedimientos de registro y conteo de stock de inventarios, de esta manera se puede identificar rápidamente la cantidad de medicamentos disponibles y garantizar el suministro oportuno de estos a los pacientes. 39 9. Mecanismos de prevención en preparaciones farmacéuticas: a través de la construcción de procedimientos y el almacenaje de estos dentro de las etiquetas RFID se logra la estandarización de los procedimientos para la aplicación de medicamentos, la información almacenada dentro de las etiquetas incluye la dosis, el nombre del paciente, el tipo de medicamente y la posología. 10. Compartir información: gracias a la creación de una red entre hospitales es posible compartir la información que se encuentra en las etiquetas inteligentes (información sobre medicamentos, equipos médicos, médicos y pacientes) y permitir el acceso a la información en diferentes hospitales por diferentes médicos autorizados. 11. Sistema antirrobo neonatal: sistema que integra la identificación y recopilación de información de los padres y del bebe asegurándose de que no exista ninguna posibilidad de extraviar algún bebe dentro de los hospitales. 12. Sistema de alarma: información del estado del paciente almacenada dentro de etiquetas inteligentes acompañada de alarmas que son activadas cuando existe alguna variación en su estado actual (Hu, Xie, y Shen, 2013). 2.4.2 Aviación e industria aeroespacial La internet de las cosas puede ayudar a mejorar la seguridad general en los servicios que son prestados por las aeronaves; la industria de la aviación se encuentra amenazada constantemente por partes sospechosas no probadas (sus siglas en ingles SUP). Una SUP es una parte que no garantiza los estándares básicos de calidad (esencialmente materiales con los que son construidas) para ser utilizada dentro de una aeronave, actualmente la única forma de confirmar la autenticidad una pieza son documentos que pueden ser fácilmente falsificados lo cual aumenta el riesgo de incluir SUP dentro de una aeronave aumentado la probabilidad de accidentes. Esta problemática puede ser fácilmente resuelta mediante la inclusión de etiquetas inteligentes para ciertos tipos de piezas (donde se documente su lugar de procedencia y las recomendaciones para la seguridad durante todo su ciclo de vida), esta información será almacenada en un servidor descentralizado el cual pueda ser consultado por todos los ingenieros 40 y encargados de la construcción y reparación de las aeronaves reduciendo de esta manera la cantidad de piezas SUP que puedan ser utilizadas e instaladas dentro de las aeronaves. También es posible realizar un monitoreo inalámbrico continuo de cada una de las piezas cuando estas son usadas mediante la aplicación de sensores dentro y fuera de las aeronaves lo que facilitara la planeación para el mantenimiento y el cambio de las piezas disminuyendo los costos excesivos por mantenimientos innecesarios. Es posible de igual manera desarrollar sistemas de monitoreo para asegurar la calidad que es percibida por los usuarios de las diferentes aerolíneas aplicando etiquetas inteligentes dentro de las bodegas de los aviones y en los procesos que preceden los transportes aéreos (manipulación y transporte desde las bodegas hasta la bodega de los aviones), de esta forma la satisfacción de los clientes estará asegurada (De Saint-exupery, 2009). 2.4.3 Telecomunicaciones La creación de la internet de las cosas ha permitido ampliar y fusionar las diferentes tecnológicas creando nuevas posibilidades y medios de comunicación entre los usuarios y las cosas (GSM, tecnología NFC, Bluetooth, redes multi hop, SIM cards, etc.). Para todos los tipos de comunicación el teléfono móvil hace parte indispensable del sistema de interacción puesto que es el lector de toda la información y además permite transmitir dicha información a servidores donde puede ser almacenada, filtrada y administrada según las necesidades del usuario. A largo plazo y gracias al desarrollo de nuevas posibilidades de transferencia de información y el auge de los teléfonos móviles (además de la implementación de nuevas tecnologías dentro de estos) la frontera de la internet de las cosas y las telecomunicaciones se difuminara permitiendo una combinación total generando servicios situacionales de comunicación (transferencia inmediata y automática de la información independiente del método comunicación entre objetos y sin importar los dominios) permitiendo que los usuarios tengan una comunicación ilimitada aprovechando la comunicación con el entorno y la informática establecida dentro de este (De Saint-exupery, 2009). 41 2.5. Sistema de video vigilancia Un sistema de video vigilancia se define como la supervisión local o a distancia del funcionamiento de una instalación a través de técnicas de telecomunicaciones e imágenes captadas por cámaras. Haciendo uso de grabaciones de video el sistema permite tener control del lugar (Rey, 2011). Un sistema de video vigilancia puede ser implementado en diversos ambientes dada su facilidad de adquisición, instalación y manejo, de esta manera es posible encontrar este tipo de sistemas dentro de las empresas industriales, comerciales o áreas residenciales, apoyando los procesos de seguridad. Las características relevantes que definen un sistema de video vigilancia según Pelaez (2013), son las siguientes: Seguridad de intrusión: permite visualizar y grabar movimientos que se presentan al interior o exterior de un edificio para evitar, detectar o analizar intrusiones. Control de acceso: permite registrar y autorizar la entrada y/o salida de personal o vehículos en un espacio cerrado. Control de robos: permite realizar el seguimiento de clientes y trabajadores en una empresa, oficina o local. Dentro de los sistemas de video vigilancia existentes en la actualidad se destacan los sistemas analógicos o circuito cerrado de televisión CCTV y los sistemas digitales IP. 2.5.1 Circuito cerrado de televisión Un sistema CCTV es un circuito cerrado de televisión, definido como un sistema privado de transmisión y visualización de imágenes al que solo pueden acceder un grupo limitado de personas (véase Figura 4). Este sistema está compuesto por cámaras analógicas conectadas a uno o varios monitores en un circuito cerrado, los cuales reproducen las imágenes captadas por las cámaras. Así mismo, las cámaras transmiten su señal a través de un cable coaxial a un grabador de video digital o DVR (Digital Video Recorder), el cual se encarga de la gestión y control de las imágenes. 42 El DVR es el dispositivo central en este sistema de video vigilancia. Todas las cámaras de vigilancia y el monitor son conectados a este equipo, el cual recibe la señal analógica de las cámaras y la transforma en digital para permitir su grabación y visualización (Rey, 2011) Figura 4. Elementos de un circuito cerrado de televisión. Fuente: Elaboración propia. 2.5.2 Sistema IP En los sistemas de video vigilancia IP, la transmisión de las imágenes se realiza a través de una red TCP/IP cableada o inalámbrica y la grabación se realiza a través de cámaras IP (véase Figura 5). Las cámaras IP capturan el video/audio digital y pueden ser fijas o móviles; estas cámaras transmiten las imágenes al grabador de video en red NVR (Network Video Recorder) a través de cables o la red de datos IP de modo inalámbrico; también es posible la transmisión directa a servidores de video en red sin hacer uso del NVR. El NVR permite grabar y visualizar simultáneamente las imágenes provenientes de cámaras dentro de la misma red de área local LAN o de manera remota (internet). El sistema IP posee más de un medio de almacenamiento de los videos ya que además del NVR, las cámaras también cuentan con un sistema de almacenamiento que permite la grabación de video y además, dada la posibilidad de transmisión por internet, los usuarios del sistema pueden almacenar los videos en sus propios discos duros (Rey, 2011). 43 Figura 5. Elementos de un sistema IP. Fuente: Elaboración propia. Las principales diferencias entre los dos sistemas de video vigilancia se exponen a continuación. Tabla 1 Diferencias entre los sistemas de video vigilancia. Sistema Analógico Sistema IP Captura de imagen Cámara analógica Cámara IP Transmisión Cable coaxial LAN, WLAN, Internet Almacenamiento DVR NVR, disco duro, cámara Gestión y control Desde el DVR Desde el NVR o computador Fuente: Elaboración propia a partir de (Rey, 2011). 2.6 Raspberry Pi La Raspberry Pi (véase Figura 6) es un computador de placa reducida de bajo costo que fue desarrollado en el 2012 con el objetivo de fomentar la enseñanza de las ciencias informáticas en el Reino Unido. Esta placa constituye el principal medio para desarrollar el prototipo de sistema de vigilancia que se propone en este proyecto dado los componentes y funcionalidad que ofrece al programador. A continuación se hace una presentación de los aspectos relevantes de la Raspberry Pi. 44 2.6.1 Características generales El nombre de Raspberry proviene de la tradición de asignar el nombre de una fruta a un nuevo sistema informático (ejemplo: Acorn, Tangerine, Apple o BlackBerry) acompañado de Pi, que hace referencia al sistema al lenguaje de programación en el que está basado, Python (Upton y Halfacree, 2014). Figura 6. Vista frontal de la Raspberry Pi. Fuente: Elaboración propia. Este micro computador no incluye un disco duro o unidad de almacenamiento, solo es necesario una tarjeta SD o una MicroSD con un adaptador para reemplazar el disco de estado sólido para el almacenamiento del sistema operativo y los archivos esenciales para su funcionamiento; su diseño y funcionalidad permiten que sea conectado a un monitor de computador o televisor y manejado a través de un teclado y ratón estándar. Por medio de la Raspberry Pi es posible realizar actividades que comúnmente se llevan a cabo en un computador de mesa desde navegar por internet, reproducir videos de alta definición hasta realizar operaciones matemáticas en las hojas de cálculo (Raspberry Pi, 2014). También es posible llevar a cabo tareas de mayor complejidad utilizando herramientas de programación computacional y elementos externos a la placa que pueden ser conectados a la misma y así mismo diversificar su campo funcional, en este sentido se han desarrollado 45 aplicaciones para monitorear la temperatura, aplicaciones con reconocimiento visual para la apertura de puertas, limpieza de suelos, entre otras. 2.6.2 Hardware Procesador La Raspberry Pi cuenta con un chip integrado Broadcom BMC 2835 que contiene un procesador ARM11, un procesador gráfico VideoCore IV y diferentes cantidades de memoria de acceso aleatorio RAM. Este chip se encarga de los procesos de audio, video, procesamiento gráfico y comunicación entre las interfaces del teclado y el ratón. Entrada de video La Raspberry Pi posee un puerto CSI (Camera Interface Serie) que permite instalar un módulo de cámara y transmitir los datos de pixeles al procesador. Salidas de video Las salidas de video compatibles con la Raspberry Pi son: video compuesto, video HDMI (High-Definition Multimedia Interface) y video DSI (Display Serial Interface). El video compuesto y HDMI son de fácil acceso al usuario y no requieren de un software especial para su manejo. El video compuesto está diseñado para conectar la Raspberry Pi a televisores a través del conector RCA (Radio Corporation America) mientras que el video HDMI permite conectar dispositivos modernos y transmite una calidad de imagen mejor. El puerto HDMI proporciona una conexión digital de alta velocidad capaz de transmitir imágenes con una resolución de 1920x1080 Full HD. Si se desea conectar un monitor de computador cuya salida de video es DVI (Digital Visual Interface) es posible conectarlo a la Raspberry a través de un cable HDMI-DVI, el cual convierte las señales digitales HDMI al estándar común de los computadores DVI. De igual forma se puede realizar la conexión a un monitor cuya salida de video sea VGA (Video Graphics Array), a través de un cable HDMIVGA compatible con Raspberry Pi. 46 La salida de video DSI (Display Serial Interface) se utiliza para conectar la Raspberry Pi a los monitores de pantalla plana de las tabletas y Smartphone, este medio de conexión es poco común dado que este tipo de pantallas no están disponibles para la venta al por menor (Upton y Halfacree, 2014). Salidas de audio El audio en la Raspberry Pi puede ser transmitido a una pantalla a través del puerto HDMI. Cuando este puerto está configurado adecuadamente transporta las señales de audio y de video simultáneamente. El sonido puede ser transmitido también a través de salida analógica de audio de 3.5 mm que posee la placa en su parte inferior. Puertos USB La Raspberry Pi posee puertos USB (Universal Serial Bus) que permiten la conexión de elementos externos como el teclado y el ratón. Una Raspberry Pi puede tener 2 o 4 puertos USB según su clasificación. Puerto Ethernet La Raspberry Pi dispone de un puerto Ethernet 10/100 para conectarse a internet cuando no se disponga de una conexión inalámbrica. Puerto GPIO El puerto GPIO de la Raspberry Pi es descrito en la sección 2.6.4 Fuente de alimentación La Raspberry Pi es alimentada por medio de un conector micro USB y requiere de por lo menos 700mA para funcionar correctamente. La distribución física de la Raspberry Pi se detalla en la Figura 7, en donde se indica cada uno de los elementos y puertos que contiene este micro computador y que fueron descritos anteriormente. 47 Figura 7. Elementos de la Raspberry Pi. Fuente: Elaboración propia. 2.6.3 Tipos de Raspberry Pi Existen actualmente tres modelos de Raspberry Pi, los modelos A y B construidos en el año 2013 y el modelo B+ en 2014; este último es más costoso y completo que los dos primeros puesto que presenta una mejora estructural referente a la placa GPIO, la cual ha sido duplicada en tamaño aumentando el número de dispositivos externos que pueden ser conectados a la placa (Raspberry Pi, 2014). Se encuentran pocas diferencias en el hardware entre los tres modelos dado que comparten dispositivos internos con las mismas especificaciones técnicas tales como: procesador, entradas de video, salida de video, salida de audio y la fuente de alimentación; las diferencias representativas entre los modelos se encuentran resumidas en la Tabla 2. 48 Tabla 2 Tipos de Raspberry Pi Tipo Memoria RAM Puertos USB Raspberry Pi Modelo A Modelo B 256 MB 512 MB 1 2 Almacenamiento Tarjeta SD Conectividad de Red Ninguna Consumo Energético Pines GPIO 2.5 W 26 Tarjeta SD Modelo B+ 512 MB 4 Tarjeta Micro SD 10/100 Ethernet (RJ-45) 3.5 W 26 10/100 Ethernet (RJ-45) 3.0 W 40 Fuente: Elaboración propia a partir de (Raspberry Pi, 2014). 2.6.4 Puerto GPIO El puerto GPIO (General Purpose Input/Output) es el puerto de entrada y salida de propósito general de la Raspberry Pi. Este puerto posee 26 o 40 pines dependiendo del modelo de la placa y permite la interacción de la Raspberry con otros componentes y circuitos electrónicos externos. Los pines en el puerto son utilizados como pines de entrada o de salida dependiendo del propósito para el que fue destinada la conexión en el pin. Un pin se configura de entrada cuando la Raspberry Pi quiere obtener una entrada lógica (hacer una lectura en el pin) y se configura como pin de salida si se quiere generar una salida lógica (escribir sobre el pin). Para identificar los pines en el puerto se ha dispuesto dos tipos de numeración, la numeración física o Board y la numeración BCM. En la numeración física los pines en el puerto son numerados en dos filas, fila inferior (números impares) y fila superior (números pares) siguiendo el orden de los pines en la placa. La numeración BCM utiliza como referencia de numeración los nombres de las señales del chip Bradcom. La Figura 8 muestra la clasificación de los pines en las diferentes numeraciones. 49 Tomando como referencia la numeración física, el pin 1 y pin 2 son los pines que pueden recibir la energía que alimenta la Raspberry Pi, la cual funciona con un suministro de energía de 3.3V o 5V. En el puerto GPIO hay 8 pines habilitados para el uso, los cuales permiten cambiar el estado, activo/inactivo o alto/bajo de los componentes conectados a estos; en estado alto o activo los pines proporcionan un voltaje de 3.3V o 5V y en caso bajo o inactivo el voltaje se reduce a 0 V. Los pines 7, 11, 12, 13, 15,16, 18 y 22, son los pines habilitados. Aunque cada pin del puerto GPIO tiene un propósito específico también es posible utilizarlos en conjunto para formar un circuito especial. El puerto GPIO tiene pines dedicados a buses específicos como el bus serie Receptor/Transmisor Asíncrono Universal UART (Universal Asynchronous Receiver-Trasnmitter), el bus Interfaz de Periférico Serie SPI (Serial Peripheral Interface), el bus inter circuitos integrados I2 C (Inter-Intergrated Circuit) y el bus de modulación de ancho de pulso PWM (Pulse-Width Modulation) . El puerto GPIO puede ser controlado utilizando diferentes lenguajes de programación además de Python, como lo son C, java, BASIC, Perl o Bash Shell (Rayo y Chimbo, 2013) Figura 8. Numeración de los pines en el puerto GPIO. Fuente: Elaboración propia. 50 2.6.5 Software La Raspberry Pi no requiere un sistema operativo específico puesto que fue diseñada para desarrollar aplicaciones en diferentes arquitecturas (sistemas operativos). La mayoría de los sistemas operativos que han sido diseñados para la Raspberry Pi se encuentran basados en Linux y utilizan lenguaje de programación Python, Tiny BASIC y PEARL para el desarrollo de aplicaciones. Gracias al gran apoyo que los creadores del micro computador han dado a los usuarios de Raspberry Pi es posible descargar todos los sistemas operativos desde la página oficial de la Fundación Raspberry. Raspbian, RISC OS, Arch Linux y Fedora son algunos de los sistemas operativos que pueden ser instalados en la Raspberry Pi (Raspberry Pi, 2014). 2.6.5.1 Raspbian Sistema operativo GNU/Linux basado en Debian7.0 (sistema operativo libre) diseñado para ser utilizado en computadoras de placa reducida, principalmente la Raspberry, este sistema operativo fue lanzado en junio del año 2012. Técnicamente es un port no oficial de Debian 7.0 con soporte optimizado para cálculos de coma flotante por Hardware (permitiendo que el sistema rinda mejor en algunos casos específicos y sea más fácil de utilizar ); el port fue necesario ya que el sistema operativo Debian 7.0 no era compatible con la CPU (Central Processing Unit) de la Raspberry (Raspberry Pi, 2014). Raspbian posee una interfaz de escritorio conocida como LXDE (Lightweight X11 Desktop Enviroment) que utiliza el software del sistema de ventanas X (X Windows) para ser más atractivo y familiar para el usuario (véase Figura 9). Este entorno de escritorio es rápido, ágil y eficiente en el consumo de energía, además el uso de CPU y RAM es inferior en comparación con otros entornos de escritorio (Rayo y Chimbo, 2013) 51 Figura 9. Interfaz de escritorio LXDE. Fuente: Elaboración propia. Raspbian posee gran variedad de software preinstalado y listo para ser usado una vez que haya realizado su respectiva instalación en la Raspberry Pi, del mismo modo proporciona software que se encuentra segmentado en diferentes categorías: accesorios, educación, internet, programación, herramientas del sistema y preferencias. Dentro de la categoría accesorios se encuentra LXTerminal el cual es el emulador de terminal estándar de LXDE que permite utilizar la consola de línea de comandos Linux para la instalación de programas (Rayo y Chimbo, 2013). La siguiente figura muestra la interfaz gráfica de este emulador. Figura 10. LXTerminal. Fuente: Elaboración propia. 52 CAPITULO 3 DESCRIPCIÓN DEL PROTOTIPO DE VIGILANCIA El prototipo de vigilancia que se desarrolla en este proyecto se propone como una alternativa a los sistemas de video vigilancia análogos e IP existentes y su dinámica de funcionamiento e interacción con los elementos que lo conforman y los elementos externos está basada en los principios de la internet de las cosas. El prototipo está propuesto para la captura de una imagen como respuesta a un cambio o estimulo del ambiente que está siendo monitoreado y le permita visualizar dicha imagen al usuario desde su dispositivo móvil (al hablar de usuario se hace referencia a la persona interesada en el control de un lugar). 3.1 Elementos del prototipo de vigilancia El prototipo está compuesto por dos subsistemas: sistema de captura y sistema de sincronización El sistema de captura está basado en la Raspberry Pi la cual está dotada de diferentes sensores capaces de detectar alteraciones en el ambiente y captar la información requerida por el usuario. Aunque existen diferentes tipos de microcomputadores y microcomponentes que podrían ser utilizados en la construcción de la base del sistema de captura como Arduino, Banana Pi, Pc Duino, UDOO, etc., la Raspberry Pi en comparación con varias de estas placas presenta características que la convierten en una placa superior en su funcionalidad dado que tiene un hardware que soporta: 1) transferencia rápida de datos, 2) puertos para hardware externo, 3) conexión a internet mediante cable Ethernet o Wi-Fi y 4) salida de video (HDMI) y audio (mini-jack). Aunque en el mercado existen también microcomputadores que tienen características similares a la Raspberry e incluso mejores en ciertos aspectos (como la memoria RAM), estas 53 opciones tienen un precio de compra superior, por tale razon la Raspberry Pi se posiciona como la mejor opción para el desarrollo del prototipo, dese el punto de vista de los autores. En cuanto al sistema de sincronización, este se centra en un servidor privado de almacenamiento de información (Dropbox, Google Drive y Amazon), el cual permite la transferencia y acceso a las imágenes tomadas por el sistema de captura al usuario en su dispositivo móvil. La representación del sistema vigilancia se muestra en la Figura 11. Figura 11. Sistema de video vigilancia propuesto. Fuente: Elaboración propia. 54 3.2 Requerimientos del prototipo El sistema de vigilancia propuesto presenta características similares a los sistemas de video vigilancias análogos e IP: seguridad de intrusión, control de acceso y control de robos (características descritas en el capítulo 2 sección 5: Sistema de video vigilancia). Basados en Garcia (2012), las características que definen al sistema de vigilancia como un sistema fundamentado en la internet de las cosas son las siguientes: 1. Utilización de tecnologías de sensores: el sistema de vigilancia usa diferentes sensores para la detección de elementos “extraños” presentes en el entorno y poner en marcha la captura y trasmisión de imágenes. Un sensor actúa como enlace entre lo que acontece en un lugar y lo que el usuario puede observar de este lugar. 2. Colección de datos en cualquier momento: el sistema de vigilancia no restringe la captura de imágenes permitiendo siempre estar atento a cada movimiento que se presente en el lugar de instalación del sistema. 3. Transferencia de imágenes dentro de la red de comunicación: es posible la transferencia de las imágenes dentro de la red de comunicación compuesta por el usuario (a través de un dispositivo móvil) y el sistema físico (Raspberry Pi) por medio de la computación en la nube. 4. Interfaz de usuario: el sistema de vigilancia puede comunicarse con el usuario a través de plataformas conocidas como el correo personal (Hotmail, Gmail, Outlook, etc) o un servidor de almacenamiento (Dropbox, Amazon, Google Drive, etc.). 5. Independencia funcional: bajo los lineamientos de la computación ubicua de reducción de atención del usuario sobre el dispositivo, el sistema de vigilancia funciona de manera automática o independiente del usuario, dado que sus funciones de captura y transferencia de las imágenes son programadas para que se lleven a cabo únicamente con la activación de un sensor y una conexión de red inalámbrica. 6. Comunicación con el dispositivo móvil: el sistema no requiere intervención directa sobre el hardware o software para su funcionamiento. La comunicación (transferencia 55 de imágenes) se lleva a cabo bajo los principios de la comunicación máquina a máquina en el cual el micro computador Raspberry Pi y los sensores representan el sistema de vigilancia y el dispositivo móvil es el terminal que proporciona comunicación al usuario haciendo uso de un servidor y una red de comunicación. Las imágenes capturadas fluyen de una máquina a otra de la misma forma independientemente del sensor que se utilice. 7. Disposición total de las imágenes: el sistema genera una red de comunicación que permite al usuario el acceso cualquier lugar y consulta en cualquier momento de las imágenes capturadas gracias a la conexión del prototipo físico (Raspberry Pi) con el servidor en línea. 3.3 Interacción del prototipo Existen dos tipos de interacción dentro del prototipo del sistema de vigilancia, una interacción medio-objeto, entre el sistema y el medio donde se encuentra presente y una interacción objetoobjeto entre el sistema y su usuario. El sistema de vigilancia se relaciona con el medio a través de un sensor, este contacto permite la activación del sistema de captura y es donde el Hardware del sistema está expuesto a factores exógenos que pueden entorpecer su funcionamiento (tanto en este caso como en los sistemas convencionales de vigilancia la ubicación estratégica de las cámaras determinara el correcto funcionamiento del sistema). La segunda interacción, objeto-objeto, hace referencia al contacto que tiene el usuario con el sistema, este tipo de interacción únicamente incluye la información que es capturada, ni el usuario ni otra persona tiene la capacidad de afectar el funcionamiento del sistema desde el acceso a los archivos limitando de forma positiva la navegación por el Software del sistema (la navegación a distancia posible únicamente incluye los datos que pueden ser capturados desde el sistema de vigilancia). 56 3.4 Arquitectura del prototipo Se desarrolló una arquitectura lógica del prototipo que permite tener una visión global de los componentes del sistema, la función de cada uno de estos y cómo interactúan entre sí para lograr el objetivo principal del sistema: capturar y transferir imágenes y asegurar su disponibilidad de manera remota en un dispositivo móvil. La arquitectura del sistema de vigilancia está estructurada en 3 niveles: nivel objetivo, nivel intermedio y nivel exterior (véase Figura 12). Cada nivel representa un proceso que se debe llevar a cabo para que el sistema alcance su objetivo. Objetivo Dispositivo Móvil del Usuario Nivel Objetivo Protocolos de sincronizacion Protocolo SMTP Nivel Intermedio Protocolo SSL Colector de datos Logica de programación Raspberry Pi Sistemas de activacion Sensor de movimiento Sensor de gas Nivel Exterior Sensor de tacto Sensor de inclinación Figura 12. Arquitectura del sistema de vigilancia propuesto. Fuente: Elaboración propia. El primer nivel corresponde al nivel exterior. Este nivel está compuesto por el sensor de movimiento infrarrojo, sensor de tacto, sensor de gas y sensor de inclinación, los cuales se encuentran expuestos a los cambios generados por factores exógenos al sistema, también pueden ser considerados los activadores de las funciones del sistema dada su función de identificar cambios que se puedan presentar en el entorno. Cada uno de los sensores detecta un 57 tipo de modificación del entorno específica y al detectar algún tipo de alteración envían por medio de cables un impulso eléctrico que es dirigido a la Raspberry Pi. Después de que el impulso es generado si no existe ningún tipo de proceso para transfórmalo simplemente se perderá, es decir no desencadenara ningún tipo de reacción dentro del sistema, por esta razón el nivel intermedio es tan importante, dentro de este y gracias a la Raspberry Pi es posible crear una Lógica de Programación la cual convertirá el impulso eléctrico en dos tipos de datos (esto se debe a que el sistema tendrá dos formas de alertar al usuario, la primera mediante un email y la segunda mediante la sincronización de datos multimedia), es posible generar cualquier tipo de reacción gracias al hardware que posee la Raspberry Pi y los diversos dispositivos de salida que se pueden encontrar. Este nivel permitirá el flujo de información haciendo uso de la internet y de protocolos para la sincronización de información (SMTP y SSL) hasta el usuario. Dentro del nivel objetivo se incluyen los dispositivos móviles que puedan ser usados por el usuario del sistema para acceder a las imágenes capturadas. De esta manera a través de teléfonos inteligentes y tabletas se establece la comunicación entre el sistema y el usuario. 3.5 Prototipo de vigilancia en la ingeniería industrial Las nuevas exigencias del mercado y las tecnologías emergentes están cambiando la organización de las empresas manufactureras obligándolas a mejorar y evolucionar a fábricas inteligentes basadas en el uso eficiente de la energía dentro de sus procesos y en la implementación de sistemas de control continuo (Shrouf et al., 2014). Este cambio al interior de las industrias puede ser impulsado por los principios de la internet de las cosas a través de la integración de elementos electrónicos como etiquetas RFID, microprocesadores, sensores, etc., a los procesos permitiendo la creación de redes inteligentes en las que fluye información importante para las empresas. La integración de los elementes señalados anteriormente recibe el nombre de CPS (Cyber-Physical System o Sistemas Ciber Físicos). Un CPS es una unidad de control constituida 58 por uno o más microcontroladores capaces de enviar y recibir datos a través de una red de sensores y actuadores. Este sistema integrado requiere de una interfaz de comunicación para intercambiar datos con otros sistemas o un servidor de almacenamiento en línea (nube); el intercambio de datos es la característica más importante de un CPS (Jazdi, 2014). Los CPS tienen la capacidad de administrar recursos físicos y computacionales para mejorar la disponibilidad y acceso de la información; estos sistemas son la base para la Big Data (sistemas informáticos enfocadas en la recolección masiva de información y sus procesos para la identificación de patrones dentro de estos) y la Industria 4.0 (Lee et al., 2015). Esta nueva definición de industria representa una nueva revolución industrial basada en la internet de las cosas y en la fabricación inteligente para recolectar y compartir datos en tiempo real en los diferentes entornos al interior de las empresas y de esta manera descentralizar los sistemas de control. El enfoque principal de este cambio industrial radica en la capacidad de los sistemas para percibir la información, derivar conclusiones de ella y cambiar su comportamiento en consecuencia, y almacenar los conocimientos adquiridos con la experiencia; la información compartida puede estar relacionada con el estado de la producción, el comportamiento de consumo de energía de máquinas, el movimiento de materiales, órdenes de clientes, datos de proveedores y en general, cualquier tipo de datos asociados a elementos inteligentes implementados en los procesos (Shrouf et al., 2014). En el marco de la industria 4.0, el prototipo desarrollado es aplicable para realizar la automatización de procesos manuales dentro de las diferentes actividades productivas en cualquier tipo de industria, mejorando la disponibilidad de la información y su seguridad, facilitando el flujo la información y mejorando los procesos de decisión sobre la aplicación de acciones correctivas y preventivas. Al ser un sistema intermitente (la activación del sistema depende del cambio en la variable de medición) la recopilación de información poco relevante será casi nula y la presentación de la información crítica es presentada en forma organizada y sistemática mejorando de esta forma la minería de datos. Las ventajas de la aplicación de esta clase de prototipos dentro de procesos productivos o de seguimiento de productos como lo establece Lee et al., (2015) corresponden a la disminución de la incertidumbre y los errores de medición, además tiene como ventaja sobre la 59 medición manual la posibilidad de implementar un proceso de medición interrumpido creando procesos de trazabilidad de datos e información que no existían anteriormente (sin necesidad de la intervención del recurso humano) dado que la información capturada continuamente es empujada al Big Data o nube informática para su consolidación. El prototipo desarrollado es una extensión de los sistemas ciber físicos (CPS), los cuales corresponden a una aplicación práctica de la internet de las cosas dentro de la industria (industria 4.0) Prototipo CPS Industria 4.0 Internet de las cosas Figura 13. Ubicación del prototipo dentro de la industria 4.0 y la internet de las cosas. Fuente: Elaboración propia. El prototipo desarrollado puede ser implementado en diferentes entornos que requieran procesos de supervisión constante. Dentro de la ingeniería industrial el prototipo podría brindar soporte a los procesos de producción, control de calidad, logística y tiempos y movimientos. Monitoreo preventivo de la producción Existen diferentes factores que pueden afectar los procesos de producción dentro de una locación o fabrica, estos pueden depender directamente de los procesos o actividades que se llevan a cabo para cumplir con un objetivo específico (producto final, producto intermedio o 60 materias primas) y en ocasiones son imperceptibles para los supervisores de producción desencadenando acontecimientos que pueden detener toda la cadena de producción o afectar la salud de los trabajadores; estos factores pueden ser: - Concentración de gases en la planta de producción - Condiciones de las máquinas usadas dentro de los procesos de producción - Temperatura en la planta de producción Gracias a la independencia geográfica y de uso (ningún usuario encargado de esta tarea) que tiene el prototipo propuesto y a la variedad de sensores existentes es posible crear sistemas de monitoreo y decisión que permitan evaluar las condiciones de las máquinas (temperatura, tiempo de uso, etc.) y locaciones involucrados en los procesos de producción permitiendo generar alarmas sobre las condiciones percibidas, gracias a la posibilidad de procesamiento de información que permite realizar la Raspberry Pi y su configuración general mediante la lógica de programación es posible prevenir y evitar consecuencias negativas que ocasionan un aumento en los costos de producción disminuyendo el beneficio percibido, como es el caso de daño de piezas en maquinaria, daños totales en maquinaria, deterioro de la salud de los operarios por exposición a gases o altas temperaturas o cuellos de botella en producción, etc. Las operaciones de producción se pueden optimizar con una mínima intervención del ser humano. Esto podría mejorar la eficiencia y reducir los errores y los residuos en energía y otros recursos. Mediante el análisis de la información almacenada es posible predecir los tiempos de vida útil de maquinaria, las unidades defectuosas y hasta los cuellos de botella dentro de un proceso productivo para de esta forma mantener una estrategia Just-in-Time vigente. Además los patrones en la información almacenada pueden ser utilizados como información requerida para simular posibles escenarios de planeación del recurso para que esta sea más eficiente y productiva (Lee et al., 2015). El monitoreo de sistema de producción y recolección de los datos de rendimiento en tiempo real tienen un impacto positivo en el mantenimiento proactivo. Por ejemplo, usando sensores para monitorear la temperatura en una planta de producción, se pueden tomar acciones preventivas cuando la temperatura supera el límite permitido. Por otra parte el uso de medidores y sensores inteligentes habilita la monitorización remota de los datos de consumo de energía 61 en toda la fábrica. Los datos pueden ser almacenados y analizados en la nube y los resultados pueden ser entregados a través de aplicaciones móviles al personal responsable. Las acciones preventivas se pueden tomar también cuando el consumo de energía de una máquina salta por encima del nivel normal durante un período de tiempo. Esto ahorraría energía, reduciría los defectos de los productos y evitaría la ruptura de la máquina. Además, expertos en gestión de la energía podrían hacer una evaluación en tiempo real de los datos para tener una idea clara de consumo de energia, tal como lo señala Shrouf et al., (2014). Según los autores Xiang-li et al., (2012) la tecnología de la internet de las cosas utilizada en las fábricas para detectar la información de las máquinas se convierte en una nueva dirección de investigación de cualquier sistema remoto de monitoreo, en el cual los sensores utilizados para crear la red de colaboran entre sí para recopilar, procesar y analizar datos de instrumentos y el medio alrededor de los sensores. También es posible aplicar el prototipo en la producción agrícola la cual se ve más comprometida por variaciones exógenas como lo son los cambios de clima, cambios de humedad, acidez de suelo, tiempos de caducidad, concentración de sedimentos en estanques etc., y es posible obtener datos de estas variables por varios tipos de sensores. En estos casos y debido al ciclo lento de producción de algunos productos el impacto por pérdida de cosechas o pérdida de animales conlleva un mayor costo para los productores obligando al aumento de precios y disminución en las ventas. Por otra parte es posible llevar un control digital seguro y preciso sobre las fechas de caducidad evitando perdidas por tiempos de inventario excesivos. La implementación del prototipo dentro de este tipo de industria generaría la automatización en los procesos de toma de datos de las diferentes variables dado que es a través de la experiencia de la medición manual de la agricultura tradicional en la que es necesario una gran cantidad de fuerza de trabajo, como se capturan los datos necesarios (Chen y Jin, 2012). 62 Control de calidad El prototipo desarrollado puede ser aplicado en los procesos de control de calidad que se llevan a cabo en una empresa. Algunas características de la inspección final de los productos pueden realizarse remotamente, contribuyendo con la disminución del tiempo requerido en este proceso. A través del uso de los sensores de movimiento infrarrojo o sensor del tacto, es posible visualizar el producto final en una cadena de producción en serie; aspectos físicos de los productos pueden ser almacenados en una base de datos y a partir de estos establecer medidas de control necesarios. Así mismo, el sistema de vigilancia puede permitirle al inspector de calidad recibir un conjunto de datos sobre una pieza de material procesado y establecer la trazabilidad de la calidad del producto. Tiempos y movimientos Es posible implementar el sistema de vigilancia en el estudio de tiempos y movimientos en una empresa. Dada la función de monitoreo del prototipo, haciendo un ajuste en el sistema de captura para permitir la grabación de video, es posible instalar el prototipo en un puesto de trabajo y registrar los movimientos de un empleado así como el tiempo que se toma en realizar una actividad. Aplicado en estos procesos, el prototipo de sistema de vigilancia puede contribuir con la definición del tiempo estándar de una actividad y analizar cuidadosamente los movimientos que realiza un empleado al ejecutar su trabajo al mismo tiempo al generar un archivo digital el sistema contribuye con la gestión documentación de los procesos, teniendo en cuenta el servicio de almacenamiento del servidor, los archivos de cada empleado se encuentran disponibles a lo largo de su etapa productiva y pueden ser utilizados para su seguimiento. 63 Procesos logísticos Gracias a que no es necesario que el usuario se encuentre ubicado en el mismo punto de localización de la Raspberry Pi, es posible adaptar dicho nivel a cualquier medio de transporte que sea utilizado en la industria o inclusive los medios de transporte urbano; de esta manera podemos realizar una recopilación en tiempo real de datos críticos para mejorar el plan logístico con el cual se está trabajando. - Geo posicionamiento - Calculo de velocidades medias, máximas y mínimas - Vibraciones sufridas por la carga - Diseño y selección de rutas criticas de transporte - Tiempo de entrega - Análisis de flujo vehicular El prototipo puede generar información en tiempo real sobre la cadena de suministro mediante la conexión de las máquinas, equipos, flujo de materiales y tiempos de ciclo de fabricación y entrega. 64 CAPITULO 4 SISTEMA DE CAPTURA El sistema de captura tiene como objetivo capturar imágenes y almacenarlas en la tarjeta de memoria micro SD de la Raspberry Pi, la cual constituye el sistema de almacenamiento del micro computador. 4.1 Elementos del sistema El sistema de captura está conformado por una Raspberry Pi, el módulo de cámara, un sensor que actúa como activador de la cámara y otros elementos periféricos que se observan en la siguiente figura. Figura 14. Diagrama de bloques del sistema de captura. Fuente: elaboración propia. La Raspberry Pi utilizada en el sistema de captura y prototipo de sistema de vigilancia, corresponde a una placa de Raspberry Pi modelo B+ con sistema operativo Raspbian. En el Anexo A se encuentra descrito el proceso de instalación inicial de la Raspberry y la configuración de su sistema operativo. 65 4.2 Cámara El módulo de cámara de la Raspberry Pi está basado en un sensor ubicado detrás de una lente de foco fijo, este módulo permite la captura de imágenes con un tamaño de 2739x1826 o 2581x1936 (equivalentes a 5 megapíxeles) y grabación de video con una resolución 1080p o 1920x1080 (correspondiente a formato Full HD). Este módulo fue diseñado para ser conectado al conector CSI (Camera Serial Interface) de la Raspberry Pi a través de un cable de cinta (véase Figura 14). Mediante el trabajo conjunto con el procesador gráfico, esta cámara garantiza el correcto funcionamiento del procesador y evita que las imágenes requieren de un gran espacio en la memoria, además su consumo de energía es menor al de una cámara web tradicional por lo tanto no ejerce presión sobre la fuente de alimentación. Figura 15. Módulo de cámara de Raspberry Pi. Fuente: elaboración propia. 4.3 Sensores Los sensores desempeñan un papel importante en el sistema de vigilancia porque son los activadores del sistema de captura y permiten que se cumpla el objetivo de monitorear un lugar y tener información en tiempo real de lo que está sucediendo. Cada vez que un sensor es activado, la cámara toma una imagen. Como elementos de activación del sistema de captura se encuentra el sensor de movimiento infrarrojo, sensor detector de gas, sensor de inclinación y sensor de detección del tacto. 66 4.3.1 Sensor de movimiento infrarrojo El sensor de movimiento infrarrojo pasivo o PIR (véase Figura 15) es un sensor electrónico que mide los cambios en los niveles de radiación infrarroja emitida por los objetos que están ubicados a su alrededor a una distancia máxima de 6 metros. Este sensor se denomina pasivo porque no emite energía que pueda interferir en la detección de movimiento, de lo contrario, trabaja para detectar la energía emitida por otros objetos. Cada objeto emite una pequeña cantidad de radiación infrarroja que está determinada por el nivel temperatura del mismo; cuanto más caliente se encuentre el objeto mayor es el nivel de radiación. El sensor PIR tiene la capacidad de detectar las diferencias de radiación en su área de cobertura y se activa cuando detecta alguna diferencia. Figura 16. Sensor de movimiento infrarrojo. Fuente: elaboración propia. El sensor PIR de referencia HC-SR501 tiene tres pines: la fuente de poder, salida digital de detección de movimiento y polo a tierra. Se realizó la conexión del sensor a la Raspberry Pi como se muestra en la Figura 16. Se conectó el sensor al pin número 7 del puerto GPIO para que la Raspberry Pi recibiera las señales de activación y desactivación del sensor; la fuente de poder y el polo a tierra se conectaron a los pines 1 y 6 respectivamente. Cuando el sensor detecta algún movimiento en el área, la salida digital transmite un pulso electromagnético que es la señal de activación para el sistema de captura (HIGH/alta a 5 67 V) en caso contrario, cuando no hay detección de movimiento no es emitida ninguna señal electromagnética por lo cual el sistema permanece en reposo (salida LOW/bajo). Figura 17. Conexión del sensor de movimiento infrarrojo en la Raspberry Pi. Fuente: elaboración propia. 4.3.2 Sensor de gas El sensor MQ-2 (véase Figura 17) es un sensor de que detecta la presencia de gas combustible LP, i-butano, propano, metano, alcohol e hidrógeno y humo en concentraciones de 300 a 10.000 ppm (medida de concentración de gases combustibles en un millón de gramos de aire). Este sensor es ampliamente utilizado en la detección de fugas en equipos a nivel industrial dada su alta sensibilidad, rápido tiempo de respuesta y fácil accionamiento. Figura 18. Sensor de gas. Fuente: elaboración propia. 68 Este sensor, al igual que el sensor PIR, tiene 3 pines correspondientes a la fuente de poder, salida análoga y polo a tierra. El pin de fuente de poder se conectó al pin 2 del puerto GPIO, la salida análoga al pin 7 y el pin de polo a tierra al pin 6. Se puede ver en la Figura 18 la conexión del sensor a la Raspberry Pi. Figura 19. Conexión del sensor de gas en la Raspberry Pi. Fuente: elaboración propia. 4.3.3 Sensor de inclinación de mercurio El sensor de inclinación de mercurio se utiliza también como un interruptor dada su función de permitir o interrumpir el flujo de corriente eléctrica. Este sensor está compuesto por una ampolla de cristal que contiene una gota de mercurio y dos terminales (véase Figura 19); la gota de mercurio puede desplazarse o inclinarse y hacer contacto con las terminales permitiendo el flujo de corriente, dada la conductividad eléctrica del mercurio; cuando la gota de mercurio está en posición contraria (no hace contacto con las terminales) se interrumpe el circuito. 69 Figura 20. Sensor de inclinación de mercurio. Fuente: elaboración propia. A continuación se muestra la conexión del sensor a la placa Raspberry Pi, esta conexión es idéntica a la realizada con el sensor de gas. Figura 21. Conexión del sensor de inclinación de mercurio en la Raspberry Pi. Fuente: elaboración propia. 70 4.3.4 Sensor de tacto El sensor de tacto que se utilizó en este proyecto es el sensor del tacto KY-036 que se muestra en la siguiente figura. Figura 22. Sensor de tacto. Fuente: elaboración propia. La conexión del sensor en la Raspberry Pi se llevó a cabo de la misma manera en que se conectaron los sensores de gas y de inclinación de mercurio dado que los tres sensores funcionan con el mismo voltaje. Figura 23. Conexión del sensor de tacto en la Raspberry Pi. Fuente: elaboración propia. 71 CAPITULO 5 SISTEMA DE SINCRONIZACIÓN El sistema de sincronización tiene como objetivo enviar la imagen que ha sido capturada y que se encuentra almacenada en la tarjeta de memoria microSD a un servidor privado de almacenamiento en la nube, una vez que la imagen es tomada. La imagen es transferida a una cuenta de usuario y desde allí se genera el acceso a la imagen tomada por el sistema de captura desde un dispositivo móvil, al mismo tiempo en que se sincroniza una imagen es enviado un mensaje de confirmación de proceso al correo del usuario. 5.1 Elementos del sistema Los elementos que hacen parte del sistema de sincronización se muestran a continuación. Figura 24. Diagrama de bloques del sistema de sincronización. Fuente: elaboración propia. 5.2 Servidor privado de almacenamiento Dropbox La sincronización de las imágenes capturadas a través de la Raspberry Pi se realizó mediante el servidor de almacenamiento de información en la nube, Dropbox. Para acceder al servicio de Dropbox, se creó una cuenta de usuario gratuita en su sitio web https://www.dropbox.com/; dado que no existe ningún tipo de aplicación de Dropbox compatible con la Raspberry Pi fue necesario acceder al servicio de desarrolladores que ofrece dicha plataforma llamado Dropbox Developers (véase Figura 24) para crear el enlace entre el sistema de captura y este servidor. 72 Figura 25. Página principal de Dropbox Developers. Fuente: www.dropbox.com. Dropbox Developers permite crear 2 tipos de aplicaciones: Drop-ins app y Dropbox API app, esta última ofrece la posibilidad de crear, guardar y modificar archivos desde la aplicación e incluye parámetros de seguridad para la protección de la información almacenada. Teniendo en cuenta la sencillez de uso y los parámetros de seguridad necesarios para la creación del prototipo de sistema de vigilancia se eligió la creación de la aplicación Dropbox API. Figura 26. Pasos para la creación de la aplicación API dentro de la App Console. Fuente: www.dropbox.com. 73 Después de seleccionar el tipo de aplicación, el sistema de creación de Dropbox configuró los parámetros de la aplicación, estos parámetros incluyen el acceso a la información, el acceso a las carpetas dentro de la cuenta, el tipo de archivos que serán guardados y finalmente el nombre de la aplicación (RemoteEye). Figura 27. Aplicación RemotEye. Fuente: www.dropbox.com. Una vez creada la aplicación en el sitio web, se activó el proceso de Verificación de Dos Pasos desde la cuenta de usuario de Dropbox asociada la aplicación para lograr la sincronización de las imágenes hacia esta cuenta y se asignó una contraseña única para la aplicación. Con los parámetros de seguridad y contraseña definidos y la configuración de la cuenta asociada a la aplicación, se creó el puente para la conexión entre el servidor de almacenamiento y la Raspberry Pi. 74 5.3 Servidor privado de almacenamiento Google Drive Se utilizó como opción alterna de almacenamiento de las imágenes tomadas por el prototipo, el servicio privado de almacenamiento en la nube de Google Drive y específicamente el módulo de APIS (Application Programming Interface o Interfaz de Programación de Aplicaciones) para la conexión de la Raspberry Pi a la nube y lograr la transferencia de imágenes. Google Drive permite generar enlaces para aplicaciones en diferentes lenguajes de programación, entre los que se incluye Python, el cual es la estructura del software instalado y manejado en la Raspberry Pi, Raspbian. La API es el puente que permite cargar o almacenar un archivo en cualquier formato a la nube para su acceso en cualquier momento y lugar. Fue necesario crear un proyecto a vincular a la Raspberry Pi en la página principal de Google Developers (véase Figura 27). En esta página se accedió a la plataforma de Google Drive en la web para vincular el proyecto a una cuenta de usuario de correo electrónico Gmail y posteriormente almacenar las imágenes capturadas por el prototipo directamente en la cuenta de Google Drive. Figura 28. Página principal de Google Developers. Fuente: www.developers.google.com. El proyecto creado fue nombrado como RemotEye (véase Figura28). Se realizó la activación y validación de la aplicación en la Raspberry Pi a través de diferentes datos de 75 identificación del cliente de la API para la aplicación web, de esta manera fue asignado un número de identificación de cliente, clave secreta y URIs de redireccionamiento proporcionados por el protocolo OAuth de Developers Console para la autorización segura de la aplicación para sitios web o aplicaciones móviles (véase Figura 29). Figura 29. Creación de la aplicación RemotEye en Google Developers. Fuente: www.developers.google.com. Figura 30. Parámetros www.developers.google.com. de identificación y validación de la aplicación RemotEye. Fuente: 76 Una vez establecidos los permisos de la API RemotEye en la página web de Google Developers Console, la aplicación fue creada y se realizó la instalación del cliente de Google Python en la Raspberry Pi para generar transferencia en tiempo real de las imágenes. 5.4 Servidor privado de almacenamiento Amazon S3 Amazon S3 es un servidor de almacenamiento privado que se encuentra incluido dentro de los servicios de informática en la nube, Amazon Web Services (AWS) de la empresa Amazon. A través del módulo de SDK (Software Development Kit o Kit de Desarrollo de Software) de AWS fue posible crear la conexión entre la Raspberry Pi y el servicio de almacenamiento en la nube. Para acceder al servicio de almacenamiento en la nube fue necesario asociar datos de validación de un usuario (identificador y clave de acceso) creado anteriormente y a diferencia de los servidores Dropbox y Google Drive, la sincronización de las imágenes no requiere la creación de una aplicación o proyecto dado que la transferencia de imágenes se realiza directamente a la cuenta de usuario registrada. 5.5 Servidor de correo electrónico Se configuró una cuenta de correo electrónico en la Raspberry Pi con el propósito de que el sistema de vigilancia al sincronizar una imagen en la cuenta de usuario de Dropbox, Google Drive o Amazon S3, envía un mensaje (correo electrónico) al usuario alertando una modificación en el ambiente o lugar que se estaba monitoreando. Para configurar la cuenta de correo electrónico en la Raspberry Pi, se seleccionó el tipo de cliente de email que permitiera realizar la conexión de la Raspberry Pi con los servidores SMTP (Simple Mail Transfer Protocol) encargados de la transferencia de correos electrónicos entre dispositivos. Se eligió al cliente de correo electrónico Mutt porque tiene compatibilidad con Debian (base del sistema operativo Raspbian instalado en la Raspberry Pi), soporta los protocolos POP3 (Posto Office Protocol) el cual permite acceder a los correos electrónicos guardados en un servidor remoto, IMAP (Internet Message Access Protocol) que permite el acceso a correos electrónicos desde cualquier dispositivo con conexión a internet y el protocolo 77 SMTP, además soporta gran parte de los protocolos usados por los servidores de correo electrónico (Gmail, Hotmail, Outlook, etc). La cuenta de correo electrónico que se asoció a la Raspberry Pi correspondió a una cuenta nueva por lo tanto fue necesario ir a la página oficial del servidor de correo electrónico Gmail (www.gmail.com) y seguir los pasos indicados para obtenerla; una vez configurada la cuenta de correo electrónico, se instaló el cliente Mutt desde LXTerminal. El proceso de instalación encuentra en el Anexo B. 78 CAPITULO 6 LÓGICA DE PROGRAMACIÓN 6.1 Diagrama de flujo La metodología que se utilizó para estructura el código de programación del sistema de vigilancia se muestra en el siguiente diagrama de flujo. Figura 31. Diagrama de flujo de la lógica computacional del sistema de vigilancia. Fuente: Elaboración propia. 79 6.2 Codificación del prototipo con el servidor privado de almacenamiento Dropbox El lenguaje de programación seleccionado para el desarrollo del código fue Python, por lo cual al inicio del código se especificó el nombre del intérprete y la ruta donde este encuentra ubicado dentro de la memoria de la Raspberry Pi. #!/usr/bin/Python Importación de librerías Al identificar y seleccionar el intérprete fue necesario importar los módulos que serán usados en cada uno de los procedimientos necesarios para cumplir con el objetivo final que es sincronizar la información con el dispositivos móvil del usuario. La importación de librerías se realizó mediante el comando import seguido del tipo de librería a utilizar. import RPi.GPIO as GPIO import time import picamera import datetime import subprocess import dropbox import os - RPI.GPIO: módulo que permite controlar y programar las salidas y entradas del puerto GPIO en la Raspberry, este módulo es renombrado como GPIO para facilitar la programación. - time: módulo que provee varias funciones relacionadas con el tiempo, permitiendo hacer uso de estos datos en cualquier momento del proceso. - picamera: módulo utilizado como driver de la PiCámara. - datetime: módulo que permite manejar fechas y tiempo; permite extraer partes de estos datos para ser utilizados. - subprocess: módulo que permite trabajar sobre órdenes directas del sistema operativo para su ejecución. 80 - dropbox: módulo necesario para realizar el proceso de sincronización que contiene los clientes necesarios para la conexión con el servidor de Dropbox y la autenticación de la aplicación creada. - os: módulo que permite acceder a los procesos dependientes del sistema operativo como lo son la creación y lectura de archivos usando comandos. Configuración del cliente de Dropbox Se definieron 2 variables, app_key y app_secret, correspondientes a los parámetros de seguridad generados en el momento en que se creó la aplicación de Dropbox (véase capítulo 5 sección 2: Servidor privado de almacenamiento). De esta manera la combinación asignada por parte del servidor fue la siguiente: app_key = 'oyiv9hfoxy****' app_secret = '3he7zr8t****' Con la información anterior se realizó la validación de identidad de la aplicación haciendo uso del ayudante de validación DropboxOAuthFlowNoRedirect, incluido en el módulo de Dropbox instalado en la Raspberry Pi, que permite el acceso a la cuenta del usuario concediendo la posibilidad de crear, modificar y eliminar archivos en la nube. flow = dropbox.client.DropboxOAuth2FlowNoRedirect(app_key, app_secret) Hecha la autentificación, se estableció la conexión entre el servidor y la Raspberry Pi. Se creó una función para la sincronización de las imágenes que iban a ser tomadas y mediante el uso de la función open “r” se logró el acceso al archivo que contenía la clave generada por la verificación en dos pasos con permisos de lectura únicamente (procedimiento guardado en la variable “lecturaclave”). A través de la función read se leyó el contenido del archivo que finalmente se cerró mediante la función close. Todo este proceso se realizó para validar la contraseña contenida en el archivo .txt mediante el DropboxClient. Finalmente mediante el uso de las mismas funciones y la función put_file se seleccionó la imagen que iba siendo tomada por la Raspberry Pi y se sincronizó con 81 el servidor para tenerla disponible en cualquier dispositivo móvil compatible con la aplicación de Dropbox. def sincronizar(archivo): lecturaclave = open("claveauto.txt", "r") clave_autorizacion = lecturaclave.read() lecturaclave.close() client = dropbox.client.DropboxClient(clave_autorizacion) archobjetivo = open (archivo, "rb") salida = client.put_file(archivo, archobjetivo) archobjetivo.close() Configuración del sistema de captura y sincronización de una imagen Una vez que se toma una imagen en el sistema de vigilancia, esta es almacenada bajo el rotulo de la fecha y hora en que se tomó. Para generar este nombre se definió una función que retorna mediante el uso del módulo datetime y la función strftime, la fecha y la hora en la que la imagen fue tomada por el módulo cámara de la Raspberry Pi. Además el archivo debe llevar la extensión, jpg correspondiente al formato de imagen. def momento(): return datetime.datetime.now().strftime("%Y-%m-%d_%H.%M.%S.jpg") Se configuró el Puerto GPIO bajo la numeración física o Board de los pines, de esta forma se seleccionó el pin receptor del impulso eléctrico generado al activarse un sensor y se especificó que la señal debe entrar para activar el mecanismo interno de todo el código; para que el ciclo continúe sin interrupción se creó un bucle while, dentro del cual se creó un condicional if para que activara la secuencia de captura únicamente si se detecta en el pin especificado un impulso eléctrico, la función de la cámara se guardó en una variable para realizar posteriormente la captura con el nombre especifico “momentoexacto” (variable que guarda la función momento) el cual continua en la función sincronizar y termina todo el proceso cumpliendo con el objetivo principal. 82 GPIO.setmode(GPIO.BOARD) GPIO.setup(7, GPIO.IN) capturador = picamera.PiCamera() while True: time.sleep(2) if GPIO.input(7): print "Se ha detectado… " momentoexacto = momento() capturador.capture(momentoexacto) subprocess.call("echo 'Se ha registrado un cambio en el medio. Se ha capturado una imagen y se ha sincronizado a su cuenta de Dropbox' | mutt -s 'Activacion alarma' [email protected]", shell=True) capturador.stop_preview() sincronizar(momentoexacto) Este código se aplica a los cuatro sensores seleccionados para el prototipo (movimiento, gas, inclinación y tacto) dado que la lógica de programación general permite la conexión de cualquiera de estos sensores sin la necesidad de modificación de las líneas de código, el único cambio corresponde al texto mostrado en pantalla donde se especifica el tipo de alteración detectada en el ambiente según el tipo de sensor utilizado (véase Figura 32). Figura 32. Mensajes de activación del prototipo. Fuente: Elaboración propia. 83 6.3 Codificación del prototipo con el servidor privado de almacenamiento Google Drive Importación de librerías Se importaron las siguientes librerías necesarias para la ejecución de diferentes funciones en el código de programación. #!/usr/bin/Python import RPi.GPIO as GPIO import time import picamera import datetime import subprocess import httplib2 import os from apiclient.discovery import build from apiclient.http import MediaFileUpload from oauth2client.client import OAuth2WebServerFlow - httplib2: módulo de la biblioteca HTTP (Hipertext Transfer Protocol – Protocolo de Transferencia de Hipertexto) encargado del almacenamiento en caché, estabilidad de la conexión, redirección y autenticación para cualquier tipo de servicio/servidor alojado dentro de la internet. - build: módulo de la librería apiclient.discovery que permite crear un servicio para un objeto específico, es necesario especificar el nombre de la API usada, la versión y el método de autenticación utilizado. - MediaFileUpoload: módulo que permite transferir archivos a la nube de Google Drive, dentro de este módulo se debe realizar la especificación del nombre y el formato del archivo. - OAuth2WebServerFlow: protocolo de Google Drive para la autorización y acceso del proyecto creado. 84 Configuración del cliente de Google Drive Posterior a la definición de librerías, se definieron las credenciales de autenticación del proyecto RemotEye creado. CLIENT_ID = '306563922851 9g1da0uajugldac6590noa59fud3j****' CLIENT_SECRET = 'qUoB25t6h8iQfC4****' OAUTH_SCOPE = 'https://www.googleapis****' REDIRECT_URI = 'urn:ietf:wg****' La validación de las credenciales se realizó mediante la variable INGRESO, la cual permite verificar el CLIENT_ID y CLIENT_SECRET usando el protocolo OAuth2WebServerFlow para mostrar posteriormete el link que contiene el código de acceso al servidor de almacenamiento y realizar la sincronización de las imagenes capturadas. INGRESO = OAuth2WebServerFlow(CLIENT_ID, CLIENT_SECRET, OAUTH_SCOPE, redirect_uri=REDIRECT_URI) authorize_url = INGRESO..step1_get_authorize_url() print 'Entrar al siguiente link: ' + authorize_url code = raw_input('Digitar el codigo de verificacion: ').strip() credentials = INGRESO.step2_exchange(code) http = httplib2.Http() http = credentials.authorize(http) drive_service = build('drive', 'v2', http=http) Configuración del sistema de captura y sincronización de una imagen Se definió la función momento que captura la fecha y hora en la que el sistema toma una imagen, para que esta información sea utilizada como nombre de las imágenes capturadas. La definición de la función momento, la configuración del Puerto GPIO y el ciclo de activación del sistema 85 de captura se realizó bajo los mismos parámetros utilizados en la lógica de programación del servidor Dropbox. Se definió la variable media que toma el valor de la variable momentoexacto para definir el objeto capturado a ser sincronizado. La variable media utiliza el módulo de sincronización de archivos de Google Drive, MediaFileUpLoad, para subir las imágenes al servidor especificando el tipo de archivo a sincronizar (jpg para imágenes en este caso). def momento(): return datetime.datetime.now().strftime("%Y-%m-%d_%H.%M.%S.jpg") GPIO.setmode(GPIO.BOARD) GPIO.setup(7, GPIO.IN) capturador = picamera.PiCamera() while True: time.sleep(2) if GPIO.input(7): print "Se ha detectado… " momentoexacto = momento() capturador.capture(momentoexacto) subprocess.call("echo 'Se ha registrado un cambio en el medio. Se ha capturado una imagen y se ha sincronizado a su cuenta de Google Drive' | mutt -s 'Sistema Activo' [email protected]", shell=True) print "Se ha enviado un correo electronico a su email personal" capturador.stop_preview() media = MediaFileUpload(momentoexacto, mimetype='image/jpg', resumable=True) file = drive_service.files().insert(media_body=media, body={'name' : momentoexacto'}).execute() print "Archivo sincronizado" 86 6.4 Codificación del prototipo con el servidor privado de almacenamiento Amazon S3 La programación inicia con la creación de la primera línea del archivo que indica el lenguaje de programación a ejecutar (Python) en la ruta especificada, seguido de la importación de las librerías y los paquetes asociados a Amazon Web Services. #!/usr/bin/Python import RPi.GPIO as GPIO import time import picamera import datetime import subprocess import boto import os from boto.s3.connection import S3 Connection from boto.s3.key import Key - boto: paquete que proporciona una interfaz a Amazon Web Services. - s3 Connection: módulo importado desde la librería boto que permite la conexión al servidor Amazon S3. - key: módulo utilizado para realizar el seguimiento de los archivos almacenados en el servidor S3. Configuración del cliente de Amazon S3 Se creó la variable conn que contiene la identificación de un cliente registrado en la página web de Amazon y la clave secreta asignada a este cliente. A través del módulo S3Connection se realizó la validación de estos datos. conn = S3Connection ( 'AKIAI34B****', 'rjg80tz7WnmeA1oXVMQfRyFNT****') 87 El servidor de Amazon S3 requiere que las imágenes que deben ser sincronizadas se almacenen en una ruta específica dentro de la cuenta del usuario, de esta manera se creó la carpeta tesisud como lugar de almacenamiento de las imágenes dentro de esta nube. bucket = conn.create_bucket ('tesisud') Configuración del sistema de captura Para la activación del sistema de captura del prototipo se utilizó la misma lógica de programación usada en los códigos anteriores (servidor Dropbox y servidor Google Drive) puesto que la configuración de este sistema se estableció para ser compatible con la programación de los diferentes servidores de almacenamiento. De esta manera, se definió una función de retorno de la fecha y hora en la que el sistema captura una imagen, se configuró el puerto GPIO teniendo en cuenta la distribución board de los pines y se definió el ciclo “while” de activación de la cámara teniendo en cuenta la activación del sensor. def momento(): return datetime.datetime.now().strftime("%Y-%m-%d_%H.%M.%S.jpg") GPIO.setmode(GPIO.BOARD) GPIO.setup(7, GPIO.IN) capturador = picamera.PiCamera() while True: time.sleep(2) if GPIO.input(7): print "Se ha detectado… " momentoexacto = momento() capturador.capture(momentoexacto) subprocess.call("echo 'Se ha registrado un cambio en el medio. Se ha capturado una imagen y se ha sincronizado a su cuenta de Amazon S3' | mutt -s 'Activacion alarma' [email protected]", shell=True) capturador.stop_preview() 88 Configuración del sistema de sincronización La sincronización de una imagen tomada por el sistema de captura al servidor Amazon S3 se llevó a cabo a través de las siguientes líneas de código: archivo = momentoexacto k = Key(bucket) k.key = 'captura' k.set_contents_from_filename(archivo) print "Archivo sincronizado" Se creó la variable archivo que contiene la imagen capturada y la variable k que contiene la dirección de almacenamiento de las imágenes en la carpeta tesisud. El almacenamiento dentro de la nube de Amazon además de usar la carpeta contenedora de los archivos requiere la generación de una etiqueta para la agrupación de los archivos dentro de esta carpeta, de esta manera las imágenes tomadas se almacenaron bajo la etiqueta captura. 89 CAPITULO 7 APLICACIÓN MÓVIL REMOTEYE 7.1 Dispositivo móvil Un dispositivo móvil es un aparato de tamaño pequeño que posee una capacidad de procesamiento, tiene una conexión permanente o intermitente a una red y las funciones que realiza son semejantes a las de un computador (procesamiento y transmisión de datos). Los dispositivos móviles compatibles con el prototipo de sistema de vigilancia desarrollado corresponden a los teléfonos inteligentes y a las tabletas con sistema operatorio Android. Se creó la aplicación “RemotEye” para este tipo dispositivos móviles que permite ingresar a través de un usuario y contraseña definidos, a las imágenes capturas y sincronizadas en los diferentes servidores configurados anteriormente. Esta aplicación se desarrolló en el entorno de programación de Android, Android Studio, y está basada en el lenguaje de programación Java. 7.2 Interfaz de usuario de RemotEye Dentro del IDE (Integrated Development Environment o Entorno de Desarrollo Integrado) Android Studio, se creó una primera pantalla de inicio de la aplicación para ingresar un nombre de usuario y clave asignada así como seleccionar el tipo de servidor al que se desea ingresar para visualizar las imágenes almacenadas (véase Figura 32). El usuario y clave son configurados dentro de la programación de la aplicación dado que no se permite la creación de usuarios dentro de la interfaz de la aplicación con el fin de restringir el acceso a las imágenes a los usuarios autorizados. Si se digita incorrectamente el usuario o clave, la aplicación muestra un mensaje en pantalla para la verificación de los datos. 90 Figura 33. Interfaz de ingreso a la aplicación móvil RemotEye. Fuente: Elaboración propia Al ingresar al servidor de almacenamiento, la aplicación se redirecciona a la página web del servidor, en donde el usuario ingresa a través del usuario y clave correspondiente (creados directamente en la página del servidor) a las imágenes capturadas por el prototipo (véase Figura 34). Figura 34. Imágenes visualizadas dentro de la aplicación móvil RemotEye. Fuente: Elaboración propia 91 7.3 Lógica de programación de la aplicación móvil RemotEye Ingreso a la aplicación El ingreso a la aplicación fue configurado mediante la creación de un plain text (espacio para texto) y un password (espacio para texto con caracteres ocultos). Para la captura de lo que se ingresa dentro de la interfaz de usuario se utilizó un button con el siguiente código java: import android.widget.Button; import android.widget.EditText; import android.widget.Toast; Button activador = (Button) findViewById(R.id.Ingresar); activador.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { String usuar = ((EditText) findViewById(R.id.usuario)).getText().toString(); String pass = ((EditText) findViewById(R.id.contraseña)).getText().toString(); if ((usuar.equals("geangoro") && pass.equals("ger***")) || (usuar.equals("dibeya") && pass.equals("dia***"))) { Intent servidor = new Intent(MainActivity.this,"servidor”.class); startActivity(servidor); } else { ToastmakeText(getApplicationContext(),"Usuario o Contraseña incorrectos", ToastLENGTH_LONG).show(); } Se importaron las librerías necesarias para la captura de la información desde la interfaz de usuario (widget. EditText), la activación y verificación de datos (widget.Button), y finalmente la aparición de mensajes de clave o usuario incorrecto (widget.Toast). 92 Posterior a la importación de las librerías para el funcionamiento del código, se definió como activador, activador2 y activador3, a los botones asociados a cada uno de los tres servidores para el acceso a la información capturada y sincronizada (Dropbox, Google Drive y Amazon S3 respectivamente). Se definió también el proceso a ejecutarse en el código una vez se opriman cada uno de los botones, dentro de este proceso se asignaron dos variables usuar y pass para almacenar el usuario y la contraseña después de ser convertidas a tipo string. Después de la conversión de los datos (clave y usuario), el sistema realiza la comparación con los datos definidos para determinar si los datos ingresados son iguales lo cual permite al usuario ingresar al servidor de almacenamiento. Ingreso al servidor de almacenamiento La aplicación enlaza dentro de la interfaz la página principal del servidor seleccionado en donde se encuentran las imágenes capturadas y sincronizadas. import android.os.Bundle; import android.support.v7.app.ActionBarActivity; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.webkit.WebViewClient; import android.widget.Button; import android.widget.EditText; import android.widget.Toast; import android.webkit.WebView; String url = "https://link servidor/"; WebView ver = (WebView) this.findViewById(R.id.Mostrar); ver.getSettings().setJavaScriptEnabled(true); ver.setWebViewClient(new ClienteWebView()); ver.loadUrl(url); 93 private class ClienteWebView extends WebViewClient { public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadUrl(url); return true; } } Inicialmente se definió el link del servidor de almacenamiento al que se desea acceder en la variable String url. Se utilizó el objeto WebViewer para mostrar dentro de la aplicación los servidores de almacenamiento, este proceso fue asignado a la variable ver, a la cual se le otorgaron los ajustes necesarios para mostrar todos los contenidos alojados dentro de las páginas web (imágenes, botones, animaciones, etc.). Se realizó el ajuste del cliente de webview y finalmente se realizó la carga de la url del servidor. Para que todos los procesos que se desarrollaron dentro de la lógica de programación tuvieran los permisos de ejecución que exige el desarrollo de aplicaciones móviles fue necesario agregar líneas de código dentro del código contenido en el AndroidManifest (compendio de permisos para la ejecución de códigos Java dentro de la aplicación) <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name=".MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest> 94 PRUEBAS DEL PROTOTIPO Se realizaron pruebas al sistema de vigilancia con los 4 sensores realizando la conexión individual de cada sensor a la Raspberry Pi en cada prueba. Las pruebas se llevaron a cabo en las instalaciones de la Universidad Distrital. El sistema de vigilancia con el sensor de movimiento infrarrojo se ubicó en la entrada de una oficina permitiendo monitorear a las personas que se disponían a entrar en este lugar. Gracias a la capacidad de alcance que tiene este sensor, el sistema detectó el movimiento de los transeúntes desde una distancia cercana a los 2 metros. Véase Anexo C. Para verificar la efectividad del sistema de vigilancia activado por el sensor de inclinación de mercurio se trasladó el montaje del sistema sobre un escritorio y se procedió a balancearlo. El sensor se activó al efectuar movimientos leves del escritorio, los cuales bastaron para transportar la gota de mercurio en el interior del sensor y generar el circuito de comunicación de las señales. Véase Anexo D. La prueba que se realizó sobre el sistema de vigilancia que incluye el sensor del tacto estuvo basada en el contacto directo de la mano de una persona sobre el sensor. En el Anexo E, se observa que el sistema además de tomar una imagen, enciende un conjunto de leds que están dentro del sensor. Se llevó a cabo la prueba del sistema de vigilancia con el sensor de detección de gas y dado que en el medio en el que se realizó no hay presencia de gases LP, metano o humo, las señales envidadas por el sensor a la Raspberry Pi no activaron el sistema de captura ni sincronización. Véase Anexo F. 95 CONCLUSIONES La internet de las cosas propone crear redes de comunicación entre los objetos y las personas que permitan el flujo bidireccional de información con la mínima intervención sobre la red. Las redes de comunicación se enfocan en la transmisión directa y global de la información. El prototipo de sistema de vigilancia es una red de comunicación que captura, procesa y transfiere la información (imágenes) al usuario; esta red de comunicación se estableció a través de la conexión de un subsistema de captura y un subsistema de sincronización. La comunicación entre el subsistema de captura y el dispositivo móvil se estableció a través de la creación de una aplicación móvil para el sistema operativo Android con conexión directa con los servidores de almacenamiento en la nube Dropbox, Google Drive y Amazon S3. La velocidad de sincronización de las imágenes dentro del prototipo depende de la velocidad de la conexión a internet utilizada y de la calidad de las imágenes capturadas. Basado en los sistemas ciber físicos CPS, la aplicación de la internet de las cosas en la industria abarca todos los campos en los cuales la ingeniería industrial puede realizar un proceso de evolución en los sistemas productivos y de control, hasta conseguir la automatización del análisis de información y de las actividades operativas, mejorando los rendimientos económicos gracias a la disminución de costos provocados por cuellos de botella, uso ineficiente de los recursos, errores de medición y mala interpretación de la información. La principal limitación identificada a través del estudio de casos de implementación de los principios de la internet de las cosas en diferentes campos corresponde a la modificación total de las maquinas (integración de dispositivos para la conexión a internet) y mecanismos de recolección de información, que pueden generar un gran costo de inversión para las industrias. 96 BIBLIOGRAFÍA Archlinux. (2014). About Arch Linux. Recuperado de el https://www.archlinux.org/about/ 20 de 09 de 2014, de Bakinter Fundación de la Innovación. (2011). El Internet de las Cosas. Bakinter. Retrieved from http://www.fundacionbankinter.org/es Chavira, G., Nava, S. W., Hervas, R., Bravo, J., y Sanchez, C. (2007). Combining RFID and NFC Technologies in an AmI Conference Scenario. IEEE Conference Publitations, 165– 172. http://doi.org/10.1109/ENC.2007.30 Chen, X., y Jin, Z. (2012). Research on Key Technology and Applications for Internet of Things. Science Direct, 33, 561–566. http://doi.org/10.1016/j.phpro.2012.05.104 De Saint-exupery, A. (2009). Internet of Things: Strategic Research Roadmap. European Research Cluster on Internet of Things, 50. Retrieved from http://www.internet-of-thingsresearch.eu/ Deng, Y., Zhu, H., Zhang, G., y Yin, H. (2013). Design and implementation of an Internet of Things based quality control system. IEEE Conference Publitations, 141–146. http://doi.org/10.1019/j.phpro.2013.451 El-Baz, D., Bourgeois, J., Saadi, T., y Bassi, A. (2013). ALMA , A Logistic Mobile Application based on Internet of Things. IEEE Conference Publitations, 355–358. http://doi.org/10.1109/GreenCom-iThings-CPSCom.2013.78 Espada, J. (2012). Diseño de objetos virtuales colaborativos orientados a servicios en el marco de Internet de las Cosas (Tesis doctoral). Universidad de Oviedo. Fuchsíková, P., Kebo, V., & Pavel, S. (2012). RFID technology for special food moulds. IEEE Conference Publitations, 183–188. http://doi.org/10.1109/CarpathianCC.2012.6228636 Garcia, A. (2012b). El Internet de las Cosas y los nuevos riesgos para la privacidad (Tesis de maestria). Universidad Politécnica de Madrid, Madrid, España. González, C. (2013). MIDGAR: Plataforma para la generación dinámica de aplicaciones distribuidas basadas en la integración de redes de sensores y dispositivos electrónicos IoT (Tesis de maestria). Universidad de Oviedo, Oviedo, España. Guo, L. G., Huang, Y. R., Cai, J., y Qu, L. G. (2011). Investigation of Architecture , Key Technology and Application Strategy for the Internet of Things. IEEE Conference Publitations, 2, 1196–1199. http://doi.org/10.1109/CSQRWC.2011.6037175 97 Hu, F., Xie, D., y Shen, S. (2013). On the Application of the Internet of Things in the Field of Medical and Health Care. IEEE Conference Publitations. http://doi.org/10.1109/GreenCom-iThings-CPSCom.2013.384 Jazdi, N. (2014). Cyber Physical Systems in the Context of. IEEE Conference Publitations, 2– 4. http://doi.org/10.1019/j.mfglet.2013.12.037 Karakostas, B. (2013). A DNS Architecture for the Internet of Things: A Case Study in Transport Logistics. Procedia Computer Science, 19, 594–601. http://doi.org/10.1016/j.procs.2013.06.079 Lee, J., Bagheri, B., y Kao, H. (2015). A Cyber-Physical Systems architecture for Industry 4 . 0-based manufacturing systems. Science Direct, 3, 18–23. http://doi.org/10.1016/j.mfglet.2014.12.001 Lee, S.-D., Shin, M.-K., y Kim, H.-J. (2007). EPC vs. IPv6 mapping mechanism. IEEE Conference Publitations, 2, 1243–1245. http://doi.org/10.1109/ICACT.2007.358583 Li, L. (2011). Application of the Internet of Thing in Green Agricultural Products Supply Chain Management. 2011 Fourth International Conference on Intelligent Computation Technology and Automation, 1022–1025. http://doi.org/10.1109/ICICTA.2011.256 Liang, Z., y Lian, X. (2012). Application research of EPC network in reverse logistics. IEEE Conference Publitations, 369–372. http://doi.org/10.1109/ICIII.2012.6339994 Liu, R., Wang, Y., Yang, H., y Pan, W. (2004). An Evolutionary System Development Approach in A Pervasive Computing Environment. IEEE Conference Publitations, 194– 199. http://doi.org/10.1109/CW.2004.18 Liu, Y., y Feng, L. (2006). PCA : A Reference Architecture for Pervasive Computing. IEEE Conference Publitations, 99–103. http://doi.org/10.1109/ICACTE.2006.5678544 Lupiana, D., O’Driscoll, C., & Mtenzi, F. (2009). Taxonomy for ubiquitous computing environments. IEEE Conference Publitationses, (1), 469–475. http://doi.org/10.1109/NDT.2009.5272068 Ma, J. (2014). Internet of Things : Technology Evolution and Challenges. IEEE Conference Publitations. http://doi.org/10.1109/MWSYM.2014.6848429 Meddeb, M., Alaya, M. Ben, Monteil, T., Dhraief, A., y Drira, K. (2014). M2M Platform with Autonomic Device Management Service. Procedia - Procedia Computer Science, 32, 1063–1070. http://doi.org/10.1016/j.procs.2014.05.534 Miquel, S., Parra, F., Lhermie, C., y Miquel, M. (2006). Distribución comercial. Retrieved from books.google.com.co/books?isbn=8473564421 98 Pelaez, J. (2013). Diseño de un Sistema de Video Vigilancia IP para la Corte Superior de Justicia - La Libertad (Tesis de pregrado). Universidad Privada del Norte, Trujillo, Perú. Ramirez, G. A. (2010). Evaluación de introducción de Internet de Objetos en espacios de aprendizaje. Carlos III de Madrid, Madrid, España. Raspberry Pi. (2014). Raspbian. Recuperado el 20 de 09 http://www.raspberrypi.org/documentation/raspbian/README.md de 2014, de Rayo, J. A., y Chimbo, J. A. (2013). Utilización de la minicomputadora Raspberry Pi para la adquisición y evaluación de datos de consumo de energía eléctrica de equipos a 220 voltios. Escuela Superior Politécnica del Litoral. Rey, F. (2011). Diseño de un sistema de CCTV basado en red IP inalámbrica para seguridad en estacionamientos vehiculares (Tesis de pregrado). Pontificia Universidad Católica del Perú, Lima, Perú. Rubio, J., & Villarroel, S. (2012). Gestión de pedidos y stock. Recuperado de http://books.google.com.co/book?isbn=8436954351 Sakamura, K., y Koshizuka, N. (2005). Ubiquitous Computing Technologies for Ubiquitous Learning. IEEE Conference Publitations, 11–20. http://doi.org/10.1109/WMTE.2005.67 Sarma, S., Brock, D., y Engels, D. (2001). Radio frecuency identification and the electronic product code. IEEE Journal & Magazines, 21(6), 50–54. http://doi.org/10.1109/40.977758 Shrouf, F., Ordieres, J., y Miragliotta, G. (2014). Smart Factories in Industry 4 . 0 : A Review of the Concept and of Energy Management Approached in Production Based on the Internet of Things Paradigm. IEEE Conference Publitations, 697–701. http://doi.org/10.1109/ICACTE.2014.5654521 Tan, L., & Wang, N. (2010). Future internet: The Internet of Things. IEEE Conference Publitations, 5, V5–376–V5–380. http://doi.org/10.1109/ICACTE.2010.5579543 Upton, E., & Halfacree, G. (2014). Raspberry pi guía del usuario. Recuperado de https://www.dropbox.com/s/6evr4663ow6ou8f/Raspberry-Pi-Guia-Del-Usuario-2da-Eden-Espanol.pdf?dl=0 Weinstein, R. (2005). RFID : A Technical Overview and Its Application to TECHNOLOGY. IEEE Journal & Magazines, 7(3). http://doi.org/10.1109/MITP.2005.69 Xiang-li, Z., Kun, Y., Jin, Y., y Jian, L. (2012). A Remote Manufacturing Monitoring System Based on the Internet of Things, 221–224. http://doi.org/10.1016/j.phpro.2012.04.162 99 Xu, X., Wu, X., y Guo, W. (2011). Applications of IoT to Reverse Supply Chain. 2011 7th International Conference on Wireless Communications, Networking and Mobile Computing, 1–4. http://doi.org/10.1109/wicom.2011.6040568 Ying, F., y Fengquan, L. (2013). Application of Internet of Things to the Monitoring System for Food Quality Safety. IEEE Conference Publitations, 296–298. http://doi.org/10.1109/ICDMA.2013.71 Zysman, G. I., Tarallo, J. A., Howard, R. E., Freidenfelds, J., Valenzuela, R. A., y Mankiewich, P. M. (2000). Technology Evolution for Mobile and Personal Communications. Wiley Online Library, 107–129. http://doi.org/10.1002/bltj.2210 100 ANEXOS 101 Anexo A Configuración inicial de la Raspberry Pi Para el desarrollo del prototipo de sistema de vigilancia se adquirió una Raspberry Pi modelo B+. El proceso de preparación del micro computador se explica a continuación. En primer lugar se insertó la tarjeta de memoria microSD dentro de la ranura de la Raspberry Pi, se conectó el teclado, mouse, adaptador Wi-Fi y cable HDMI. Instalados los componentes se conectó la Raspberry Pi a la fuente eléctrica, se ejecutó la herramientas NOOBS (instalador para principiantes que contiene diferentes sistemas operativos disponibles para la Raspberry Pi, preinstalado en la memoria microSD) visualizando los sistemas operativos disponibles para la instalación. Se hizo la selección del sistema operativo Raspbian, por lo tanto se procedió a la instalación del mismo haciendo click sobre la primera opción. 102 Posterior a la instalación completa de Raspbian, el sistema realizo algunas configuraciones internas y a través de un nombre de usuario y contraseña se ingresó a la interfaz gráfica y a la línea de comandos del sistema operativo. Para conectar la Raspberry Pi a internet fue necesario configurar el adaptador Wi-Fi La configuración de este adaptador se realizó a través del icono WiFi Config que se encuentra en el escritorio, este icono despliega una ventana con las redes disponibles para la conexión de esta manera se seleccionó la red doméstica y se ingresó la contraseña, con lo cual la Raspberry Pi fue conectada a internet. 103 Anexo B Configuración de la cuenta de correo electrónico de la Raspberry Pi Instalación del cliente de correo electrónico Mutt. Configuración del correo electrónico asociado a la Raspberry Pi 104 Anexo C Prototipo-sensor de movimiento infrarrojo Esta imagen fue tomada por el prototipo una vez se activó el sensor de movimiento infrarrojo. Se puede visualizar en la imagen el acercamiento de una persona al lugar de ubicación del prototipo, su presencia es captada por el sensor PIR dado que se encuentra dentro de su rango de alcance generando un cambio en el estado y por consiguiente, la activación de todo el sistema. Anexo D Prototipo-sensor de inclinación Esta imagen fue capturada en el momento en el que el sensor de inclinación detecta cambios en su posición y activa el prototipo. 105 Anexo E Prototipo-sensor de tacto En esta imagen se observa la activación del sistema (captura de la imagen) cuando el sensor de tacto detecta algún tipo de fricción sobre su superficie de contacto. Anexo F Prototipo-sensor de gas En esta imagen se observa el funcionamiento del prototipo conectado al sensor de gas. Dado que en el momento de la prueba no había presencia de algún tipo de gas sensible al sensor en el ambiente, el sistema no se activa (no captura imágenes) pero muestra en pantalla el mensaje de “Libre de cualquier gas” cada intervalo de tiempo definido para el análisis del medio. 106 Anexo G Vista de correo electrónico enviado por el prototipo En esta imagen se visualiza un correo electrónico enviado desde la cuenta de correo configurada en la Raspberry Pi para la comunicación de la activación del sistema. Cuando el prototipo es activado y captura una imagen envía este tipo de mensaje. 107