10 SISTEMA DOMÓTICO PARA PREVENCIÓN DE ACCIDENTES Y SUPERVISIÓN EN HOGARES JOSE LUIS GOMEZ-CASSERES DEL CAMPO EDGAR LEONARDO TORRES QUIÑÓNEZ PONTIFICIA UNIVERSIDAD JAVERIANA FACULTAD DE INGENIERÍA CARRERA DE INGENIERÍA DE SISTEMAS BOGOTÁ, D.C. 2009 10 SISTEMA DOMÓTICO PARA PREVENCIÓN DE ACCIDENTES Y SUPERVISIÓN EN HOGARES Autor(es): Jose Luis Gomez-Casseres del Campo Edgar Leonardo Torres Quiñónez TRABAJO DE GRADO PRESENTADO PARA OPTAR AL TÍTULO DE INGENIERO DE SISTEMAS Director: Ing. Edgar Enrique Ruiz García PONTIFICIA UNIVERSIDAD JAVERIANA FACULTAD DE INGENIERÍA CARRERA DE INGENIERÍA DE SISTEMAS BOGOTÁ, D.C. Enero, 2009 II PONTIFICIA UNIVERSIDAD JAVERIANA FACULTAD DE INGENIERÍA CARRERA DE INGENIERÍA DE SISTEMAS Rector Magnífico Joaquín Emilio Sánchez García S.J. Decano Académico Facultad de Ingeniería Ingeniero Francisco Javier Rebolledo Muñoz Decano del Medio Universitario Facultad de Ingeniería Padre Sergio Bernal Restrepo S.J. Director de la Carrera de Ingeniería de Sistemas Ingeniero Luis Carlos Díaz Chaparro Director Departamento de Ingeniería de Sistemas Ingeniero Germán Alberto Chavarro Flórez III Nota de Aceptación ______________________________________________________ ______________________________________________________ ______________________________________________________ ______________________________________________________ ________________________________________ Ing. Edgar Enrique Ruiz García Director del Proyecto ________________________________________ Jurado ________________________________________ Jurado Enero de 2009 IV Artículo 23 de la Resolución No. 1 de Junio de 1946 “La Universidad no se hace responsable de los conceptos emitidos por sus alumnos en sus proyectos de grado. Sólo velará porque no se publique nada contrario al dogma y la moral católica y porque no contengan ataques o polémicas puramente personales. Antes bien, que se vean en ellos el anhelo de buscar la verdad y la Justicia” V Tabla de Contenido 1. INTRODUCCIÓN .......................................................................................................... 1 1.1. Descripción del Contexto ........................................................................................ 1 1.2. Visión Global de la Investigación............................................................................. 3 1.3. Justificación de la Investigación............................................................................... 4 1.4. Objetivo de la Investigación .................................................................................... 4 2. MARCO TEÓRICO ....................................................................................................... 5 2.1.2. Metodologías de Diseño de un Sistema Domótico...................................................... 8 2.1.2.1. Metodología Orientada a Objetos................................................................... 8 2.2. Protocolos ............................................................................................................. 8 2.2.1. X10 ............................................................................................................... 8 2.2.2 LonTalk ....................................................................................................... 19 2.2.3 ZigBee ......................................................................................................... 28 2.3 Soluciones Existentes ........................................................................................... 32 2.4 Dispositivos ......................................................................................................... 34 2.4.1 Sensor de Movimiento ................................................................................... 34 2.4.2 Sensor de Gas ............................................................................................... 35 2.4.3 Sensor de Humo ............................................................................................ 37 2.4.4 Cámara IP .................................................................................................... 39 3 ASPECTOS GENERALES DEL SISTEMA ................................................................... 41 3.1 Selección del Protocolo a Utilizar .......................................................................... 41 3.2 Determinación de los Dispositivos Básicos para Prevención de Accidentes y Supervisión de Hogares .......................................................................................................... 42 4 REQUERIMIENTOS DEL SISTEMA............................................................................ 43 4.1 Metodología para la Recolección y Selección de Requerimientos .............................. 43 4.2 Criterios para Seleccionar Requerimientos .............................................................. 49 4.3 Selección de requerimientos .................................................................................. 50 5 DISEÑO DEL SISTEMA DE AUTOMATIZACIÓN DE HOGARES ............................... 58 5.1 Vista de Casos de Uso .......................................................................................... 59 VI 5.2 Vista Lógica ........................................................................................................ 61 5.3 Vista Despliegue .................................................................................................. 64 6 DESARROLLO DE UN PROTOTIPO BASADO EN EL DISEÑO PROPUESTO ............. 67 7 PLAN DE PRUEBAS ................................................................................................... 71 7.1 Descripción del Plan de Pruebas ............................................................................ 71 7.2 Ejecución del Plan de Pruebas ............................................................................... 71 8 CONCLUSIONES ........................................................................................................ 79 9 TRABAJOS FUTUROS ................................................................................................ 80 10. BIBLIOGRAFIA ......................................................................................................... 81 VII Tabla de Contenido de Figuras Figura 1. Estadísticas de accidentalidad en diferentes años ...................................................... 3 Figura 2. Ejemplo de un sistema de automatización .............................................................. 13 Figura 3. Esquema de un sistema domótico X10, gestionado por computador .......................... 14 Figura 4. Posibles combinaciones para los códigos de los controladores X10 .......................... 15 Figura 5. Frame LonTalk ................................................................................................... 20 Figura 6.Ventanas de Tiempo ............................................................................................. 21 Figura 7. Mensaje con Acuse Unicast y Multicast................................................................. 22 Figura 8. Mensaje Repetido Unicast o Multicast ................................................................... 22 Figura 9. Mensaje Sin Acuse Unicast o Multicast ................................................................. 23 Figura 10. Autenticación LonTalk ...................................................................................... 23 Figura 11. Tipos estándar LonTalk...................................................................................... 24 Figura 12. La arquitectura de ZigBee .................................................................................. 29 Figura 13. Sensor de gas catalítico ...................................................................................... 35 Figura 14. Diseño de un Sensor electroquímico .................................................................... 36 Figura 15. Sensor de Humo por Ionización .......................................................................... 38 Figura 16. Diagrama de Componentes del Sistema de Automatización de Hogares .................. 61 Figura 17. Diagrama de Despliegue del Sistema de Automatización de Hogares ...................... 64 Figura 18. Modelo del diseño de David Fisher de un servidor HTTP para transmisión de video constante .......................................................................................................................... 69 Figura 19. Topología de la red para la prueba de VPN .......................................................... 78 VIII Tabla de Contenido de Tablas Tabla 1. Modelo OSI/ISO. ................................................................................................. 20 Tabla 2. Enrutamiento en una Red LonTalk ......................................................................... 22 Tabla 3. Diseño de la Matriz de Evaluación para la Selección de Requerimientos. ................... 44 Tabla 4. Matriz de Evaluación para la Selección de Requerimientos. ...................................... 52 IX ABSTRACT This project makes the design of a not expensive home automated system, to make it possible; the document shows the current situation of the home automation technology and his wrong approach as comfort and luxury instead of security. This research also exposes different types of protocols and devices used in this technology and their impact on the features of a system. After that, it describes the main characteristics of some home automated systems already developed. It specifies which basic devices should be present in a home automated system, for make a home safety. Finally, based on the obtained information, the document shows the design of the system and its validation, obtaining the respective conclusions and some proposed future works. RESUMEN Este proyecto investigación realiza y valida el diseño de un sistema domótico, o sistema de automatización de hogares que permita controlar dispositivos básicos de seguridad para prevenir incidentes y supervisar el hogar. Para ello se presenta la situación actual de la domótica, evidenciando una problemática en su enfoque, dirigido a un lujo y no a una verdadera necesidad. Luego se describen los protocolos de comunicación usados en la domótica con sus ventajas y desventajas, los dispositivos disponibles enfocados a seguridad y algunas herramientas de software disponibles. Finalmente, basado en la información obtenida, el documento muestra el diseño del sistema y su validación a través de un prototipo obteniendo las respectivas conclusiones y algunos trabajos futuros propuestos. X RESUMEN EJECUTIVO La tecnología ha tenido un abrupto crecimiento en estos últimos años, el producto de este fructífero esfuerzo de la comunidad científica ha sido un sinnúmero de logros y dispositivos que han mejorado de forma indescriptible la calidad de vida de muchas personas. Lamentablemente este crecimiento tecnológico tiene como cuna de nacimiento los países desarrollados y por tal motivo es difícil encontrar estas mejoras en países tercermundistas como el nuestro. Aún si se consiguiesen, sus precios serían elevados, como se observa en distintos catálogos [SMAR2008] y [DDES2008] y solo alcanzables para un cierto sector social, un sector muy definido y reducido. Dentro de estas mejoras se encuentran nuevos productos que además de mejorar la calidad de vida, podrían representar una solución óptima para problemas que se hacen evidentes en diferentes medios informativos: el problema de inseguridad y accidentalidad en los hogares. En países industrializados este tipo de problemas ha sido atacado por una rama de investigación llamada Domótica, sobre la cual se han creado una serie de dispositivos que permiten tener un gran control sobre el hogar y brindar servicios que le facilitan la vida a sus usuarios, servicios tales como acomodar la temperatura del hogar de acuerdo a la temperatura del exterior o controlar automáticamente la intensidad de las luces. Este tipo de características que permiten construir lo que se conoce como una “Casa Inteligente”, hacen posible que el hogar mismo tenga reacciones automáticas ante ciertos eventos como por ejemplo un robo o un incendio. Además, actualmente se tiene una red mundial, la Internet, la cual le ha mostrado al mundo una gran cantidad de puertas que muchos países ya están abriendo, mientras nosotros solamente estamos abriendo unas pocas ventanas. Es por eso que este proyecto de investigación pretende incorporar este nuevo término de Domótica dentro de los hogares colombianos, diseñando un sistema que permita automatizar el hogar, va a estar exento de lujos, pero va a contener lo necesario para suplir los problemas de seguridad y accidentalidad más relevantes para la clase media, haciéndolo muy económico comparado con las facilidades que esto pueda traer. Para ello se realizó una recopilación de estadísticas sobre los problemas de accidentalidad y de inseguridad, que se puede observar en la introducción de este documento. Además de la investigación pertinente de los sistemas domóticos existentes dentro del cual se encuentran, por supuesto, las XI tecnologías que los hacen posibles y de cómo repercuten estas en el costo del mismo para poder obtener los elementos necesarios para construir la arquitectura. Lo primero que debíamos saber eran las necesidades en sí que se debían atacar, es decir, que incidentes deberíamos ayudar a prevenir y cómo se realizaría la supervisión en el hogar. Para ello elaboramos una investigación sobre diferentes estadísticas de accidentalidad y de inseguridad mediante la recolección de diferentes fuentes como el DANE, en las cuales encontramos que los puntos críticos a tratar eran los hurtos de las casas, los incendios y la contaminación por gases tóxicos. Teniendo conocimiento de los requerimientos básicos que debía tener nuestro sistema, pasamos a un proceso de investigación donde se encontraron varias tecnologías que eran base de este tipo de sistemas, la primera de ellas fue X10, una de las tecnologías pioneras de este tema con el protocolo de comunicaciones del mismo nombre y por tal motivo se podría decir que un poco obsoleta pero también la más económica, la segunda fue LonWorks, con su protocolo LonTalk ofrece mayores servicios y mayor seguridad que X10, tuvo gran acogida en Europa pero también tiene un costo elevado; por último está ZigBee, una tecnología con el protocolo del mismo nombre que es el más reciente, es inalámbrico y ofrece posibilidades aún más avanzadas pero de igual forma que su homologo LonWorks, su costo es muy elevado. Para el prospecto de arquitectura que deseábamos, X10 ofrecía lo que necesitábamos, por lo menos lo suficiente para instalarlo en un hogar y suplir las necesidades para supervisión y prevención de accidentes, con un costo aceptable en comparación a las otras tecnologías. Otro aspecto importante a tener en cuenta era saber qué más ofrecen este tipo de sistemas, para ello se realizó una investigación donde recopilábamos las funcionalidades de cada kit que ofrecían en internet, a costos muy altos claro está, y mediante una metodología de selección, definimos cuales sería tomados en cuenta para el diseño de la arquitectura. Las funcionalidades seleccionadas fueron: - Encender o apagar automáticamente cualquier dispositivo o lámpara cuando se detecta movimiento. - Controlar cualquier dispositivo o lámpara de forma automatizada. - Visualizar en video lo que las cámaras están capturando. - Permite enviar imágenes vía correo electrónico al detectar un movimiento. - Transmisión de video a través de la Internet. - Control remoto de luces o dispositivos conectados al sistema domótico. XII - Cámaras que permitan capturar imágenes y video. - Acceso remoto al sistema vía aplicaciones web seguras. - Servidor web seguro para el acceso remoto, garantizando que la información privada este segura. - Envió de correo electrónico como respuesta a la detección de alguna señal de un sensor. - Envió de mensaje SMS a un número celular como respuesta a la detección de alguna señal de un sensor. - Hacer sonar una sirena como respuesta a la detección de alguna señal de un sensor. - Mostrar en una pantalla un mensaje de alerta como respuesta a la detección de alguna señal de un sensor. Con base en lo anterior se creó un documento de requerimientos (SDD, por sus siglas en ingles), en el cual se especifican además de los requerimientos funcionales, los atributos de calidad como por ejemplo la seguridad y la escalabilidad que debería tener un sistema de este tipo. Teniendo en cuenta estas características factibles para incluir dentro de la arquitectura, se realizó el documento de Descripción de la Arquitectura (SAD, por sus siglas en ingles) en el cual se especifican los componentes tanto físicos como lógicos para el correcto diseño de esta. Se siguió una metodología de vistas, la cual permite describir la arquitectura en todos sus aspectos. Las vistas que se crearon son: vista de casos de uso, para una descripción de las funcionalidades del sistema; vista lógica, para una descripción sobre los componentes lógicos principales para hacer realidad estas funcionalidades; vista de procesos, para una descripción de los procesos ejecutados dentro de la aplicación que controlara los dispositivos y contendrá toda la lógica del negocio; vista de implementación, que muestra de manera general las clases básicas para construir una aplicación que pueda proveer los servicios mencionados anteriormente; vista de despliegue, que muestra la instalación física de cada uno de los componentes del sistema, es decir, dispositivos, servidores y clientes, de tal forma que se pueda saber con exactitud cuáles serían los medios de transmisión de datos a utilizar; finalmente una vista de datos la cual permite saber cómo se hará el almacenamiento de la información requerida para que el sistema funcione correctamente. Una vez planteadas estas 6 vistas se realizó un prototipo de pruebas sobre el cual se verificaron los requerimientos funcionales y no funcionales del sistema, en este prototipo se incluyeron todos los dispositivos X10 necesarios: Un transmisor y receptor de protocolos X10 que será el dispositivo de comunicación entre el computador y los dispositivos, enviando y recibiendo los mensajes de este protocolo a través de la corriente eléctrica; un módulo de aparato que permite tomar control del encendido o apagado de cualquier electrodoméstico, una sirena y un sensor de movimiento. Además, se adaptó un XIII sensor de humo normal, para que pudiera comunicarse con la interfaz X10 mediante un dispositivo X10 que captura el cambio en el estado de una compuerta lógica dentro del sensor cuando detecta humo, permitiendo enviar una señal que advierte esto. Se utilizaron cámaras web conectadas al computador y se desarrolló una versión de prueba de un aplicativo siguiendo las especificaciones descritas en el documento de arquitectura, para poder realizar las tareas plateadas en el documento de requerimientos como enviar correos electrónicos ante una señal o capturar video cuando hay señal de movimiento. Se llego a la conclusión luego de todo este proceso, que es posible la implementación de sistemas de este tipo, aún cuando estos dispositivos no son comunes en el país, teniendo en cuenta que se pueden llegar a construir de bajo costo y que seguramente sería de gran ayuda para la población que tenga acceso a ellos y que gracias a este proyecto, ahora es mayor. XIV 1. INTRODUCCIÓN 1.1. Descripción del Contexto El ritmo de vida actual ha provocado un fenómeno cultural a tal punto que nos encontramos inmersos en una sociedad de información. La tecnología ha puesto a nuestra disposición los teléfonos celulares, el correo electrónico, los computadores para facilitar la realización de tareas y una gran cantidad de objetos que usamos a diario, los cuales han ido formando parte de nuestro diario vivir [DELT2008]. Vivimos en ciudades donde nuestra interacción con la tecnología es constante, solamente en el segundo periodo de 2007 se totalizó en 1’141.930 las suscripciones a internet de banda ancha en residencias, de acuerdo al último informe semestral de la Comisión de Regulación de Telecomunicaciones [COMI2008], mostrando un crecimiento del 21% con respecto al semestre anterior, uno de los más elevados en los últimos semestres. A través de todo este desarrollo tecnológico para la década de los 90’s surge la Domótica [CASA2008] como conjunto de sistemas que automatizan las diferentes instalaciones de una vivienda, y en el transcurso de estos años, aun cuando las casas y apartamentos han llegado a tener en su interior equipos de alta tecnología, ellos no son en sí mismos los destinatarios de ésta tecnología; encontramos riesgos y accidentes (Ver figura 1) que podrían haber sido evitados fácilmente y que van en detrimento de la calidad de vida, la comunicación, la comodidad y la seguridad de los espacios, donde a diario los hombres desarrollan sus actividades. De acuerdo con el Censo General de 2005[DANE2005], el 38.13% correspondiente 16.353.591 habitantes conforma la población que trabaja y el 29.3% correspondiente a 12.568.713 habitantes conforma la población en edad estudiantil. Adicionalmente, con el censo de población se determinó un total de 10.290.307 viviendas y se obtuvo un promedio de 4.1 habitantes por cada una. A partir de esta información podemos establecer que existe un promedio de 7.054.220 viviendas en las cuales los adultos trabajan y los menores asisten a centros educativos lo que nos permite concluir que estas viviendas permanecen solas un promedio de 10 horas diarias, situación aprovechada por los delincuentes sumada a la debilidad en la seguridad de los hogares que representan los cristales, lo cual es aprovechado por los intrusos para llegar al interior de las viviendas y si llegara a haber algún testigo que pueda dar aviso a las autoridades, cuando estas llegan es demasiado tarde [ALAR2008] [ASSD2008]. 1 En los hogares también se presentan otro tipo de situaciones de riesgo. Bien sea que no haya personas en la vivienda o cuando haya menores solos o simplemente por un descuido, hay eventos que pueden desencadenar conflagraciones como incendios, fugas de gas, inundaciones poniendo en peligro la vida de las personas y hasta llegando a destruir las viviendas parcial o totalmente. Existe otro aspecto relevante que es el de las personas mayores y las personas con movilidad reducida quienes requieren de una constante vigilancia, pero también requieren de cierto nivel de independencia que se ve afectado por la dificultad de realizar tareas tan sencillas como supervisión del estado de electrodomésticos, de aparatos e instalación de gas y de las válvulas de agua ya que debido a sus limitaciones físicas no pueden hacerlo llegando al punto de poner en riesgo sus vidas. En todo el país habitan 2’617.210 adultos mayores, habitantes cuya edad es superior a 65 años, representando el 6.31% de la población total del país. Y las personas con discapacidades, que representan el 5.9 % de la población total masculina y el 5.6% de la población total femenina, y un 4.9% de la población total de Bogotá de acuerdo al último censo realizado por el DANE en el 2005 [DANE2005]. Por otra parte, hoy en día no tenemos la posibilidad de controlar eficientemente los recursos que utilizamos en las viviendas y es así como se ve que en lugares de climas cálidos, el sistema de aire acondicionado se enciende en su máxima potencia en lugar de poder programarse para que mantenga una temperatura idónea, evitando así los picos de consumo. Así mismo ocurre con algunos electrodomésticos como lavadoras o lavavajillas que tienen ciclos predefinidos y que no siempre corresponden con la cantidad de ropa o platos que se van a lavar [DOIA2008]. De igual forma con mucha frecuencia olvidamos apagar la luz al salir de una habitación, incluso al salir de casa estamos intranquilos al no tener certeza del estado en que quedaron las cosas y nadie tiene acceso al lugar. Al no poder interactuar con nuestra vivienda mediante la tecnología, perdemos la posibilidad de prevenir, detectar y actuar con mayor rapidez y eficacia en caso de incendios, fugas de gas, cortocircuitos, revelar la presencia de intrusos, así como la supervisión de niños, personas mayores o discapacitadas y la posibilidad de éstas, de tener un cierto nivel de independencia. En general, hay una serie de riesgos latentes que nos rondan constantemente y que afectan significativamente nuestra calidad de vida de diversas maneras y en diversos grados de complejidad. 2 Figura 1. Estadísticas de accidentalidad en diferentes años. Fuentes: [CICP2008], [COBB2007], [SSAM20006], [SSAM20003] 1.2. Visión Global de la Investigación Actualmente se ofrecen varios productos que satisfacen las necesidades requeridas por un hogar inteligente, claro está que su instalación es de gran costo. Mediante un sistema domótico enfocado hacia los dispositivos de seguridad básica (alarma, sensores de movimiento, humo y gas entre otros) y dispositivos de vigilancia como lo son las cámaras de seguridad, todos estos con supervisión vía internet, sería posible llevarlo a hogares colombianos por un bajo costo y de esta forma reducir la cantidad de incidentes y mejorar su seguridad. 3 1.3. Justificación de la Investigación Muchos de estos sistemas ya han sido implementados no solo para compañías sino también para hogares en diferentes partes del mundo, han evolucionado tremendamente hasta hacer de la casa un ambiente totalmente electrónico en donde cualquier funcionalidad está al alcance de un botón en un control remoto. El desarrollo de estos productos se ha enfocado más en las comodidades que en la necesidad y por ello su costo puede alcanzar grandes proporciones. Con el auge de Internet y el aumento del porcentaje de su uso en Colombia[COMI2008], sería una herramienta bastante útil en términos de seguridad para la familia promedio, sin alcanzar los grandes lujos propuestos por otros sistemas ya implementados, pero supliendo las necesidades básicas que permitirían mitigar los incidentes y robos en las casas. Además, una vez concebido este sistema, se podría considerar extender su alcance a diferentes lugares como por ejemplo cárceles, guarderías o institutos geriátricos, donde la seguridad y la supervisión son políticas fundamentales para prestar un buen servicio. 1.4. Objetivo de la Investigación A partir de los aspectos de seguridad en los hogares, tratados anteriormente, a través de esta investigación se pretende diseñar un sistema domótico de bajo costo, que mediante el uso de tecnologías existentes, controle los dispositivos básicos de seguridad para contribuir a la prevención de incidentes y la supervisión en hogares. Para lograr el objetivo principal de la investigación, se definieron también cuatro objetivos específicos, que se mencionan a continuación. - Apropiar y documentar el conocimiento asociado a las tecnologías de automatización de hogares y el funcionamiento de dispositivos asociados a éstas - Analizar y definir los requerimientos para el diseño de un sistema domótico de bajo costo. - Diseñar un sistema domótico de bajo costo que soporte los requerimientos definidos anteriormente. - Validar el correcto funcionamiento del sistema domótico con un prototipo en un ambiente de pruebas que simule las características de un hogar. 4 2. MARCO TEÓRICO 2.1. Conceptos Básicos de Automatización de Hogares 2.1.1. Historia y Fundamentos Hasta el siglo XX, pensar en una casa que respondiera a necesidades o deseos de sus habitantes, como ajuste automático de luces, era algo que solo podía suceder en una película de ciencia ficción. Sin embargo en la actualidad, la presencia de tecnologías de automatización de hogares o Domótica, convierte en un hecho la existencia de casas inteligentes. Etimológicamente el término domótica se refiere a la “Automatización del Hogar”, en Ingles se conoce como “Home Automation”, y cuando el término se extiende a un edificio o inmueble se le llama “Inmótica”. Según la Real Academia de la Lengua Española, se define Domótica como un conjunto de sistemas que automatizan las diferentes instalaciones de una vivienda y también, define algo Automático como algo que sigue a determinadas circunstancias de modo inmediato y la mayoría de las veces de manera indefectible [REAL2008]. En algunos textos definen la Domótica como un conjunto de tecnologías y servicios del hogar que permitirán a sus usuarios controlar electrodomésticos, persianas, ventanas y sistemas de seguridad, entre otros elementos, de una forma centralizada [BATL2007]. Otro autor lo define como un sistema informático encargado de proporcionar servicios en el ámbito del hogar o, en general, los edificios [BATL2007]. Existen dos tendencias o puntos de vista hacia lo que dicen debería ser la domótica, algunos opinan que la domótica debe abordar únicamente la automatización del hogar, otros opinan que la funcionalidad que para áreas como las redes de datos de ámbito residencial y la conectividad con redes externas también debe ser cubierta. Este último punto de vista es llamado comúnmente “Hogar Digital” [MUÑO2007]. Desde su propio surgimiento, la Domótica ha sido planteada como una plataforma tecnológica que busca la automatización y el control de los hogares. Establece un escenario donde se integran las comunicaciones, los sistemas y la electrónica en una misma tecnología, a través de la relación existente entre sus componentes, es decir, la relación entre las tecnologías de comunicaciones y los sistemas junto con las tecnologías de automatización y control, contribuyendo al mejoramiento de la infraestructura de las casas y los beneficios que trae consigo para sus habitantes. [LORE2004] El principio de la automatización de hogares es hacer uso de sensores y sistemas de control para así controlar la vivienda de forma tal que se pueda proporcionar un hogar más seguro, más cómodo y más económico, con hechos como que la casa a través del controlador electrónico permita automatizar el 5 control de las luces, a tal punto, que la casa es capaz de determinar los momentos en los que las luces no requieren estar prendidas y así apagarlas. Además de poder monitorear alarmas contra incendios o contra robos entre otras. [GROS 1998] [BATL2007] y [MUÑO2007] coinciden en afirmar que esta tecnología está basada en 4 pilares básicos: Automatización y Control: Se trata de servicios de automatización y control principalmente de dispositivos domésticos (lavadora, nevera, etc.) y elementos de la casa (luces, toldos, etc.). También se incluyen servicios de control energético (calefacción, ventilación, etc.). Seguridad y Vigilancia: Seguridad anti-intrusos, seguridad ante accidentes y servicios de salud. Dentro de esta área [BATL2007] enmarca 4 tipos fundamentales: - Seguridad de Acceso: Recoge todas aquellas tecnologías que tienen que ver con el acceso a la vivienda o al complejo residencial, de forma que sólo puedan acceder usuarios reconocidos por el sistema (CCTV, video-vigilancia, controles de acceso, video-porteros, etc.) - Seguridad de Intrusión: Tanto perimetral como interior a la vivienda, que detectaría la presencia de intrusos. - Seguridad Personal: Telemedicina, teleasistencia, y planos de evacuación en casos de emergencia. - Seguridad Material: Gestiona todas aquellas alarmas técnicas generadas por escapes de gas, agua, electricidad o incendios. Comunicaciones: Servicios de intercomunicación entre las diferentes redes del hogar; comunicación con redes externas, dispositivos compartidos, etc. Todo lo relacionado con los datos compartidos en un ámbito local o la comunicación entre comunidades. Ocio y Entretenimiento: Servicios de video-bajo-demanda, juegos en red, control remoto de los dispositivos del hogar, etc. Un gran beneficio de la domótica es economía, pues la automatización permite suministrar la corriente entregada a cada uno de los aparatos acorde a su necesidad. En un marco tradicional, cada aparato es suministrado con la corriente suficiente para poder proporcionar su máximo uso; generando así reducción en los gastos de energía. [GROS 1998] Teniendo en cuenta cada uno de los aspectos mencionados anteriormente y basándose en la filosofía de la domótica, “Aquellos mercados que deben ser considerados como objetivos principales para la domótica deben ser, en primer lugar, aquellos de parejas jóvenes sin hijos que presentan gran movilidad y muestran la necesidad de controlar su casa desde otros lugares, y en segundo lugar, aquellos adultos mayores que 6 carecen de movilidad además de los discapacitados, quienes muestran la clara necesidad de controlar la casa desde un solo punto.” [LORE2004] Parte fundamental que encierra la domótica es que permite configurar alguno de los sistemas para que actúen automáticamente de acuerdo a un horario y a un estímulo [BATL2007]. Existen tres formas de clasificar los sistemas domóticos de acuerdo a la arquitectura en que están construidos: Sistema Centralizado, Redes de Control y Sistemas Cerrados [MUÑO2007]. Sistema Centralizado Todos los dispositivos están conectados hacia una unidad central que los administra. Los microcontroladores están programados en lenguaje ensamblador; por dicha característica, este tipo de sistemas proporciona gran estabilidad y robustez, ya que el lenguaje es de bajo nivel. Trae consigo también un gran inconveniente, debido a que los microcontroladores son programados para interactuar con parámetros tan definidos y a tan bajo nivel, dificulta de gran manera la ampliación y modificación del sistema, ya que sería necesario cambiar el lenguaje ensamblador del dispositivo central para adaptarlo a otro dispositivo o a una nueva tecnología [MUÑO2007]. Redes de Control Este tipo de sistema está enfocado en facilitar la comunicación de los dispositivos por medio del uso de un protocolo común de comunicación que permita la interoperabilidad entre un gran número de dispositivos, a diferencia del anterior tipo de sistema, este es mucho más flexible cuando se habla de ampliación y modificación, su gran problema es que todavía no existe un estándar de facto o ampliamente difundido que permita asegurar una red que utilice un solo protocolo [MUÑO2007]. Sistemas Cerrados En este tipo de sistema el diseñador del sistema domótico construye su propio protocolo que le permite tener control total sobre los servicios que quiere controlar. Es de gran ayuda cuando se quiere ajustar a necesidades muy específicas, pero no tiene el mismo soporte o confiabilidad que tendría un protocolo abierto que ha sido más difundido [MUÑO2007]. Además, existe un problema con cada uno de estos sistemas y son las herramientas y frameworks que utilizan, ya que estas están muy ligadas a las tecnologías en las cuales son construidas, precisamente por la ausencia de un protocolo ampliamente difundido [MUÑO2007]. Tanto para sistemas centralizados como para las redes de control y para los sistemas cerrados, es necesario construir una herramienta de control específica para cada uno de estos. 7 2.1.2. Metodologías de Diseño de un Sistema Domótico 2.1.2.1. Metodología Orientada a Objetos [MUÑO2007] propone una forma para diseñar sistemas domóticos, es un modelo conceptual orientado a objetos y construido con un lenguaje que lo llama HAMON (Home Automation Modeling Language), el cual cumple con las siguientes premisas para que pueda ser utilizado bajo cualquier circunstancia: • La máxima expresividad posible a partir de un número mínimo de primitivas. • Evitar Ambigüedades. • Ser independiente de las tecnologías. El modelado se realiza en varias etapas las cuales serán descritas a continuación: Modelado del Sistema Se realiza una descripción global del sistema independiente de la arquitectura física final, la cual incluye los servicios necesarios para satisfacer las necesidades del sistema. Se realiza un diagrama con objetos donde se ponen las instancias de los servicios y se colocan relaciones de dependencia de uso, la cual expresa que una instancia necesita usar operaciones de otra instancia. Se utilizan diagramas de Secuencia para expresar cómo es la interacción entre las diferentes instancias. Especificación Detallada del Sistema En esta etapa se entra más en detalle sobre la arquitectura y funcionalidad interna de cada instancia de un servicio. Se utiliza un diagrama de clases que contendrá los siguientes objetos: - Dispositivos: Dispositivos de la realidad que van a ser controlados. - Sensores: Componente físico que adquiere datos del entorno del sistema. - Efectores: Realiza acciones sobre el entorno del sistema. - Relaciones de Composición: contiene un elemento compuesto que siempre será un dispositivo y los componentes podrán ser sensores o efectores. 2.2. Protocolos 2.2.1. X10 Anteriormente cuando se hablaba de la automatización de hogares, muy pocos eran los que podían tener acceso a esta tecnología, particularmente las familias de clase alta. Pero con el auge de la tecnología en los tiempos modernos más la reducción de costos de está, la automatización ha empezado a lograr mayor acogida por los habitantes de las viviendas, y su mercado ha empezado a apuntar a clases medias también. Por dicha razón, se creó el protocolo X10, un protocolo que busca unificar la forma de comunicación entre los distintos dispositivos electrónicos, empleando la red eléctrica de las casas como el medio de 8 comunicación entre estos dispositivos. Sin embargo este protocolo aún es desconocido, lo cual no ha permitido que muestre su gran potencial en las aplicaciones de automatización de hogares. “Las raíces de X10 están en una compaña llamada Pico Electronics, originaría de Glenrothes, fundada en 1970.”[SHIH2005] En 1975 nace el proyecto X10, con la idea de utilizar la instalación eléctrica AC para transmitir señales de forma que se pudiera controlar luces y electrodomésticos. 3 años después, los circuitos que cumplía dicha tarea, ya se tenían desarrollados y se procedió a alquilar una casa para empezar a realizarles las correspondientes pruebas. Después de un año completo de extensas pruebas, se encontró que los circuitos funcionaban correctamente, pero cuando no se tenía mucho ruidos en la red eléctrica. Es decir que cuando los habitantes de la casa hacían uso de electrodomésticos, el sistema no podía leer bien las señales que le eran enviadas. Sin embargo, el grupo desarrollador del proyecto no tardo mucho en encontrar la solución a este problema. La solución radicaba en “sincronizar las transmisiones de la línea de conducción eléctrica con el punto de cruce cero de la línea, ya que en este momento es cuando se presenta menos ruido en la misma. Para 1978 X10 ya se encontraba en el mercado de Estados Unidos, y contó con RadioShack como el primer cliente, quien hoy en día es uno de los más grandes minoristas de X10. “Para ese entonces, el sistema contaba con 16 canales, un modulo de lámpara, y uno para los electrodomésticos. Posteriormente se agregó un modulo de lámpara para el interruptor de pared.” [SHIH2005] En 1984 es desarrollado el “Homeminder GE” por Pico/X10 para General Electric. Este proyecto se trataba de un sistema que mostraba a través del televisor graficas de lámparas y electrodomésticos y permitía controlar toda la casa desde el televisor al igual que desde teléfonos exteriores. El equipo se comercializaba por $500USD. “El “Homeminder” podía controlar cualquier dispositivo a través de la red eléctrica (120/220V y 60/50Hz) modulando pulsos de 120 KHz (0 = sin pulso; 1 = pulso). Con un simple protocolo de direccionamiento, podían ser localizados un total de 256 dispositivos en la red.” [SHIH2005] El protocolo usado en este proyecto soportaba 16 grupos de direcciones, marcadas como “códigos de residencia” (de la ‘A’ a la ‘P’) y otras 16 direcciones para cada “código de residencia”, marcadas como “códigos de unidad”. La comunicación la realizaba a través del envió de un “código de residencia” más un “código de unidad” y seguido por una cadena de unos y ceros la cual completa el comando a ejecutar. 9 Para la primera versión solo se contaba con seis operaciones básicas: encender, apagar, aumentar, disminuir, apagar todo, prender todo. En cuanto a las operaciones que involucran solo un módulo, solo el módulo cuya dirección coincida con la del mensaje será el que ejecute la orden. Este proyecto fracaso algunos años después, debido a que General Electric no tenía para ese momento un mercado enfocado a televisores, por lo que cerró esa división. En 1995 X10 instaló su propia estación de control en Seattle, Washington. A la cual llamo ORCA. Actualmente X10 es el mayor fabricante de sistemas de seguridad inalámbricos y con instalación propia. El protocolo X10, basado en la transmisión de información a través de la red eléctrica, aporta grandes ventajas, sin embargo, también cuenta con ciertos puntos débiles que afectan su rendimiento y su eficacia. Entre estas desventajas está el hecho de no contar con confirmación de las operaciones que se llevan a cabo, además de contar con una velocidad baja de transmisión, 50 o 60 bps, y otro factor muy importante es el hecho de no contar con una protección para la información que se transmite. A pesar de esto, toda la funcionalidad que aporta este protocolo sumada a su facilidad de uso e instalación han superado las desventajas, logrando que se siga usando actualmente. Características de la Tecnología Comunicación entre Plataformas En los controladores que se usan en X10 se puede encontrar otra ventaja de este protocolo, pues estos son flexibles, logrando que se pueda establecer comunicación entre tres distintas plataformas. Infrarrojo, Radio frecuencia y PLC (transmisión por red eléctrica). En cuanto al Infrarrojo, es una buena opción en casos donde se presenta mucha interferencia por radio frecuencia. Sin embargo cuenta con la desventaja de requerir “línea de vista”. La Radio Frecuencia, por ser medio inalámbrico y no requerir de la “línea de vista” es mucho más flexible. PLC (transmisión por red eléctrica), usa como medio de comunicación la red eléctrica para enviar las señales de control de forma directa a los receptores. 10 Cuando la comunicación es a través de la red eléctrica, un punto importante para garantizar un buen rendimiento de X10, es escoger bien la plataforma que se va a utilizar para la instalación, para así mejorar el envió de las señales que viajan a través de la red eléctrica. Para este aspecto se cuenta con dos tipos de acople: XPCP, “Acople pasivo creado como un enlace entre las fases eléctricas en una instalación hasta de 3000 pies cuadrados.”[SHIH2005] XPCR: Repetidor de acople, diseñado para acoplarse hasta tres fases y repetir señales validas de X10, también puede amplificar la señal para instalaciones más grandes.”[SHIH2005] Filtrado del ruido en la red eléctrica Para su correcto desempeño, X10 requiere que no haya algún tipo de contaminación en la red eléctrica, pues este ruido hace que los dispositivos no funcionen correctamente. Por ejemplo un dispositivo cualquiera conectado, cuando reciba un orden de encendido, al ejecutar el comando y empezar su operación, requerirá de un consumo de energía, lo cual puede generar que la energía del receptor no sea de una magnitud tal que le permita ser diferenciado en la red eléctrica debido al ruido presente, haciendo que para futuras ordenes el dispositivo no funcione como debe, por ejemplo no apagándose cuando se le envié la señal de apagado. Ante la problemática anterior, X10 cuenta con dos dispositivos que permiten detectar el ruido en la red eléctrica. El XPTT, transmisor de señal de prueba y el XPTR, indicador de la calidad de la señal. [SHIH2005] De igual manera se encuentra el XPPF, XPF y XPNR. El XPPF, filtro de enchufe, tiene como función eliminar el ruido presente en la red eléctrica. Es de gran utilidad cuando se identifica algún dispositivo que este siendo afectado por el ruido, o para controlar algún dispositivo que este generando interferencia en la red eléctrica. 11 El XPF, “Es esencialmente el mismo filtro que el XPPF, solo que este se utiliza si el dispositivo que se quiere filtrar no es de enchufe, sino que es activado por disyuntores o cualquier otro tipo de cableado.”[SHIH2005] El XPNR, es un reductor de ruido, que sirve de gran ayuda cuando se tienen problemas de ruido y no se puede identificar fácilmente cual es la causa de esté. O cuando el sistema presenta un comportamiento intermitente. Generalidades de X10 Como ya se mencionó anteriormente X10 es una tecnología que hace uso de la red eléctrica para la transmisión y la recepción de comandos vía corrientes portadoras. Pero para lograr esta comunicación hay otros componentes que participan para poder realizar el proceso de la comunicación. En el sistema existe un transmisor, o controlador del sistema, pues es quien envía las ordenes a cada uno de los dispositivos electrónicos conectados al sistema para que ejecuten alguna tarea en particular. De igual forma hay un receptor, el cual cumple con la función de recibir las señales de comando que son enviadas por el transmisor y ejecutar las tareas dirigidas a él. El transmisor está diseñado de forma que pueda enviar las señales de comando cuando se requiera, en el momento que requiera realizar un envió de una señal lo hará cuando detecte un cruce por cero en la red eléctrica. “Para realizar este proceso, el transmisor cuenta con un periodo de hasta 200µs desde el instante que detectó el cruce para enviar la orden. Esta orden se activa mediante un oscilador dentro del transmisor.”[SHIH2005] El oscilador, se activa por un intervalo de 1 milisegundo, tiempo en el cual produce un ráfaga de alta frecuencia sobre la portadora de la red, “esta ráfaga simula un uno lógico y es transmitida tres veces cada medio ciclo, para asegurar que la señal sea clara para las tres fases, en el caso de un sistema trifásico. La ausencia de dicha ráfaga constituirá así un cero lógico para el sistema.” [SHIH2005] En el medio ciclo restante, la ráfaga producida por el oscilador transmite el mismo valor pero en lógica complementaria, así en el caso en que haya enviado un uno lógico en la primera mitad del ciclo, en la segunda mitad se enviará un cero lógico y viceversa. Puesto que la comunicación entre el transmisor y todos los receptores es a través de la misma vía, es decir no hay un canal independiente para cada transmisor, entonces el transmisor antes de enviar un mensaje, 12 avisa a que dispositivo va a enviar el mensaje haciendo uso del “código de casa” y del “código de unidad”, códigos que sirven como identificadores para cada receptor. Estos mensajes requieren de 11 ciclos de reloj para transmitirse. 2 ciclos para indicar el inicio de la transmisión, 4 ciclos para indicar el código de residencia y 5 para indicar el código de unidad. “Similarmente, la orden a ejecutar, va compuesta del inicio de transmisión, del código de residencia y de la función a ejecutar.”[SHIH2005] Por defecto estos mensajes son enviados dos veces por el transmisor, por lo que tarda 22 ciclos de la señal eléctrica. Después de enviar los dos mensajes el transmisor aguarda 3 ciclos de reloj antes de realizar algún otro envió. Figura 2. Ejemplo de un sistema de automatización. Fuente: [SHIH2005] En la Figura 2 se puede ver un ejemplo de un sistema X10 para automatizar una residencia. En particular se ve como a través un transmisor y un sensor de luz se pueden automatizar las luces de la casa, de modo tal que cuando el sensor detecte un nivel que considere que ya es de noche, encienda las luces de la casa. De igual manera puede realizarse acciones pertinentes según lo que indiquen el sensor de movimiento y el detector de humo. Uno de los dispositivos más importante para tener un buen sistema de automatización en el hogar, es la interfaz entre el computador y la red eléctrica. Esta conexión se realiza a través del estándar RS-232. En la Figura 3 se muestra un esquema de un sistema X10 gestionado por computador. Las aplicaciones de 13 software existentes tienen como gran problemática que no pueden ser consideradas como sistemas completos o arquitecturas orientadas a dar soluciones globales. Figura 3. Esquema de un sistema domótico X10, gestionado por computador. Fuente: [SHIH2005] Elementos básicos de los sistemas X10 Alcance de la señal [ALHE2008] En el protocolo X10 el alcance que tiene la señal está determinado por la distancia que esta deba recorrer hasta llegar al dispositivo destino. Cabe resaltar que la señal viajará por cada segmento del cableado eléctrico, incluso por donde no se tengan dispositivos conectados; Este factor influye para que la amplitud de onda que se genere no sea de gran magnitud y generando que el alcance para la señal transmitida sea bajo. Para dar solución a este problema se cuenta con filtros, que cumplen la función de cortar posibles caminos por donde viajaría la señal, dando como resultado que la amplitud de la onda formada sea mayor y se pueda lograr un mayor alcance. “Considerando como circuito domótico la suma de las longitudes de los cables que alimentan los dispositivos domóticos por donde la señal puede viajar, estimamos que un límite conservador para evitar problemas de alcance sería: 2000 metros” [ALHE2008]. Controladores Son los encargados de transmitir los códigos de los dispositivos, transmiten una de las 256 posibles combinaciones de códigos que se pueden generar mediante la combinación del “código de residencia” y el “código de unidad”. En la Figura 4 se muestra en un estilo de perillas las posibles combinaciones para los códigos. 14 Figura 4. Posibles combinaciones para los códigos de los controladores X10. Fuente: [SHIN2008] Además de transmitir los códigos, los controladores cuentan con las funciones de encendido, apagado, brillo, atenuación, todas las luces prendidas y todas las luces apagadas. Como ya se había mencionado anteriormente existen varias formas de controlar los dispositivos, ya sea a través de controladores alambrados, de enchufe o inalámbricos. Los controladores manuales, son los más básicos, simplemente se conectan y quedan a disposición para que el usuario pueda controlar los dispositivos. Sin embargo requieren que el usuario tenga contacto físico con el controlador. Unos ejemplos de controladores manuales son: PHC01: “Minicontrolador, brinda acceso directo a unidades del 1 al 4 o del 5 al 8 (códigos de unidad), todos con el mismo “código de residencia” (A - P). Permite enviar los seis comandos básicos.”[SHIH2005] PHC02: “Maxi-controlador, es capaz de controlar todas las posibles combinaciones de unidades, simultáneamente, del 1 al 16 para dispositivos con el mismo “código de residencia”. Además puede transmitir múltiples comandos simultáneamente.”[SHIH2005] También existen controladores por teléfono, con este tipo de controlador, se pueden encender hasta un total de diez lámparas y electrodomésticos, utilizando cualquier teléfono desde cualquier lugar del mundo. Incluso permite controlar hasta ocho dispositivos en modo local. También brinda la posibilidad de hacer indicaciones visuales cuando suene el teléfono para avisar que hay una llamada entrante, función de gran utilidad para personas con discapacidad auditiva. Otro tipo de controladores que también se encuentra, son los controladores inalámbricos que operan por radiofrecuencia. Son sistemas de control remoto que pueden controlar hasta ocho módulos X10 tanto desde el interior como desde el exterior de la vivienda. Al igual que los otros controladores, estos también cuentan con las seis operaciones básicas. Cabe resaltar que para poder hacer uso de los controladores inalámbricos se requiere de un receptor que interprete las señales que envía el controlador. El receptor, es un módulo para electrodomésticos que envía señales X10 a los dispositivos conectados. Puede enviar señales para 16 “códigos de unidad” con el mismo “código de vivienda”. Debido a que se controlan los dispositivos con el control remoto, se tiene la limitante de la distancia, sin embargo, si se hace uso de un 15 repetidor (SR 731) se puede lograr un mayor alcance. El receptor, además de ser controlado con el control también puede ser controlado con comandos X10 sobre la red eléctrica. Receptores Son los encargados de cada uno de los comandos u órdenes recibidos a través de la red eléctrica. Para los sistemas X10 hay dos tipos de receptores, el módulo de lámpara y el módulo de electrodomésticos. La diferencia que existe entre los dos tipos es básicamente que el módulo para lámpara permite además de encender y apagar (interruptor), regular la intensidad de la iluminación, comando que no se puede ejecutar para los electrodomésticos. Hay 3 tipos de receptores: receptores de enchufado, receptores cableados y receptores de rosca. En los receptores de enchufado también se pueden dividir en modulo para lámparas y módulo de electrodomésticos. Para los módulos de lámpara encontremos dos receptores: PLM01 y PLM02. PLM01, cuenta con un enchufe de dos pines y puede controlar luces incandescentes de 40W a 300W. PLM02, Funciona igual que el PLM01 sin embargo cuenta con comunicación bidireccional lo que le permite conectarse a la interfaz para computador. En los módulos de electrodomésticos encontramos: PAM01, tiene dos tipos de enchufe de dos pines o tres pines con polo a tierra. Además de electrodomésticos también permite controlar luces con interruptores. PAM21, cuenta con comunicación bidireccional, cuenta con un enchufe de dos pines. Permite controlar electrodomésticos con motores de hasta 1/3 caballos de fuerza. Es compatible para conectarse con la interfaz para computador. PAM04, Está diseñado para controlar electrodomésticos con cargas hasta de 220V / 20A. 16 En cuanto a los receptores de rosca, consisten básicamente en módulos que se enroscan en portalámparas y así permiten controlar estas. Interpretan el comando de “todas las luces encendidas” Los receptores cableados, son usados para reemplazar interruptores de dos cables, unos son usados para controlar luces de hasta 300W, otros para manejar cargas incandescentes de hasta 15A. Y finalmente hay otros que cuentan con sensor de movimiento (rango de distancia de 40 pies) y sensor de luz. Cuando los sensores detectan algún cambio en el ambiente según su función, envían señales X10 de Encendido/Apagado hasta para cuatro receptores adicionales. Interfaces La función de las interfaces es poder desde cualquier dispositivo recibir las señales de control X10, de forma tal que éste quede automatizado sin necesidad que desde su creación haya sido creado con esta funcionalidad. Actualmente se manejan dos tipos de interfaces: la interfaz de baja tensión y la interfaz para conexión a un computador. La interfaz de baja tensión, permite que aquellos dispositivos que no fueron creados para operar bajo X10, a través de la interfaz PSC01 que hace toda la operación de las señales X10, pueda ser controlado y automatizado simplemente con el hecho de conectarlo a dicha interfaz. La interfaz para conexión a un computador permite controlar cualquier dispositivo a través de la pantalla del computador. “permite programar cronogramas de funcionamiento de luces y electrodomésticos las 24 horas del día. Un uso frecuente es controlar las luces para que se enciendan y simular que la residencia se encuentra ocupada.” [SHIH2005] Ventajas y desventajas Ventajas Las principales ventajas que brinda X10 radican en el hecho de usar la red eléctrica como medio de transmisión, facilitando la instalación al reducirla al simple hecho de conectar a las tomas de corriente los dispositivos y por ende, ahorrando el tener que realizar un nuevo cableado para estos. Otra ventaja es la cantidad de dispositivos disponibles para usarse con esta tecnología, brindando la posibilidad de construir toda una solución basada en este protocolo. 17 También en la posibilidad de acceso remoto radica otra ventaja, pues a través de una conexión a Internet y una interfaz X10 para conectar a computador, se puede tener un control del hogar desde cualquier lugar donde se tenga acceso a Internet, otorgando un mayor nivel de seguridad a la vivienda, permitiendo tomar acciones de respuesta mucho más eficientes ante accidentes. Finalmente existe otro factor importante, el ahorro de energía, que puede ser fácilmente logrado con X10, pues a través de dispositivos como el sensor de movimiento o sensor de luz, que hace encender las luces solo cuando es realmente necesario, o incluso en los diversos electrodomésticos, donde a través de los controladores se puede lograr que solo hagan consumo de energía en el momento en que sean utilizados. O con los sistemas de aire acondicionado o calefacción que mediante sensores de temperatura, se evita el hecho de tenerlos encendidos en todo momento, y solo se ponen en funcionamiento en el momento en que se registra un nivel más alto o más bajo que el ideal para los posibles habitantes. En cada uno de los factores mencionados anteriormente, se pueden ver las distintas ventajas que los sistemas X10 brindan a los habitantes, dándoles la posibilidad de tener ambientes más confortables y más seguros en sus hogares, además permitiéndoles realizar un ahorro en el consumo de energía. Factor muy importante en estos tiempos. Desventajas A pesar de cada uno de los factores mencionados como ventajas del protocolo X10, también se encuentran ciertas desventajas en su funcionamiento, como el hecho de presentar una baja velocidad de transmisión por usar la red eléctrica como medio de transmisión. Otro hecho que genera una desventaja en este protocolo es la poca seguridad. Sin duda alguna este es el problema más preocupante que presenta este protocolo, y se debe también al hecho de usar la red eléctrica como medio de comunicación, pues cualquier dispositivo dispone de total acceso a la información X10. Para este problema existe una solución simple y económica, el uso de filtros en la entrada de la red eléctrica, pues logra que los comandos X10 que viajan a través de la red no sean detectables. Sin embargo el problema de la información desprotegida se sigue manteniendo. Finalmente se encuentra como desventaja la ausencia de técnicas de detección y corrección de errores. Aunque el protocolo haga uso de lógica complementaria en cada comando enviado, y haga doble envió de los comandos por parte del transmisor, en vez de ser útil, puede llegar a ser un método altamente redundante e ineficiente. 18 Para mayor detalle acerca de las características del protocolo X10, ver [SHIH2005] 2.2.2 LonTalk ANSI/CEA-709.1-B Control Networking Protocol El protocolo LonTalk era en el pasado solamente utilizado en el chip llamado Neuron, diseñado exclusivamente para tal fin. Echelon Corporation, la empresa creadora del protocolo y del chip, abrió más tarde este estándar para que fuese utilizado por otros fabricantes en sus chips como es el caso del Motorola MC68360. En un esfuerzo por facilitar una implementación más rápida y aumentar su portabilidad en otros procesadores, LonTalk se ha convertido en uno de los protocolos en consideración para ser adoptados por varias organizaciones enfocadas al control de estándares [ECHE2000]. Está dividido en capas siguiendo el modelo por capas OSI/ISO. Los fabricantes de dispositivos solo tienen que implementar la séptima capa, la capa de aplicación. A continuación se realiza una breve contextualización del modelo OSI de acuerdo a los servicios ofrecidos por el protocolo LonTalk. Modelo OSI/ISO Capa Propósito Servicios que Provee OSI/ISO 7 Aplicación Compatibilidad con Configuración y Diagnóstico de la red. la aplicación. Transferencia de Archivos. Configuración de la aplicación, especificación, diagnóstico y gestión. Aviso, verificación de la información, planificación. 6 Presentación Interpretación de Variables de Red, Mensajes a la aplicación, Datos Tipos estándar. Request-Response, Autenticación. 5 Sesión Control 4 Transporte Confiabilidad End-to- Entrega de mensajes con acuse y sin acuse de End recibo. Direccionamiento Unicast y Multicast. 3 Red Entrega de Mensajes 2 Enlace Acceso al medio y Fraccionamiento del mensaje, cifrado de datos, fraccionamiento verificación de errores mediante CRC, evasión 19 de colisiones, prioridad y detección de colisiones. 1 Física Interconexión Interfaces especificas del medio y esquemas de Eléctrica modulación (par trenzado, línea de poder, frecuencia de radio, cable coaxial, infrarrojo, fibra óptica) Tabla 1. Modelo OSI/ISO. [SHAH2008] Un paquete típico del estándar ANSI/CEA-709.1-B seria como el siguiente: Figura 5. Frame LonTalk. Fuente: [VIRJ2006] Capa de Enlace [VIRJ2006] Asegura el uso eficiente de un canal de comunicación. El Datagrama es la estructura de datos que maneja. Define cuando un dispositivo puede enviar un datagrama. También define como interpretar los mensajes recibidos y los errores en el paquete mediante el chequeo de errores con CRC. LonTalk utiliza el algoritmo p-persistent predictivo CSMA para acceso al medio. También cumple con características importantes como por ejemplo la configuración en la prioridad de acceso al medio, asignando ventanas de tiempo reservadas como se muestra en la figura 2. 20 Figura 6.Ventanas de Tiempo. Fuente: [VIRJ2006] Este número de ventanas es asignado al momento de la instalación y estan diseñadas de tal forma que no haya posibilidad de colisiones en el ciclo de vida del paquete de prioridad. Los paquetes de más alta prioridad tienen un paquete de respuesta predecible. También permite adicionar y remover dispositivos sin necesidad de detener las comunicaciones. Capa de Red [VIRJ2006] Esta capa es la encargada de la entrega de mensajes: Cómo los datagramas son enrutados de un dispositivo a uno o varios, LonTalk soporta una dirección física de 48-bit llamada Neuron ID y usada para la configuración inicial. Su sistema de direccionamiento también está basado en una dirección lógica de la siguiente manera: Dirección lógica Dominio: Identifica un subsistema en un medio abierto o un sistema grande. Subred: Subconjunto de un dominio asociado usualmente con un con un canal, pueden haber hasta 255 subredes en un dominio. Nodo: Identifica un dispositivo dentro de una subred, pueden haber hasta 127 por subred. Grupo: Identificadores adicionales independientes de la subred. En total una red que usa LonTalk puede soportar hasta 32385 dispositivos en un dominio. Modo de Formato de la Destino Direccionamiento Dirección Domain-wide Domain (Subnet = 0) de la Dirección Todos dispositivos Broadcast Tamaño los 3 en el dominio Subnet-wide Broadcast Domain, Subnet Todos dispositivos los 3 en la subred. 21 Domain, Unicast Subnet, Dispositivo Node 4 específico dentro de una subred Domain, Group Multicast Todos dispositivos los 3 en un grupo. Domain, Neuron-ID Neuron ID Dispositivo 9 específico Tabla 2. Enrutamiento en una Red LonTalk. Fuente: [VIRJ2006] Capa de Transporte Tres tipos de envío de mensajes [TOSH2000]: Acknowledged: Los dispositivos que envían requieren un acuse de recibo de todos los dispositivos receptores. Todos los acuses son end-to-end. Reenvía automáticamente si no se recibe el acuse. Figura 7. Mensaje con Acuse Unicast y Multicast. Fuente: [VIRJ2006] Repeated: Número de mensajes por transacción configurable. Conserva ancho de banda con grupos grandes. Mejor tiempo de respuesta. 3 repeticiones proveen un 99.999% de probabilidad en el éxito de la entrega del paquete. Figura 8. Mensaje Repetido Unicast o Multicast. Fuente: [VIRJ2006] Unacknowledged: Un mensaje por transacción. Conserva el ancho de banda de la red y provee un alto desempeño. 22 Figura 9. Mensaje Sin Acuse Unicast o Multicast. Fuente: [VIRJ2006] Capa de Sesión Añade control a la información intercambiada por las capas inferiores [VIRJ2006]. Servicio de Request/Response: Usado para la gestión de dispositivos, valores de ordenamiento y solicitud otras acciones remotas. Autenticación: Verifica la identificación del dispositivo que envía. Utiliza una llave secreta de 48 bits conocida por cada dispositivo. El dispositivo que envía debe proveer una respuesta correcta de 64 bits al desafío enviado por el dispositivo receptor. Figura 10. Autenticación LonTalk. Fuente: [VIRJ2006] Capa de Presentación Información intercambiada utilizando Variables de red. Propagación manejada automáticamente por el firmware de Neuron. Variables de Red Según [ECHE2000] las variables de red son una de las características más importantes del protocolo LonTalk. Una variable de red es la forma por medio de la cual se transporta la información de un dispositivo a otro. Existen tres tipos de variables de red: 23 Entrada: Son aquellas en las cuales otros nodos le dicen al nodo actual determinadas operaciones que debe ejecutar o actualizaciones que se han producido en el sistema. Salida: Son aquellas en las cuales se les informa a otros nodos determinadas operaciones que deben ejecutar o actualizaciones que se han producido en el sistema. Configuración: Por medio de estas se configura el equipo para efectuar determinadas operaciones siempre que se produzcan otros eventos externos. Como se puede observar, una variable de red puede ser una temperatura o el estado de un interruptor, una medida cualquiera que le informará a otros dispositivos el estado general del sistema. Las variables predefinidas por LonWorks son llamadas SNVT (Standard Network Variable Types). Pueden existir hasta 62 variables por nodo. Capa de presentación – Conexiones Los sensores publican información y actores se suscriben a la información. De esta forma se actualiza la información que tiene cada dispositivo sobre los otros. Existen más de 170 tipos estandar definidos en types.LonMark.org con los cuales se pueden definir gran cantidad de variables de red. También existen definiciones XML disponibles para facilitar entrada/traduccion/interpretacion por otro sistema. Formatos de los estandares: Asegura la presentación consistente de los datos en herramientas y HMIs. Por ejemplo, un valor SNVT_temp_p de 2940 es presentado de la siguiente manera: Figura 11. Tipos estándar LonTalk. Fuente: [VIRJ2006] Define los servicios estándar básicos de la red que utilizan la información intercambiada por las capas inferiores: Configuración de la red y diagnósticos; transferencia de archivos; configuración de la aplicación, gestión, diagnósticos y especificación; perfiles estándar: Alarming, data logging, Scheduling, mas de 60 adicionales. Las propiedades de configuración caracterizan el comportamiento de un dispositivo en el sistema. Tipos definen el cifrado de la información, escalas, unidades, valor por defecto, rango y comportamiento. Capa de aplicación - Especificación de la aplicación: 24 Bloque funcional: porción de la aplicación de un dispositivo que realiza una tarea. Recibe entradas de configuración y de operación. Procesa la información. Envía salidas de información operacional. Arquitectura del chip y funcionamiento [ADEP1998] Cada capa del protocolo tiene tres funciones principales: Reset, Send y Receive. Reset es usado en los nodos para que la capa reiniciada pueda inicializar y localizar la estructura de sus datos. Send es usado para procesar cualquier paquete de salida esperando por esa capa. Receive es usado para procesar cualquier paquete entrante esperando por esa capa. Algunas capas también tienen una función adicional Init para su inicialización, esta función solo es llamada durante el encendido. En cada ciclo round robín ejecutado por el chip, llama la función send de cada capa, luego llama la función receive de cada capa y finalmente llama al programa de aplicación, el cual puede utilizar la ventana de tiempo otorgada de cualquier manera que lo desee. Es importante que el procesamiento del programa de aplicación no tome mucho tiempo o sino las capas no van a tener mucho tiempo para procesar el mensaje. Al inicio de cada ciclo el Planificador principal llama la función NodeReset con la cual llama la función Reset de cada capa, además, el Planificador también llama a la función PHYIO, con la cual vigila eventos por presión de botones y control de LED. Las partes criticas de tiempo en la capa de enlace, incluyendo la subcapa MAC y tales como el fraccionamiento del paquete, el cifrado y descifrado y los algoritmos de acceso al canal son manejados por interrupciones. Colas Las colas son la estructura principal para el almacenamiento de paquetes. Generalmente hay 3 clases de colas: Input, Output y OutputPriority. Las colas de entrada (Input) son generalmente usadas para almacenar paquetes que llegan. Las colas de salida (Output) son usadas para almacenar paquetes sin prioridad. Y finalmente, las colas de salida con prioridad (OutputPriority) son utilizadas para almacenar paquetes con prioridad. Ahora se explicará cuales y como son usadas las colas por cada capa. Capa de Aplicación Esta capa utiliza los tipos de colas Output y OutputPriority. Si alguna de estas dos colas está llena, la aplicación no puede seguir enviando mensajes a la cola. Cada ítem en la cola está compuesto por dos partes, la primera de ellas es llamada compuesta por toda la información referente a qué hacer con el paquete, como por ejemplo si necesita autenticación o no, que servicio es usado, etc. La segunda parte del ítem consiste en el código y los datos, llamados también paquetes APDU (Aplication Protocol Data Units). Esta capa también utiliza la cola Input para recibir paquetes entrantes, así como también paquetes indicadores de terminación de la capa de transporte, sesión y de red. 25 La capa de aplicación y de sesión también comparte una cola dedicada para respuestas. Respuestas del programa de aplicación y del programa en si mismo son colocadas en esta cola. Si esto no fuera así, la capa de aplicación tendría que colocar sus respuestas en su cola Output y enviarla a esta misma cola en la capa de sesión, en dado caso que el nodo hubiera enviado una solicitud, el mensaje en la cola output de la capa de sesión no sería retirado de la cola hasta que la transacción finalizara y el procesamiento del mensaje de respuesta, situado detrás de este mensaje en la cola, estaría fuera de tiempo. La cola de respuestas es revisada cada vez que se llama a la función Send de la capa de sesión. Además de utilizar estos tres tipos de colas, también utiliza una cola para las actualizaciones de las variables de red y las consultas de las variables de red. La primera es usada para almacenar los índices de las variables de red (con prioridad y sin prioridad), cada uno de estos ítems, aparte de tener el índice de la variable, opcionalmente puede tener el valor de esta. La segunda es utilizada para almacenar los índices de las variables de red consultadas por la capa de aplicación. Capas de Transporte, Sesión (y Autenticación) El componente de autenticación es usado por la capa de Transporte y de Sesión pero no es realmente una capa, para motivos de entendimiento de las colas se ha colocado como una capa aparte. La capa de transporte utiliza la cola Output y OutputPriority para procesar mensajes con o sin acuse que sean repetidos. Si los mensajes no pertenecen a alguno de estos dos tipos, la capa no hace nada con estos mensajes. El mensaje que se encuentra en la cola de prioridad queda bloqueado y no puede ser borrado hasta que la transacción finalice. En la cola Input de la capa de transporte se almacenan los mensajes TPDU (Transfer Protocol Data Unit) para su procesamiento. La capa de sesión funciona de manera similar a como lo hace la capa de transporte. Como ya se había explicado en el numeral anterior, aparte de manejar las colas Output y OutputPriority, también maneja una cola de respuestas donde almacena los mensajes de respuesta de la capa de aplicación. Capa de Autenticación. La capa de Autenticación no utiliza colas de salida, solamente utiliza una cola Input para procesar los desafíos y respuestas de acuerdo al modelo de autenticación. Si llega un mensaje con la bandera de autenticación activada, el mensaje es almacenado en esta cola, la capa de resuelve el desafío y envía una respuesta. Cuando se recibe la respuesta a un desafío, el mensaje es almacenado en esta misma cola, se verifica que se solicito autenticación para un mensaje enviado en un pool de registro de mensajes y si no existe, el mensaje se descarta; si existe, se comprueba la respuesta al desafío, si es exitoso, el paquete se envía a la capa de transporte; si no, se descarta el mensaje. 26 Capa de Red La capa de red utiliza los tres tipos de cola: Output, OutputPriority e Input. El valor fijo de la cola de salida debe indicar si debe usar una ruta alterna, la dirección de destino, etc. En la cola de entrada se almacenan los paquetes NPDU (Network Protocol Data Units), la capa analiza sus cabeceras y envía el PDU a la cola Input de la capa asociada. Capa de Enlace Esta capa utiliza también las colas Output y OutputPriority de la misma forma en que lo hacen las capas superiores, almacenando LPDU (Link Protocol Data Unit) para ser enviados a la capa física. En la cola Input se almacenan los paquetes recibidos por la capa física por el Interrupt Service Routing (ISR) que maneja la parte física del medio que recibe paquetes. Existe un problema para la actualización del tamaño de la cola, es por eso que cada ítem tiene una parte donde va una bandera y tamaño y en la otra pare va a el LPDU. La capa de enlace mantiene un apuntador hacia la cabecera de la cola y el ISR uno hacia el final de esta. Cuando llega un nuevo paquete, el ISR prueba la bandera del mensaje que está al final para saber si hay un espacio vacío, si lo hay, posiciona el mensaje al final. De igual forma lo hace la capa de enlace con su apuntador en el comienzo de la cola, verifica la bandera y si esta vacio corre todos los mensajes. Esto genera algunos problemas con la verificación del CRC, es por esta razón que la capa de enlace solo computa el CRC de los mensajes de salida y la capa física solo los de entrada. Capa Física La capa física solo utiliza colas Output y OutputPriority. Las colas de salida están basadas en banderas, cuando se envía un mensaje, el ISR verifica si la estructura de datos esta lista para enviar un nuevo mensaje, copia el paquete a la estructura de datos y lo envía, cuando recibe el paquete lo coloca directamente sobre la cola Input de la capa de enlace, es por eso que esta capa no utiliza una cola Input. Características Principales Modos de Direccionamiento Soporta Id único, Nodo de Subred, modos de direccionamiento Broadcast y Multicast. Solicitud Broadcast Un nuevo tipo de de solicitud Broadcast es manejado, el Broadcast Group que permite enviar solicitudes a múltiples nodos de un grupo y definir el número mínimo de respuestas necesarias para que la transacción sea exitosa. Este número de respuestas es esperado en la capa de sesión. Servicios 27 LonTalk provee 4 tipos de mensajes Básicos: Unacknowledge, Unacknowledged Repeated, Acknowledged y Request/Response. Respuesta Nula Soporta un tipo adicional de respuesta nula, con la cual se le informa a la capa de aplicación desde la capa de sesión que no se requiere respuesta a una solicitud enviada anteriormente. Una respuesta nula es una solución más limpia y transparente que una ausencia de respuesta. Respuesta Dependiente del Contexto Para cada solicitud es asignado un id único para asegura que la respuesta corresponda a dicha solicitud para asegurar que ha sido enviada al destino correcto. Variables de Red o Mensajes Implícitos Las respuestas a los comandos de gestión y diagnóstico de la red son manejadas por la capa de aplicación. LonTalk presenta varias ventajas, la mayoría con respecto a la acogida que ha tenido sobre todo en Europa; reconocidas marcas como TOSHIBA ya fabrican dispositivos con el NEURON chip totalmente compatible con los sistemas LonWorks. Aunque estos dispositivos son costosos, existen electrodomésticos como aire acondicionado, aspersores o persianas, construidas para su integración en un sistema de este tipo, es un protocolo mucho más robusto, pero por tal motivo también sobrepasa por mucho las necesidades de un hogar para llevarlo a un nivel de lujo y comodidad, incrementando el precio de los dispositivos y del sistema en sí. Una gran ventaja de este sistema es su seguridad, debido a que su instalación se realiza en un sistema de cableado independiente, resulta más fácil controlar el acceso al control de los dispositivos y a la información que viaje por allí, lamentablemente esto también incurre en un gasto adicional. 2.2.3 ZigBee [ZIGB2008] ZigBee Alliance ha desarrollado un estándar de comunicaciones que permite la comunicación inalámbrica de dispositivos, esta comunicación es en dos sentidos. Este protocolo está construido con base en una arquitectura por capas. El Standard IEEE 802.15.4-2003 define las dos capas más bajas: la capa física (PHY) y la capa de control de acceso al medio (MAC). Basados en este estándar, ZigBee Alliance construyó una capa de red (NWK) y un área de trabajo para la capa de aplicación. Esta última capa consta de una subcapa de soporte para las aplicaciones (APS) y los objetos que son los dispositivos ZigBee (ZDO). Los objetos de las aplicaciones de otros fabricantes comparten la seguridad, la subcapa de soporte y el servicio de seguridad de ZigBee con el ZDO. 28 El estándar de la IEEE mencionado anteriormente tiene dos capas físicas que operan en dos rangos de frecuencias separados: 868/915 MHz y 2.4 GHz La frecuencia más baja cubre la banda europea de 868 MHZ y la americana de 915 MHz La frecuencia de 2.4 GHZ es utilizada a nivel mundial. Una completa descripción de la capa física del estándar IEEE 802.15.4-2003 se encuentra en [IEEE2003]. La capa MAC de este mismo estándar es la encargada de enviar mensajes de alerta, de sincronización y de proveer un mecanismo de transmisión confiable. Una completa descripción de la capa de control de acceso al medio puede ser encontrado en [IEEE2003]. Figura 12. La arquitectura de ZigBee. Fuente: [ZIGB2008] La capa de Red soporta topologías de estrella, de árbol y de malla. En una topología de estrella la red es controlada por un solo dispositivo llamado Coordinador ZigBee, el cual es el responsable de inicializar y mantener los dispositivos en la red. Todos los dispositivos conocidos en esta topología como dispositivos finales están comunicados directamente con el Coordinador ZigBee. En las topologías de malla y árbol, el Coordinador ZigBee es el encargado de inicializar la red y de escoger ciertos parámetros claves de configuración pero la red puede ser extendida a través del uso de enrutadores ZigBee. En las topologías de árbol, los enrutadores envían información por medio de una estrategia de enrutamiento jerárquico. Pueden utilizar una comunicación orientada a las alertas como se describe en [IEEE2003]. Las topologías de red en malla permiten una comunicación total uno-a-uno. Especificación de la Capa de Aplicación 29 Como se mostró en la figura anterior la capa de aplicación está dividida en una subcapa de soporte a aplicación (APS), un objeto dispositivo ZigBee (ZDO) y los objetos definidos en la aplicación del fabricante. La APS provee una interface de comunicación entre la capa de red (NWK) y la capa de aplicación (APL) a través de un conjunto general de servicios que son usados tanto por el ZDO como por los objetos de la aplicación. Estos servicios son proveídos por dos entidades principales: ‐ La Entidad de Datos del APS (APSDE) a través del punto de acceso de APSDE (APSDE-SAP). ‐ La Entidad de Gestión del APS (APSME) a través del punto de acceso del APSME (APSMESAP). La primera entidad permite la transmisión de información entre dos o más entidades de aplicación localizadas en la misma red. La segunda entidad ofrece varios servicios a los objetos de la aplicación, entre ellos los servicios de seguridad y la vinculación de dispositivos. También mantiene una base de datos de los objetos gestionados llamada base de información del APS (AIB). El framework de la aplicación en ZigBee es el entorno en donde los objetos de aplicación serán almacenados dentro de los dispositivos ZigBee. Se pueden almacenar hasta 240 objetos de aplicación, todos identificados por una dirección que finaliza entre 1 y 240. La finalización en 0 está reservada para la interface de datos con el ZDO y una finalización de identificador de 255 está reservada para la interface de comunicación broadcast la cual transmite los datos a todos los objetos de aplicación.las finalizaciones del 241-254 están reservadas para uso futuro. Otro componente importante de la capa de aplicación es el ZDO, este representa una clase base de funcionalidad que provee una interface entre los objetos de la aplicación, el perfil del dispositivo, y la APS. Este componente es responsable por lo siguiente: ‐ Inicializar la subcapa de soporte (ASP), la capa de red (NWK) y el Proveedor del Servicio de Seguridad. ‐ Reunir la información de configuración de las aplicaciones finales para determinar e implementar el descubrimiento, gestión de seguridad y gestión de vinculación del dispositivo. El descubrimiento de un dispositivo ZigBee realizado por otro dispositivo ZigBee se puede realizar de dos maneras, se puede realizar una solicitud del nuevo dispositivo de la dirección IEEE, esto asumiendo que 30 se conoce la dirección de red; este mensaje es unicast y es específico para un dispositivo. Además se puede enviar un mensaje broadcast y que la respuesta del nuevo dispositivo sea la dirección IEEE. También se realiza un proceso de descubrimiento de servicios, donde cada dispositivo envía una consulta a los otros dispositivos para conocer sus capacidades. Especificación de la Capa de Red Esta capa está constituida por un Netwrok Layer Data Entity (NLDE) el cual provee un servicio de transmisión de datos entre diferentes dispositivos. El NDLE tiene como principales tareas: ‐ Generar el paquete a partir de un paquete de la ASP, el cual contendrá las cabeceras necesarias para ser interpretado, este paquete también es conocido como Network Protocol Data Unit (NPDU). ‐ Debe ser capaz de transmitir un NPDU al dispositivo apropiado enrutándolo de la manera necesaria. Adicionalmente existe la Entidad gestora de la capa de red (NLME) la cual tiene como principales tareas: ‐ Configurar un dispositivo dentro de la red, esto es por ejemplo colocarlo como coordinador ZigBee o unirlo a una red. ‐ Establecer una nueva red. ‐ Unir, retirar o reunir un dispositivo a una red. ‐ Asignar direcciones a los nuevos dispositivos que se unan a la red. ‐ Reunir información sobre los dispositivos que se encuentra a su alrededor. ‐ Descubrimiento de las rutas en la red para llegar a cada dispositivo de esta. ‐ Controlar cuando el receptor es activado y por cuanto tiempo, habilitando la sincronización de la capa MAC o la recepción directa. ‐ Manejar el tiempo de enrutamiento a utilizar el cual puede ser unicast, multicas, broadcast o el que intercambie datos más eficientemente dentro de la red. Una red de Automatización de hogares ZigBee [ZIGB2007] Una red de automatización de hogares construida con ZigBee puede soportar de 2 a 500 nodos, cuando se aproxima a la cifra límite la red se puede volver un tanto lenta y aún más si no es un experto en ZigBee el que realiza la instalación del sistema. No es necesario que todos los dispositivos en una red sean HA (home Automation) Certified, pero si es necesario que el dispositivo implemente un perfil en su ZDO de 31 HA (home Automation), de esta manera se asegura que los nuevos dispositivos ZigBee de otro fabricante no sobrecarguen la red de manera indebida y todos puedan operar entre sí. Cuando un nuevo dispositivo es añadido a la red, el coordinador avisa al instalador que puede ser un PC, un pantalla LCD o un indicador LED. El dispositivo recién agregado busca al coordinador o al router más cercano en 3 intentos. Generalmente estos dispositivos son utilizados con un control remoto y el barrido en busca de actualizaciones del estado de los dispositivos se recomienda que se haga con una frecuencia de mínimo 7.5 segundos. Para mayor información sobre la implementación de ZigBee en la automatización de hogares ver [ZIGB2007] Una de las principales ventajas de este protocolo y de los sistemas construidos con base en él, es que no requieren una instalación eléctrica o de cableado ya que su medio de transmisión es inalámbrico, pero, por tal motivo, los dispositivos aumentan su costo en un valor considerable, comparándolo con dispositivos X10 o de LonWorks, claro está que esto también le permite controlar un mayor número de dispositivos. 2.3 Soluciones Existentes Actualmente hay diferentes tipos de aplicaciones de domótica junto con productos que pueden satisfacer casi todas las necesidades sin embargo no son usadas debido a la falta de información, promoción de sus beneficios y alto costo. Algunos de estos sistemas se describen a continuación. Villa Domótica “Villa Domótica” [GARC2001] es una pequeña casa desarrollada en laboratorio que incluye la mayoría de elementos que pueden llegar a ser automatizados en una casa real. Esta casa se presta como una herramienta en la domótica para probar distintos aspectos tanto de hardware como de software involucrado en el tema. La casa cuenta con las siguientes especificaciones funcionales. ‐ Alarmas (agua, gas, teléfono). ‐ Control de luces ‐ Control de conexiones ‐ Control de temperatura 32 ‐ Simulación de presencia ‐ Comunicaciones ‐ Señales Arquitectura del sistema A través del software “Simatica 2.1” [GARC2001] se llevó a cabo la programación del controlador, cuya función consta de permitir el control sobre cada uno de los elementos conectados. Este sistema brinda al usuario la navegación por 8 diferentes ventanas. En la primera de estas hay una etapa de autenticación para el usuario a través de una clave o número de identificación, la cual brinda el acceso al sistema. El resto de las ventanas muestran al usuario el estado de cada uno de los elementos controlados por el sistema. System Simulation: VISIR Visir es un software que a través de una conexión al controlador permite realizar una simulación de una instalación de Domótica en tiempo real. En particular se pueden simular los distintos elementos que se puedan tener en una casa, configurando su comportamiento y así posteriormente interactuando con ellos de forma tal que pueda operar los mismos procesos que en una instalación real. La conexión entre el controlador de los elementos y el computador donde se encuentra instalado el sistema se realiza a través de cable RS232 conectado al puerto serial del computador. LonWorks Platform Echelon Corporation es una de las empresas más reconocidas a nivel mundial por fabricar dispositivos diseñados para la automatización tanto de hogares como de sitios de trabajo. Esta compañía diseñó su plataforma LonWorks la cual está compuesta por aplicaciones y dispositivos elaborados para tal fin, además de diseñar su propio protocolo de comunicaciones LonTalk, el cual fue descrito anteriormente en este documento. 33 Con chips como el Neuron o el Pyxos que al instalarlos en el dispositivo permiten el control completo o suministran información completa sobre el estado del dispositivo, esta compañía ha alcanzado una gran interoperabilidad entre distintos protocolos. 2.4 Dispositivos 2.4.1 Sensor de Movimiento [HOWS2008] En nuestro entorno encontramos distintos estilos de sensores de movimiento, por ejemplo es muy común que cuando alguien ingrese a un almacén se produzca un sonido en particular para indicar así la presencia de una persona en el lugar, o también es común encontrar sitios con puertas automáticas, las cuales se abren cuando la persona está próxima a la puerta Para el primer caso, basta con ubicar un haz de luz que cruce el espacio de la puerta, por un lado, y en el otro un fotosensor que detecte el cambio en la cantidad de luz que se produce cuando una persona cruce a través del haz de luz y de esta forma active un dispositivo que reproduzca algún sonido. Para el segundo caso, se hace uso de una forma de radar, el cual se ubica en la parte superior de una puerta, donde empieza a emitir ráfagas de microondas y espera la energía que se refleja por la superficie. Cuando una persona cruza a través de la zona por donde se emiten las microondas cambia la cantidad reflejada o el tiempo en que se demora la reflexión de energía en llegar, lo cual hace que se abra la puerta. Estos sensores que hacen uso de una inyección de energía en el ambiente para así detectar algún tipo de cambio se conocen como sensores activos. Sin embargo la detección de movimiento característica de los sistemas de seguridad se conoce como un sistema pasivo, el cual se basa en la detección de energía infrarroja. Aquellos sensores que son capaces de detectar seres humanos, son sensibles ante la temperatura del cuerpo humano. El cuerpo suele mantener una temperatura cerca de los 37 grados centígrados, [CIENC2008] irradiando energía infrarroja con una longitud de onda de entre 9 y 10 micrómetros, por lo cual el sensor debe ser sensible en el rango de los 8 a 12 micrómetros. 34 En el caso de los sensores pasivos, los dispositivos que componen al sensor, son dispositivos electrónicos simples, no como en el caso de los sistemas activos donde se hace uso de dispositivos como fotosensores, que son de mayor complejidad. La configuración electrónica que presentan los sensores pasivos detectan cuerpos en movimiento, sin embargo no detectan cuerpos que se encuentren en reposo, esto se debe a que el sensor esta en busca de cambios rápidos en la cantidad energía infrarroja presente en su rango de cobertura. Estos sensores cuentan con un amplio campo de vista debido al lente que tienen, pero hay un punto ciego que es el cristal, pues debido a que el vidrio no es transparente completamente para la energía infrarroja, algo que se mueva y que este detrás a una ventana no será detectado por el sensor. 2.4.2 Sensor de Gas [NEMO2008] Los sensores de gas electroquímicos son usados en los sistemas de seguridad para monitorear el ambiente y controlar que no haya presencia de gases tóxicos para poder garantizar que el aire presente en el ambiente es seguro de respirar. Desde la década de los 60, cuando se inventó el “Pellistor” [RSCH2009], el método que ha sido más usado para la detección de los gases inflamables es la combustión catalítica. Figura 13. Sensor de gas catalítico. Fuentes: [NEMO2008] “El “Pellistor” es una fina bobina de alambre de platino puesta dentro de una pastilla de cerámica. La superficie de la pastilla es una capa de una gran superficie de metal, que cuando se calienta actúa como catalizador para promover una oxidación exotérmica de gases inflamables. En la operación la pastilla y la capa de catalizador se calientan haciendo pasar una corriente a través de las bobinas.” Ante la presencia de un gas inflamable el catalizador se calienta permitiendo que ocurra una reacción química similar a la 35 combustión, la cual libera calor haciendo que la temperatura tanto del catalizador, como de la pastilla y de la bobina aumenten, desencadenándose un cambio en la resistencia eléctrica que constituye la señal del sensor. Los “Pellistor” son construidos por pares, además del componente mencionado anteriormente, también se componen de un elemento que no contiene un catalizador, lo cual garantiza que los gases que no sean inflamables se oxiden en su superficie, evitando que el sensor genere falsas alarmas. El aire que es analizado por el sensor, pasa a través de la barrera de difusión y la membrana permeable de gas e ingresa a la “célula” del sensor, donde a la hora de hacer contacto con sensores de electrodos, los gases tóxicos que se encuentren presentes desaten una reacción química. Figura 14. Diseño de un Sensor electroquímico. Fuentes: [NEMO2008] “En el caso de presentarse monóxido de carbono, la reacción que se presentaría en el sensor seria: CO + H2O Æ CO2 + 2H+ + 2e- El dióxido de carbono generado es difundido al exterior en el aire, mientras que la carga positiva de iones de hidrógeno (H+) migran hacia el electrolito. Los electrones generados, cargan el electrodo, pero son retirados como una pequeña corriente eléctrica por el circuito de medición externa. Esta reacción de oxidación es balanceada por una reacción correspondiente de reducción contra el electrodo O2 + 4H+ + 4e- Æ 2H20 Entonces, en un electrodo, el agua se consume mientras que los electrones se generan, y en el otro, el agua es recreada y los electrones son consumidos. La reacción no puede ocurrir si no hay presencia de 36 monóxido de carbono. Al conectar los dos electrodos, la pequeña corriente eléctrica generada entre los electrodos es medida como directamente proporcional a la concentración de monóxido de carbono en el aire. El electrodo, durante todo el proceso, sigue siendo sumergido en el electrolito. Se considera entonces que no hay gas y no se le permite pasar corriente alguna. Este electrodo se mantiene siempre al mismo potencial electroquímico aún ante la presencia de gases oxidantes.” [NEMO2008] 2.4.3 Sensor de Humo[GIOR2006] Los sensores de humo, son básicamente sistemas con componentes sensibles a la presencia de partículas de combustión dispersas en el ambiente, humo. Son usados en los sistemas de seguridad para monitorear el ambiente y poder alertar ante un posible inicio de incendio. Los componentes básicos que conforman el sensor de humo son: una parte sensible al humo que cambia de estado al detectarlo (sensor) y una parte encargada de responder ante ese cambio de estado del sensor, activando algún mecanismo de alerta. Los sensores de humo usados en los sistemas de seguridad, usan como principal fuente de poder la red eléctrica, sin embargo, dado que existen casos en los que los incendios traen consigo una interrupción de la electricidad, estos sensores cuentan también con baterías como fuente de poder de respaldo para estos casos donde hay interrupción del sistema eléctrico. Existen dos tipos de sensores de humo, por efecto fotoeléctrico y por ionización. Los sensores de efecto fotoeléctrico, cuentan con una celda fotoeléctrica transmisora de corriente, la cual ante la presencia de humo se ve afectada generando una corriente débil activando así la alerta. Este tipo de sensores es apto para escenarios donde se presenta un incendio de desarrollo lento, es decir, donde no hay presencia de llamas. “Los sensores de humo por ionización, reciben este nombre por contar con una cámara de ionización del aire, a través de la cual fluye una corriente iónica sensible al humo. Reaccionan mejor a los incendios de desarrollo rápido (con llamas) y generan menos falsas alarmas.”[GIOR2006] 37 Figura 15. Sensor de Humo por Ionización. Fuentes: [TCAS2006] Este tipo de sensores por características como su capacidad de reacción ante incidentes que involucren humo, poca necesidad de mantenimiento y costo, son más usados en los sistemas de seguridad y los más difundidos. Por esta razón a continuación se entrará más en detalle en este tipo de detector de humo. En cuanto a la detección de humo, este tipo de sensores lo hacen por las variaciones sufridas en la corriente de iones por la presencia de humo. En el momento de la interacción entre el humo y los iones contenidos en la cámara de ionización del sensor, la corriente eléctrica sufre una notable disminución. “A pesar que en términos relativos los cambios en la corriente sean importantes, los valores absolutos son bajísimos, del orden de 10-10 Amperios. Por lo tanto se requieren dispositivos amplificadores de corriente con una resistencia de entrada muy alta.” [GIOR2006] La cámara de ionización de los sensores, tiene como característica que posee una pequeña cantidad de “americio-241 (241Am)”. Un isótopo radiactivo que emite partículas alfa. Estas partículas tiene la capacidad de ionizar el aire, lo cual permite generar una corriente eléctrica cerca a la fuente de ionización del sensor. En el momento en que ingrese humo en la cámara de ionización, debido a productos de la combustión, hace que se presente una inmovilización de las partículas alfa, lo que a su vez conlleva a que la corriente eléctrica disminuya notablemente; es entonces cuando el detector activa su sistema de alerta para así avisar la presencia de humo en el ambiente. 38 Cabe notar de igual forma que el americio-241 cuenta con una vida media de 432.6 años, lo cual nos permite concluir, que al menos mientras nosotros hagamos uso del sensor, la fuente de Am-241 presentará actividad constante. 2.4.4 Cámara IP [BRIC2008] Una cámara IP es una cámara de video que además tiene implementado un servidor web el cual le permite ser monitoreada y controlada a través de Internet mediante un navegador, además cuentan con una dirección IP propia, funciones de transmisión de video y funciones implementadas para llevar a cabo todo el manejo de comunicación por red. Son dispositivos independientes, no requieren de un computador, pues su conexión es directa a la red y cuentan con servicios incorporados como servidor WEB, servidor FTP, cliente FTP y cliente e-mail. El funcionamiento de una cámara consiste en una seria de pasos que finalmente terminan con la transmisión de imagen. El proceso empieza con la captura de la imagen, lo cual se hace como cualquier cámara de video, capturando la luz de diferentes longitudes de onda. Una vez capturada la imagen, procede a transformarla en señales eléctricas, que luego convierte a un formato digital, para realizarles un proceso de compresión y finalmente transmitirlas a través de la red. “Los lentes de las cámaras IP enfocan la imagen en el sensor de Imagen. Sin embargo antes de que la imagen alcance el sensor, esta pasa a través del filtro óptico, el cual remueve cualquier luz infrarroja, logrando que los colores reales sean expuestos en la imagen.” [BRIC2008] una vez la imagen llega al sensor de imagen, este se encarga de transformar la imagen, que en ese momento es solo luz de diferentes ondas, en señales eléctricas, las cuales ya pueden ser comprimidas y transmitidas. La razón por la cual las imágenes son comprimidas es para que al ser transmitidas a través de la red no se ocupe todo el ancho de banda. Y en caso de ser almacenadas para que cada imagen no ocupe mucho espacio en el disco. La transmisión y el almacenamiento de imágenes son dos de las principales ventajas de las cámaras IP. Ya que el medio de transmisión de las cámaras es a través de la red, cualquier conexión a Internet sirve para este propósito. “Actualmente se cuenta con diversos tipos de conexiones como Módems ISDN, Módems DSL, Cable TV Módems, Conexiones T1, conexiones 10, 100, 1000 Ethernet, además de todas las opciones disponibles de conexiones inalámbricas. En cuanto al almacenamiento, las imágenes digitales 39 pueden ser guardadas en discos duros, donde en un solo disco, pueden ser almacenadas millones de estas imágenes. Otra ventaja de las cámaras IP radica en la posibilidad del acceso remoto que permite ver en tiempo real el video capturado. Cabe resaltar que el acceso a estas cámaras es restringido y solo podrán hacerlo las personas autorizadas. “Una cámara IP puede cumplir las mismas funciones que una cámara análoga estándar, incluso de manera aún más funcional y a un costo mucho más bajo, pues la cámara IP va conectada directo a un puerto Ethernet evitando la necesidad de todo un cableado nuevo como ocurre con las cámaras análogas que requieren una instalación con cable coaxial para la transmisión del video.” [BRIC2008] Actualmente las cámaras son usadas para muchas aplicaciones seguras y no seguras de alto valor. Aplicaciones que se extienden desde monitoreo de procesos de manufactura hasta aplicaciones web para diversión. La aplicación más importante y frecuente de las cámaras IP se encuentra en la vigilancia/seguridad. Existen muchas empresas de seguridad que usan en sus sistemas cámaras IP para poner a disposición del usuario monitoreo basado en video en tiempo real y garantizando que ninguna persona ajena pueda conectarse y acceder al video. Para poder usar una cámara IP se requieren de ciertos componentes básicos, como “una conexión a Internet de alta velocidad para la transmisión; un router ya sea inalámbrico o de cable, dependiendo del tipo de cámara; una dirección IP estática o un proveedor de DNS dinámico y un computador para configurar la cámara.”[BRIC2008] Es importante tener en cuenta el tipo de conexión que se va a usar, pues en el caso de la conexión por marcación telefónica no se provee el ancho de banda necesario para poder realizar la transmisión de video y como consecuencia lo que se tendría es un grupo de imágenes transmitidas y no la secuencia de acciones en tiempo real de lo que ocurre. 40 3 ASPECTOS GENERALES DEL SISTEMA 3.1 Selección del Protocolo a Utilizar Como se observó en el Marco Teórico, existen varios protocolos que podrían utilizarse para implementar un sistema domótico; todos ellos con características particulares que se evaluarán para saber cuál se adapta mejor para satisfacer los objetivos del sistema planteado. Las principales ventajas que brinda X10 radican en el hecho de usar la red eléctrica como medio de transmisión, facilitando la instalación al reducirla al simple hecho de conectar a las tomas de corriente los dispositivos y por ende, ahorrando el tener que realizar un nuevo cableado para estos. Otra ventaja es la cantidad de dispositivos disponibles para usarse con esta tecnología, brindando la posibilidad de construir toda una solución basada en este protocolo. También en la posibilidad de acceso remoto radica otra ventaja, pues a través de una conexión a Internet y una interfaz X10 para conectar a computador, se puede tener el control del hogar desde cualquier lugar donde se tenga acceso a Internet, otorgando un mayor nivel de seguridad a la vivienda, permitiendo tomar acciones de respuesta mucho más eficientes ante accidentes. A pesar de cada uno de los factores mencionados como ventajas del protocolo X10, también se encuentran ciertas desventajas en su funcionamiento, como el hecho de presentar una baja velocidad de transmisión por usar la red eléctrica como medio de transmisión. Otra desventaja en este protocolo es la poca seguridad. Sin duda alguna este es el problema más preocupante que presenta este protocolo, y se debe también al hecho de usar la red eléctrica como medio de comunicación, pues cualquier dispositivo dispone de total acceso a la información X10. Para este problema existe una solución simple y económica, el uso de filtros en la entrada de la red eléctrica, pues logra que los comandos X10 que viajan a través de la red no sean detectables. Sin embargo el problema de la información desprotegida se sigue manteniendo. Con respecto a los otros protocolos, ZigBee presenta características atractivas como la de no requerir una instalación de cableado ya que utiliza un sistema de comunicación inalámbrico, pero esto también resulta en un aumento de costos. La plataforma de LonWorks puede trabajar en diferentes medios de transmisión pero al igual que ZigBee, los dispositivos tienen que estar familiarizados con el protocolo y construidos 41 específicamente para este, esto hace a estos sistemas poco flexibles, a diferencia del protocolo X10 que permite tomar dispositivos normales y automatizarlos mediante un dispositivo adicional mucho más económico que el de los otros dos sistemas. Tomando en cuenta las ventajas y desventajas de cada uno de los protocolos mencionados se llega a la conclusión que por aspectos como el costo de implementación, factor de gran relevancia dentro del objetivo general del sistema, el control de los dispositivos básicos para contribuir a la prevención de accidentes y la supervisión en hogares, se ha seleccionado X10 como protocolo base de nuestro sistema. 3.2 Determinación de los Dispositivos Básicos para Prevención de Accidentes y Supervisión de Hogares Según el Figura 1, los 4 tipos de incidentes más comunes en los hogares son los incendios, hurto a residencias, casos de intoxicación química y casos de intoxicación por alimentos. De estos cuatro tipos de incidentes, los tres primeros pueden ser advertidos con un sistema domótico y tomar las medidas necesarias. Por tal motivo los dispositivos contemplados para satisfacer el objetivo general del sistema son: Sensor de Humo que dará alarma cuando ocurra un incendio en el hogar. Sensor de Movimiento para detectar intrusiones. Cámaras de Seguridad que permitan supervisar hogares para prevenir accidentes y hurtos. Sensor de Gas para prevenir la intoxicación por Gas. 42 4 REQUERIMIENTOS DEL SISTEMA 4.1 Metodología para la Recolección y Selección de Requerimientos Para el levantamiento de los requerimientos del Sistema de Automatización de Hogares, la metodología que se seguirá, será la que se describe a continuación: Como primer paso, se hará una recopilación de los sistemas domóticos existentes mejor calificados, junto con cada una de las funcionalidades que estos proveen; de tal manera que se pueda estructurar una lista con cada una de las funcionalidades que podría tener el Sistema de Automatización de Hogares. Una vez establecida dicha lista de funcionalidades, le será aplicado un proceso de filtrado, con el fin de determinar cuáles de esas funcionalidades recolectadas cumplen con el mismo enfoque del objetivo general del Sistema de Automatización de Hogares, es decir, aquellas que estén directamente relacionadas con la seguridad del hogar y que además permitan que el costo del sistema no sea muy alto. Para el proceso de filtrado se evaluarán las funcionalidades según cinco criterios importantes, dando como resultado final aquellas funcionalidades que cumplan con el objetivo general del Sistema de Automatización de Hogares y por ende aquellas con las que el sistema podría contar. Los cinco criterios a tener en cuenta para la evaluación de las funcionalidades en el proceso de filtrado son los siguientes: • Ayuda en la prevención de accidentes en el hogar. • Implementación que no implique altos costos. • Ayuda en la supervisión del hogar. • Manejo de acciones de alarma ante incidentes. • Control de dispositivos de la vivienda de manera remota En cuanto al proceso de evaluación de las funcionalidades, se hará uso de una matriz, en la cual, tal como se mencionó anteriormente, se evaluará la lista de funcionalidades obtenida respecto a los criterios establecidos. Esta matriz se muestra a continuación. 43 Funcionalidad ¿Su ¿Ante un ¿Ayuda a implementa incidente prevenir ción no accidentes en implica el hogar? costos muy ¿Permite supervisión del hogar? altos? permite realizar acciones de alarma? ¿Permite tener control sobre los ¿ dispositivos Aplica del hogar de ? manera remota? Funcionalidad 1 … Funcionalidad n Tabla 3. Diseño de la Matriz de Evaluación para la Selección de Requerimientos. Por otra parte, aquellas funcionalidades que apliquen para el sistema, serán las que cumplan con al menos uno de los cinco criterios de evaluación. A continuación se muestra el desarrollo de esta metodología. Los sistemas domóticos recopilados para la extracción de las funcionalidades son los siguientes: • S110707 Kit Domótica Sensor De Movimientos X10 (71.75 €) [KITS2008] • S110710 Kit Domótica Active Home 6 Piezas X10 (156.25 €) [KITS2008] • S110715 Kit Domótica Control Básico X10 (62.55 €) [KITS2008] • S110730 Kit Easy Touch PC Control X10 (178.25 €) [KITS2008] • Kit Mini Programador X10 (125.09 €) [DOMO2008] • KIT Home Control X10 (48.99 €) [DOMO2008] • Kit ActiveHome Top Elite X10 (269.12 €) [DDES2008] • DD-7180 Kit 5 Cámaras IP MPEG4/MJPEG (522.00 €) [DDES2008] • Kit Control por Voz X10 (299.00 €) [DDES2008] • Kit Domoxp X10 (65.54 €) [DDES2008] • KIT Sistema Sonorización Wireless X10 SONOS BU150 (1000.00 €) [DDES2008] • Remote View Quad Camera Kit & Monitor ($839.99 US) [SMAR2008] • Smarthome Remote-Access Security Kit X10 ($779.99 US) [SMAR2008] • Speakercraft 6x6, Monster, Cat5 bundle ($2680.00 US) [SMAR2008] 44 Las principales funcionalidades de cada uno de los sistemas obtenidos son: S110707 Kit Domótica Sensor De Movimientos X10 Encender o apagar cualquier dispositivo o lámpara de manera automatizada. Encender o apagar cualquier dispositivo o lámpara cuando se detecta la presencia de alguna persona. Encender luces automáticamente al anochecer y apagarla al amanecer. Encender una lámpara al aproximarse alguien cuando es de noche y apagarla automáticamente al pasar un tiempo determinado S110710 Kit Domótica Active Home 6 Piezas X10 Controlar cualquier dispositivo o lámpara de manera automatizada. Controlar o regular las luces desde cualquier lugar de la casa. Programar encendido o apagado de dispositivos o luces desde su computador. Automatizar escenas desde el computador. S110715 Kit Domótica Control Básico X10 Controlar cualquier dispositivo o lámpara de manera automatizada. Controlar cualquier dispositivo o lámpara desde cualquier lugar de la casa. Encender o apagar cualquier dispositivo o lámpara de manera automatizada. S110730 Kit Easy Touch PC Control X10 Controlar sistemas de cine en casa de manera automatizada. Controlar hasta ocho dispositivos a través del mando de pantalla táctil. Mando de pantalla táctil que controla otros sistemas de domótica X10. Programar encendido o apagado de dispositivos o luces desde su computador. Automatizar escenas desde el computador. Controlar o regular las luces desde cualquier lugar de la casa. Kit Mini Programador X10 Controlar o regular las luces de la casa de manera automatizada. Controlar dispositivos de manera automatizada. 45 Función simuladora de presencia. Gran función disuasiva que aumenta la seguridad de la vivienda. De forma aleatoria hará encender las luces, aparatos de radio, televisión, etc. Programar el horario (diario, semanal, mensual, etc.) de encendido o apaga de hasta 4 dispositivos. Automatizar escenas desde el computador. KIT Home Control X10 Controlar cualquier dispositivo o lámpara de manera automatizada. Controlar cualquier dispositivo o lámpara desde cualquier lugar de la casa. Encender o apagar cualquier dispositivo o lámpara de manera automatizada. DD-7180 Kit 5 Cámaras IP MPEG4/MJPEG Permite visualizar a través de un navegador lo que las cámaras están enfocando. Permite grabar todo lo que ocurre. Permite subir imágenes a un servidor FTP al detectar un movimiento o enviar alertas email. Transfiere en formatos MPEG4 y MJPEG lo que permite un buen rendimiento. Kit ActiveHome Top Elite X10 Programar ejecución de encendido o apagado de dispositivos o luces desde el computador. Automatizar escenas desde el computador. Controlar luces o dispositivos desde cualquier lugar de la casa. Mando a distancia que controla las luces o dispositivos conectados al sistema domótico. Kit Control por Voz X10 Mando IR que controla las luces o dispositivos conectados al sistema domótico. Encender o apagar cualquier dispositivo o lámpara de manera automatizada. Encender o apagar las luces de la casa mediante comandos de voz. Kit DOMOXP X10 Controlar cualquier dispositivo o lámpara de manera automatizada. Controlar cualquier dispositivo o lámpara de manera automatizada. Mando a distancia para encender o apagar hasta cuatro dispositivos o lámparas desde cualquier lugar de la casa. 46 KIT Sistema Sonorización Wireless X10 SONOS BU150 Permite controlar equipos de sonido a través de su mando de uso sencillo, pantalla a color y sistema de navegación estilo IPod. Permite desplegar dos zonas de audio en el hogar. Permite Fácil ampliación del sistema a más lugares del hogar. Remote View Quad Camera Kit & Monitor Cuenta con cuatro Cámaras con zoom de 2x que permiten capturar imágenes aún en la oscuridad. Tiene un monitor que permite ver todo lo que las cámaras están capturando. Una en pantalla grande o hasta las cuatro en simultanea Se conecta en red para permitir el acceso remoto para ver lo que las cámaras están capturando. Smarthome Remote-Access Security Kit X10 Controlar o regular las luces de la casa de manera automatizada. Controlar dispositivos de manera automatizada. Controlar las luces y dispositivos de manera remota. Acceso remoto al sistema de seguridad vía SMS, email, teléfonos móviles y convencionales y aplicaciones web seguras. Cuenta con servidor web seguro para el acceso remoto, garantizando que la información privada este segura. Permite adaptar cámaras al sistema y visualizarlas a través de un navegador web. Función que permite en caso de detectar alguna señal de un sensor hacer sonar una sirena además de realizar una llamada telefónica reproduciendo un mensaje previamente grabado, enviar un email, un mensaje SMS o con una pantalla de alerta. Speakercraft 6x6, Monster, Cat5 bundle Controlar equipos de sonido y video desde cualquier lugar de la casa. Mando de uso sencillo para controlar los dispositivos. Controlar o regular las luces de la casa de manera automatizada, desde cualquier lugar de la casa. Permite desplegar seis zonas de audio en el hogar. Permite Fácil ampliación del sistema a más lugares del hogar. 47 Teniendo las principales funcionalidades de los otros sistemas domóticos, lo siguiente es estructurar una sola lista de funcionalidades que determine inicialmente cuales serían las posibles funcionalidades del Sistema de Automatización de Hogares. Funcionalidades del Sistema de Automatización de Hogares 1. Encender o apagar automáticamente cualquier dispositivo o lámpara cuando se detecta movimiento. (R1) 2. Encender las luces automáticamente al anochecer y apagarlas al amanecer.(R2) 3. Controlar cualquier dispositivo o lámpara de forma automatizada. (R3) 4. Programar encendido o apagado de dispositivos o luces desde el computador.(R4) 5. Controlar cualquier dispositivo o lámpara desde cualquier lugar de la casa. (R5) 6. Controlar sistemas de cine en casa a través de un dispositivo centralizado. (R6) 7. Controlar uno o varios dispositivos a través de un mando de pantalla táctil. (R7) 8. Función simuladora de presencia que aumenta la seguridad de la vivienda mediante el encendido automático de luces, aparatos de radio, televisión, etc.(R8) 9. Programar el horario (diario, semanal, mensual, etc.) de encendido o apagado de dispositivos. (R9) 10. Visualizar a través de internet lo que las cámaras están enfocando. (R10) 11. Almacenar en un medio físico el video capturado por las cámaras. (R11) 12. Permite subir imágenes a un servidor FTP al detectar un movimiento y enviarlas por email. (R12) 13. Transmisión de video en formatos MPEG4 y MJPEG. (R13) 14. Acceso remoto para controlar luces o dispositivos de la vivienda conectados al sistema domótico. (R14) 15. Encender o apagar las luces de la casa mediante comandos de voz. (R15) 16. Controlar equipos de sonido a través de mando IR con pantalla a color y sistema de navegación estilo IPod. (R16) 17. Desplegar zonas de audio en el hogar. (R17) 18. Permitir una fácil escalabilidad del sistema, tanto vertical como horizontal. (R18) 19. Cámaras IP que permitan capturar imágenes y video. (R19) 20. Monitor independiente que permita ver todo lo que las cámaras están capturando. (R20) 21. Acceso remoto para ver lo que las cámaras están capturando y el estado de dispositivos. (R21) 48 22. Acceso remoto al sistema vía SMS, email, teléfonos móviles y convencionales y aplicaciones web seguras. (R22) 23. Servidor web seguro para el acceso remoto, garantizando que la información privada este segura. (R23) 24. Envío de correo electrónico como respuesta a la detección de alguna señal de un sensor. (R24) 25. Envío de mensaje SMS a un número celular como respuesta a la detección de alguna señal de un sensor. (R25) 26. Hacer sonar una sirena como respuesta a la detección de alguna señal de un sensor. (R26) 27. Mostrar en una pantalla un mensaje de alerta como respuesta a la detección de alguna señal de un sensor. (R27) Una vez obtenida la lista de las posibles funcionalidades con las que contará el sistema, el paso a seguir es aplicarle a esta lista el proceso de filtrado ya establecido y así determinar cuáles de estas funcionalidades son las que cumplen con el mismo enfoque del objetivo general del Sistema de Automatización de Hogares y por ende aquellas con las que contara el sistema. 4.2 Criterios para Seleccionar Requerimientos Se encontraron varios requerimientos que han sido implementados en diferentes sistemas domóticos, algunos de ellos no son para suplir necesidades pero si para brindar mayores facilidades y confortabilidad a los usuarios de dichos sistemas. Por esta razón se han escogido cinco criterios que filtrarán los requerimientos encontrados para determinar los que aplicarían para ser implementados en nuestro sistema domótico con base en el objetivo de este, el cual es, prevenir accidentes y supervisar hogares al menor costo posible; estos criterios han sido seleccionados con base en este objetivo y por tal motivo no se ha contemplado ningún otro. Los criterios son: ¿Ayuda a prevenir accidentes en el hogar? (C1) Los requerimientos cumplirán con esta condición si de alguna forma contribuyen a la prevención de accidentes en el hogar, es decir, si mediante su implementación en el sistema se disminuiría la tasa de accidentalidad en el hogar. Por ejemplo un requerimiento que satisfaga esta condición sería detectar fugas de gas propano. ¿Su implementación no implica costos muy altos? (C2) 49 Con base en la Encuesta de Calidad de Vida Bogotá 2007 [DANE2007] que afirman que en Bogotá, el 56.5% de los hogares tienen ingresos que solo les alcanza para cubrir los gastos mínimos y solo un 19% cubren más que los gastos mínimos, un requerimiento cumplirá con este criterio si se puede satisfacer mediante el uso de los recursos más económicos disponibles en el mercado. ¿Permite supervisión del hogar? (C3) Los requerimientos cumplirán con esta condición si su implementación asegura tener una supervisión total o parcial del hogar. No es necesario que la supervisión del hogar se ejecute desde fuera de este, esta puede ser a nivel interno o externo pero esta no es una característica a evaluar en este criterio. ¿Ante un incidente permite realizar acciones de alarma? (C4) Los requerimientos cumplirán con este criterio si aparte de la interacción Sistema – Hogar, su implementación asegura el aviso inmediato a un tercero de los diferentes sucesos que ocurran en el hogar. Esto es, por ejemplo, en caso de activarse un sensor tomar una acción respectiva para poner al dueño de la casa al tanto de la situación. ¿Permite tener control sobre los dispositivos del hogar de manera remota? (C5) Los requerimientos cumplirán con este criterio si su implementación apoya el control o la supervisión de un dispositivo desde el exterior de la casa. 4.3 Selección de requerimientos Para realizar el proceso de selección de requerimientos se asignaron valores de 1 a 5 a los criterios especificados anteriormente, donde 1 es un valor muy bajo y 5 es el mayor valor, los valores para cada criterio fueron asignados de la siguiente manera: C1: 4 C2: 5 C3: 3 C4: 4 50 C5: 3 La asignación de estos valores fue realizada con base en la importancia que debería tener cada uno de los criterios con respecto al objetivo inicial del sistema. Luego de haber asignado un valor que le da un determinado grado de importancia a cada criterio, cada funcionalidad fue calificada en un rango de 0 a 2 con respecto a cada criterio, donde: 0: No cumple con el criterio 1: Cumple parcialmente con el criterio 2: Satisface totalmente ese criterio Luego de haber asignado el valor de 0 a 2 de cada funcionalidad con respecto a un criterio, este se multiplica por el peso que tenía ese criterio y de la misma forma se realizaría con los otros cuatro; al final, la suma de estos valores dará cierto puntaje que decidirá si el requerimiento aplica para nuestro sistema o no. Si el resultado obtenido es mayor o igual al 50% de la máxima cantidad de puntos que se pueden obtener en dado caso que un requerimiento satisfaga totalmente todos los criterios, es decir 38, el requerimiento aplicaría para ser implementado en nuestro sistema, es decir, la funcionalidad será apta si su puntaje es mayor o igual a 19. 51 Funcionalidad C1 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 Total1 1 2 2 0 2 0 0 0 1 1 0 0 2 2 0 0 0 0 2 2 2 2 1 1 1 1 1 C2 4 8 8 0 8 0 0 0 4 4 0 0 8 8 0 0 0 0 8 8 8 8 4 4 4 4 4 2 2 2 0 0 0 0 0 0 2 2 2 1 2 0 0 0 0 1 0 2 2 1 2 2 2 2 Total2 C3 Total3 C4 Total4 C5 Total5 aplica? 10 0 0 2 8 0 0 22 10 0 0 0 0 0 0 18 10 0 0 2 8 0 0 26 0 0 0 0 0 0 0 0 0 0 0 1 4 0 0 12 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 10 2 6 0 0 0 0 20 10 2 6 0 0 0 0 16 10 2 6 2 8 0 0 24 5 2 6 2 8 0 0 27 10 2 6 2 8 2 6 38 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 19 5 2 6 0 0 0 0 19 0 2 6 0 0 0 0 14 10 2 6 0 0 0 0 24 10 0 0 0 0 2 6 24 5 1 3 1 4 1 3 19 10 0 0 2 8 0 0 22 10 0 0 2 8 0 0 22 10 0 0 2 8 0 0 22 10 0 0 2 8 0 0 22 : Si : No Tabla 4. Matriz de Evaluación para la Selección de Requerimientos. R22: Esta funcionalidad será incorporada al Sistema de Automatización de Hogares pero con ciertas modificaciones. Para nuestro sistema solo se implementara el acceso remoto al sistema vía web. R12: Esta funcionalidad será incorporada al Sistema de Automatización de Hogares pero con ciertas modificaciones. Para nuestro sistema las imágenes se enviarán a una cuenta de correo electrónico. Siguiendo el criterio estipulado anteriormente, las funcionalidades elegidas para incorporarse al Sistema de Automatización de Hogares son: 52 1. Encender o apagar automáticamente cualquier dispositivo o lámpara cuando se detecta movimiento. (R1) 2. Controlar cualquier dispositivo o lámpara de forma automatizada. (R3) 3. Visualizar en video lo que las cámaras están capturando. (R10) 4. Permite enviar imágenes vía correo electrónico al detectar un movimiento. (R12) 5. Transmisión de video a través de la Internet. (R13) 6. Control remoto de luces o dispositivos conectados al sistema domótico. (R14) 7. Permitir una fácil escalabilidad del sistema, tanto vertical como horizontal. (R18) 8. Cámaras que permitan capturar imágenes y video. (R19) 9. Acceso remoto al sistema vía aplicaciones web seguras. (R22) 10. Servidor web seguro para el acceso remoto, garantizando que la información privada este segura. (R23) 11. Envió de correo electrónico como respuesta a la detección de alguna señal de un sensor. (R24) 12. Envió de mensaje SMS a un número celular como respuesta a la detección de alguna señal de un sensor. (R25) 13. Hacer sonar una sirena como respuesta a la detección de alguna señal de un sensor. (R26) 14. Mostrar en una pantalla un mensaje de alerta como respuesta a la detección de alguna señal de un sensor. (R27). 4.4 Requerimientos para Satisfacer las Funcionalidades del Sistema de Automatización de Hogares A continuación se determinará para cada una de las funcionalidades del Sistema de Automatización de Hogares, los requerimientos implícitos para poder satisfacer cada una de estas. 1 Encender o apagar automáticamente cualquier dispositivo o lámpara cuando se detecta movimiento. Para satisfacer esta necesidad se hará a través del uso de un sensor de movimiento, el cual permita encender luces y/o dispositivos como respuesta a la detección de algún movimiento. En particular para el Sistema de Automatización de Hogares, se hará uso del sensor de movimiento X10 MS14A[X10M2008], que permite encender luces y/o dispositivos como respuesta a la detección de algún movimiento, además, va acorde al sistema, puesto que no es un dispositivo muy costo y cuenta con características necesarias para cumplir con esta funcionalidad. 53 2 Controlar cualquier dispositivo o lámpara de forma automatizada. Como solución a esta funcionalidad se puede hacer uso de las distintas interfaces de computador que se proveen para cada protocolo existente de domótica. En particular para el Sistema de Automatización de Hogares, se hará uso de la interfaz para computadores CM11A X10[X10C2008] y del Transceiver Module X10 TM751[X10T2008], los cuales permiten controlar de manera automatizada tanto luces como dispositivos, aún desde el computador. 3 Visualizar a través de Internet lo que las cámaras están enfocando. Para poder desarrollar esta funcionalidad, existentes diversos protocolos de transmisión de video en tiempo real, mediante los cuales se puede implementar una aplicación que permita la transmisión de video requerida. En particular para el Sistema de Automatización de Hogares, se hará uso del API de java - Java Media Framework[JAVA2008], ya que mediante este API se pueden desarrollar aplicaciones Java que transmitan video en vivo y que además lo almacenen. 4 Permite enviar imágenes vía correo electrónico al detectar un movimiento. Ante una detección de movimiento por parte de un sensor, el sistema debe enviar una señal a las cámaras instaladas en el sistema para que capturen una imagen de lo que están enfocando, para luego si enviarlas adjuntas en un mensaje de correo electrónico. En particular para el Sistema de Automatización de Hogares, se hará uso del sensor de movimiento X10 MS14A, de la interfaz para computadores CM11A X10, del Transceiver Module X10 TM751, de una webcam y del API de Java, JavaMail[JAMA2008]. A través de estos dispositivos se podrá realizar la detección de movimiento y la captura de las imágenes, y a través del API se podrá implementar un componente encargado de realizar el envío de mensajes de correo electrónico con archivos adjuntos. 5 Transmisión de video a través de la Internet. 54 Para desarrollar esta funcionalidad, existentes diversos protocolos de transmisión de video que permiten uso de distintos formatos, mediante los cuales se puede implementar una aplicación que permita cumplir esta transmisión requerida. En particular para el Sistema de Automatización de Hogares se hará uso del API de java, java Media Framework, que permite desarrollar aplicaciones Java, que transmiten video en vivo a través de sesiones RTP [SUNM1999] y además permiten almacenar el video. 6 Acceso remoto para controlar luces o dispositivos de la vivienda conectados al sistema domótico. A través del uso de un servidor Web, se puede garantizar que se tenga acceso remoto al sistema, lo cual a su vez permite que se pueda tener control sobre los dispositivos de la vivienda cuando se está en otro lugar. En particular para el Sistema de Automatización de Hogares se hará uso del servidor web Apache Tomcat[APAC2008], el cual permitirá que se pueda acceder al Sistema de manera remota. 7 Permitir una fácil escalabilidad del sistema, tanto vertical como horizontal, del sistema. Los distintos protocolos existentes actualmente para la automatización de hogares permiten una fácil escalabilidad, lo cual permite poder cumplir con esta funcionalidad. En particular para el desarrollo del Sistema de Automatización de Hogares, se hará uso del protocolo X10, el cual permite controlar hasta 256 dispositivos y lámparas. Esta característica del protocolo X10, facilita la escalabilidad horizontal del sistema, sin embargo se debe tener claro que no se puede tener más de 256 dispositivos conectados. En cuanto a la escalabilidad vertical, de igual forma el protocolo X10 permite que se pueda cambiar cada uno de los dispositivos por uno de su mismo tipo con mejores características, dado que el protocolo de comunicación se mantiene. 8 Cámaras que permitan capturar imágenes y video. Mediante el uso de cámaras IP, cámaras Web o cualquier tipo de cámaras que se pueda conectar al computador, se puede dar solución a esta funcionalidad. 55 En particular para el Sistema de Automatización de Hogares, la solución para esta funcionalidad esta en hacer uso de Webcam, ya que con un costo bajo, se puede conseguir captura de Imágenes y video. 9 Acceso remoto para ver lo que las cámaras están capturando y el estado de dispositivos. A través del uso de un servidor Web junto con una aplicación que transmita video se puede garantizar que se tenga acceso remoto al sistema, y se pueda dar transmisión de video en tiempo real, lo cual permite que se pueda ver lo que las cámaras están capturando. A través de la implementación de una aplicación que controle dispositivos X10 y del servidor Web, se puede saber el estado de los dispositivos de la vivienda conectados al sistema cuando se está en otro lugar. En particular para el Sistema de Automatización de Hogares, se hará uso del API de Java JMF, del API de Java para X10 desarrollado por Jaap Gordijn[GORDJ2008], y del servidor Web Apache Tomcat, ya que mediante estos APIs y el servidor Web, se pueden implementar aplicaciones que permitan tener acceso remoto al sistema, y así ver lo que las cámaras están capturando, además de saber el estado de los dispositivos conectados al sistema. 10 Acceso remoto al sistema vía aplicaciones Web seguras, garantizando que la información privada este segura. Para dar solución a esta funcionalidad puede hacerse uso de protocolos de seguridad, como por ejemplo https. En particular para el Sistema de Automatización de Hogares se hará uso de una conexión VPN con el protocolo PPP. Con esto se pretende que el usuario que se conecte remotamente al sistema lo haga a través del uso de una red privada virtual de forma que la información que sea transmitida a través de la Internet viaje cifrada, manteniendo su seguridad incluso en la red pública. El componente controlador de seguridad del Sistema de Automatización de Hogares, se encargara de verificar que el cliente que le haga una petición de servicio tenga una IP que pertenezca al rango de direcciones que asigna el servidor VPN, de lo contrario le denegara el servicio inmediatamente. 11 Envío de correo electrónico como respuesta a la detección de alguna señal de un sensor. 56 Una solución para el desarrollo de esta funcionalidad, es implementar una aplicación que permita realizar envío de correos electrónicos. En particular para el Sistema de Automatización de Hogares, se hará uso del API de Java, JavaMail, el cual permite desarrollar aplicaciones Java, que realizan envío de mensaje de correo. 12 Envío de mensaje SMS a un número celular como respuesta a la detección de alguna señal de un sensor. Una solución para el desarrollo de esta funcionalidad, es implementar una aplicación que permita realizar envío de correos electrónicos. En particular para el Sistema de Automatización de Hogares, se hará uso del API de Java, JavaMail, el cual permite desarrollar aplicaciones Java, que realizan envío de mensajes. 13 Hacer sonar una sirena como respuesta a la detección de alguna señal de un sensor. Para satisfacer esta necesidad se hará a través del uso de un sensor que permita encender un dispositivo como respuesta a una detección. En particular para el Sistema de Automatización de Hogares, se hará uso del Transceiver Module X10 TM751 y de la Sirena X10 SC546[X10S2008], los cuales dan la posibilidad de hacer sonar la sirena como respuesta a la detección de una señal de un sensor. 14 Mostrar en una pantalla un mensaje de alerta como respuesta a la detección de alguna señal de un sensor. Como solución a esta funcionalidad se puede hacer uso de las distintas interfaces de computador que se proveen para cada protocolo existente de domótica. En particular para el Sistema de Automatización de Hogares, se hará uso de la interfaz para computadores, CM11A X10 y del Transceiver Module X10 TM751, dispositivos que permiten controlar los estados de los dispositivos desde el computador, de manera que ante la señal de un sensor se pueda poner un mensaje en pantalla con la información de la alerta. 57 5 DISEÑO DEL SISTEMA DE AUTOMATIZACIÓN DE HOGARES Una vez determinados los requerimientos se procedió a realizar el objetivo primordial de este proyecto, el diseño del Sistema de Automatización de Hogares, diseño que cuenta con características como ser de bajo costo y contribuir a la seguridad del hogar en los aspectos de prevención de accidentes y vigilancia. En esta sección se hará una descripción de la arquitectura que tendrá el Sistema de Automatización de Hogares, usando el modelo 4+1, el cual por medio de varias vistas, pretende capturar las decisiones arquitectónicas relevantes que serán aplicadas en el sistema de acuerdo a los requerimientos obtenidos previamente. Dentro de este documento se describió una metodología que permite representar el diseño de una arquitectura, [MUÑO2007] la define como una arquitectura orientada a objetos que de cierta forma esta implementada dentro del documento de diseño ya mencionado, diseñando un diagrama de objetos y diagramas de secuencia que se ven complementados por otras vistas y mejoran el entendimiento del sistema sin necesidad de recurrir al lenguaje descrito en esta referencia. Para realizar la descripción de la arquitectura se realizó un documento (Ver Anexo 3), en el cual se diseñaron 6 vistas que permitieron el fácil entendimiento y descripción de la misma, a continuación se realiza una breve explicación de cada una de estas vistas y su objetivo: Vista de Casos de Uso Describen un conjunto de escenarios por medio de diagramas de casos de uso que representan una funcionalidad significativa del sistema. Vista Lógica Esta vista describe las partes arquitectónicas significativas del modelo por medio de un diagrama de componentes en el cual se encuentra el sistema dividido en subsistemas, paquetes y clases. Además se especifican las conexiones entre cada componente. Vista de Procesos Esta vista describe la descomposición de procesos gruesos en procesos más finos por medio de diagramas de actividad y diagramas de secuencia de los procesos más relevantes. Vista de Despliegue Esta vista describe mediante un diagrama de componentes con nodos, la distribución física del sistema. 58 Vista de Implementación Esta vista describe de una manera integrada, las clases más relevantes para realizar la implementación del sistema. Vista de Datos Esta vista describe cuál será el método y la estructura de almacenamiento de los datos. A continuación se describen las vistas de mayor importancia para poder entender el diseño de la arquitectura de una manera global sin llegar a un nivel avanzado de profundidad técnica. Para más detalle acerca de las demás Vistas y de la etapa de diseño en general, ver anexo “Sistema de Automatización de Hogares – Software Architecture Document” 5.1 Vista de Casos de Uso Gracias al proceso de clasificación de requerimientos, se pudo saber cuáles serán las tareas básicas que debe poder realizar un usuario para satisfacer estos requerimientos, esto es lo que se define como Caso de Uso. A continuación esta el listado de los casos de usos que se identificaron: - Registrar Usuario: Este caso de uso permitirá crear usuarios para que utilicen el sistema, restringiéndolos claro esta de algunos tipos de tareas de acuerdo al rol del usuario. - Autenticación de usuario: Este caso de uso permite que cada usuario tenga un Nombre de Usuario y Contraseña, para validar los permisos de la persona y aumentar la seguridad del sistema. - Adicionar/Remover Dispositivo: Este caso de uso le permite a un usuario adicionar al sistema un nuevo dispositivo e integrarlo dentro de este sin afectar el funcionamiento de los otros dispositivos. - Encender Dispositivo: Este caso de uso le permite al usuario controlar el encendido de un dispositivo desde el centro de control o incluso remotamente vía internet. - Apagar Dispositivo: Este caso de uso le permite al usuario controlar el apagado de un dispositivo desde el centro de control o incluso remotamente vía internet. 59 - Visualizar Video Capturado por una Cámara: Este caso de usos le permite a los usuarios ver en tiempo real lo que las cámaras están capturando, incluso remotamente vía internet. - Enviar Imagen a una Cuenta de Correo Electrónico: Este caso de uso le permite al sistema adjuntar una imagen en un correo electrónico y enviarla a una persona que sea definida dentro del sistema. - Enviar Mensaje de Correo Electrónico: Este caso de uso le permite enviar mensajes de correo electrónico a las personas interesadas en saber sobre alguna alerta del sistema. - Enviar Mensaje SMS: Este caso de uso le permite al sistema enviar mensajes de texto a los teléfonos celulares definidos dentro del sistema, cuando se presente algún tipo de alerta. - Encender Dispositivo de Alerta: Este caso de uso permite al sistema encender un dispositivo de alerta cuando se detecte alguna señal de un sensor. - Mostrara en Pantalla un Mensaje de Alerta: Este caso de uso le muestra al usuario un mensaje de alerta en el centro de control cuando algún sensor detecta alguna señal. - Generar Caso de Alerta: Cuando se genera algún tipo de alerta por la detección de alguna señal en algún sensor, este caso de uso le permite al sistema generar un caso que queda almacenado en un archivo y al cual se le puede hacer seguimiento. - Solucionar Caso de Alerta: Este caso de uso le permite a un usuario cerrar el caso cuando este haya sido solucionado. - Encender Dispositivo Automáticamente: Esto le permite al sistema encender algún dispositivo como reacción a algún otro evento. - Apagar Dispositivos Automáticamente: Este caso de uso le permite al sistema apagar algún dispositivo como reacción a otro evento. - Capturar Imagen Automáticamente: Este caso de uso le permite al sistema capturar una imagen automáticamente como reacción a la detección de movimiento o de la señal de otro dispositivo. 60 5.2 Vista Lógica Basado en los casos de uso mencionados anteriormente y que se pueden encontrar como más detalle en el Anexo 3, se construyó un diagrama de componentes que comprende la estructura básica del sistema y en el cual este es descompuesto en partes fundamentales que abarcarán todas las funcionalidades descritas en los casos de uso, también permite dar una visión clara de qué será necesario para poder implementar el sistema y pronosticar ciertas características de escalabilidad y modularidad. Figura 16. Diagrama de Componentes del Sistema de Automatización de Hogares. Fuentes: Anexo11 Componentes del Servidor Web El servidor web será utilizado como herramienta para la publicación de las páginas web que podrán ser accedidas por el usuario a través de internet. Vista de Usuario Remoto Conjunto de páginas que van a ser la presentación del sitio web en donde los usuarios podrán entrar a consultar el estado de los dispositivos que están instalados en su hogar y ver lo que las cámaras están capturando en vivo. 61 Login Página web desde la cual un usuario final pondrá su nombre de usuario y contraseña, este solo será el componente de presentación. Gestor de Seguridad Este componente accede directamente al servidor LDAP para la autenticación del usuario, un usuario no puede acceder a la Vista de Usuario Remoto si no se ha autenticado correctamente. Controller Este componente es el encargado de coordinar varios aspectos, entre ellos, el de redireccionar la autenticación del usuario hacia el componente Gestor de Seguridad y actualizar constantemente el estado de los dispositivos de acuerdo a la información que se encuentre en el archivo SAH_Disposivitos.txt, además de utilizar el applet de la cámara web el cual se encuentra en la aplicación SAH. Componentes de Aplicación SAH Este es el principal conjunto de componentes del sistema, es el que permite manejar toda la lógica, tomar acciones sobre las alertas, comunicarse con los dispositivos y atender usuarios que se conecten localmente al sistema. Controller Este componente se encarga de actualizar constantemente el estado de los dispositivos como también verificar su estado de acuerdo a las órdenes que le provea un usuario local o a las diferentes señales que detecte el dispositivo. Además también es el responsable de cargar la información de los dispositivos conectados al sistema, la información de los usuarios e ingresar cada acción o suceso al archivo de log de eventos de la fecha. Cuando el Controller se le es informado de algún cambio en el estado de un sensor por medio del Receptor de Dispositivos, este le informa al gestor de envió de alertas para que tome las medidas necesarias y de igual forma crea un registro en el archivo de Log. Este componente también puede ordenar a las cámaras grabar un video si se ha detectado movimiento. Este componente es utilizado tanto por la aplicación local como remotamente. Gestor de Seguridad Este componente es el encargado de conectarse al Servidor LDAP para la autenticación de usuarios, mantiene la información del servidor LDAP a utilizar y se le envía parámetros de Usuario y Contraseña para verificar la existencia y validez del usuario. 62 Receptor de Cámaras Este componente es el encargado de tomar toda la información tomada por las cámaras y retornarla a la aplicación local o remotamente a través de un applet si es el caso en que un usuario la este consultando desde internet. También da la posibilidad de grabar video si se le es ordenado por el Controller. Receptor de Dispositivos Este componente toma toda la información capturada por cada dispositivo y la retorna al componente Controller. Este componente es el encargado tanto de ser testigo del cambio de estado de un dispositivo como de ordenarle el cambio de estado, acá se construye el mensaje X10 y es el componente que se comunica directamente con los dispositivos. Gestor de Envío de Alertas Este componente es el encargado de reaccionar frete a una alarma. Determina la serie de pasos a seguir para controlar la alarma. Puede decidir Enviar el mensaje SMS a través del componente Envío SMS o de enviar un correo electrónico a través del componente Envío de Correo, además puede solicitar al Controller que capture una imagen si se ha detectado una alerta de movimiento. Envío de Correo Este componente implementa las clases necesarias para enviar un mensaje de correo electrónico de acuerdo a los correos que se encuentren registrados en el archivo eMail.txt. Además, también se pueden adjuntar imágenes capturadas por las cámaras en caso de detectar alertas de movimiento. Envío SMS Este componente implementa las clases necesarias para enviar un mensaje al celular de acuerdo a los que estén registrados en el archivo Mensajes_SMS.txt. Gestor de Eventos Este componente es el encargado de tomar toda la información capturada por el Receptor de Dispositivos y almacenarla en forma de log en el archivo SAH_EVENTOS.txt. Componentes de LDAP 63 Este servidor permitirá mantener un nivel de seguridad más alto ya que administra el manejo de usuarios y contraseñas con cifrado, además de ser independiente de la aplicación dándole bajo acoplamiento al a misma y facilitando labores de mantenimiento o actualización por ejemplo. Autenticación Este componente ya esta implementado directamente en cualquier servidor LDAP y es en el cual se realiza la verificación de Usuario y Contraseña ingresados por el usuario. Componentes de la Capa de Datos La información será almacenada en archivos ya que es un método que no requiere una máquina con grandes recursos y ofrece las capacidades de manejo de datos que en realidad va a ser muy bajo. Para mayor información sobre el objeto de cada uno de los componentes de la capa de datos ver la vista de datos en el Anexo 3. 5.3 Vista Despliegue Con un diseño de un diagrama de despliegue se puede definir como se realizará la comunicación y como estarán dispuestos los diferentes componentes planteados en la vista lógica en el ambiente físico del sistema, con esta vista podemos facilitar el análisis de aspectos como la seguridad o escalabilidad del sistema. Figura 17. Diagrama de Despliegue del Sistema de Automatización de Hogares. Fuentes: Anexo 12 64 Cliente Este será usado cuando una persona se conecte remotamente para ver el estado de sus dispositivos. Este tendrá que formalizar una conexión VPN con el servidor que estará instalado en su casa y la cual utilizará el protocolo PPP para permitir que la información vaya cifrada en ambas direcciones. Navegador Web Utilizará un navegador web que soporte java para poder acceder a la página principal de la aplicación, la cual se encontrará en el servidor web instalado en su casa. Servidor El servidor es la parte pesada de la aplicación, allí se encontrará está dividida en 4 partes principales que se describen a continuación. Servidor LDAP Este servidor es el encargado de manejar la autenticación de usuarios tanto local como remotamente, es también el encargado de mantener las contraseñas de los usuarios a salvo mediante el uso de cifrado y se comunica con la aplicación y con el servidor web utilizando la tecnología JNDI de JAVA. Servidor Web Este servidor es el encargado de albergar las páginas que permitirán el acceso a la aplicación y por ende al control de los dispositivos. Esta comunicado con el servidor LDAP utilizando JNDI para realizar una validación de seguridad que evitará que la información almacenada en el servidor caiga en manos malintencionadas. También tiene conexiones con archivos de texto plano que son explicados en la vista de datos del Anexo 3. Aplicación SAH Esta parte es la principal cuando se observa al Sistema de Automatización de Hogares como un todo, mantiene toda la lógica del sistema: realiza la supervisión de alertas, registro de log, comunicación con dispositivos, etc. (para mayor información sobre la aplicación ver la vista de implementación en [GOME2008]). Mantiene una comunicación utilizando la máquina virtual de java con el servidor web el cual accede a esta parte para poder controlar los dispositivos, además de estar vinculado con el servidor LDAP para asegurar la información cuando un usuario se autentica localmente. También cuenta con una gran cantidad de acceso a archivos que contienen información para que el sistema funcione (para información sobre los archivos ver la vista de datos en [GOME2008]). 65 Archivos de texto plano Los archivos de texto plano son el método de almacenamiento de datos elegido para este tipo de aplicación, ya que los datos a almacenar no son muchos, una base de datos sobrepasa en gran medida las necesidades de almacenamiento, además los archivos permite una consulta ágil de la información sin necesidad de ocupar mucho espacio. Para mayor información sobre los archivos utilizados en el sistema ver la vista de datos en el Anexo 3. Cámara La cámara se comunicará con la aplicación SAH mediante RTP (Real-Time Transport Protocol), esta cámara tendrá que estar conectada al computador y podrá ser accionada por alguna alerta del sistema o consultada vía internet. Dispositivo X10 Los dispositivos X10 representan cualquier dispositivo como por ejemplo una lámpara, que esté conectado a un dispositivo que sea compatible con el protocolo x10 y pueda ser detectado por la aplicación. 66 6 DESARROLLO DE UN PROTOTIPO BASADO EN EL DISEÑO PROPUESTO En cuanto al desarrollo del escenario de pruebas, para probar las funcionalidades del Sistema de Automatización de Hogares, se implementó un prototipo del sistema que cumpliera correctamente con cada una de las funcionalidades estipuladas para el Sistema, en su etapa de diseño. Para el desarrollo de este prototipo se determinaron cinco fases principales. La primera etapa comprendía el desarrollo de todos los componentes necesarios para poder controlar los dispositivos X10 a través de una aplicación que se ejecutara localmente. Este componente de la aplicación fue implementado usando JAVA como lenguaje de programación, en particular con el API para X10 desarrollado por Jaap Gordijn[GORD2008]. En cuanto a Hardware se tenían dos posibilidades para poder cumplir con este objetivo, una posibilidad era a través de la interfaz para computador CM17A Firecracker [X10F2008] y la segunda era a través de la interfaz para computador CM11A, Ambas con conector a puerto serial RS232. Finalmente la interfaz que se uso fue la CM11A, pues contaba con comunicación en dos vías, es decir, permitía tanto el envió como la recepción de señales X10[SIMP2007], lo cual era indispensable pues además de poder controlar los dispositivos también se requería de estar haciendo seguimiento de su estado. El factor que hizo descartar la interfaz CM17A, fue que solo permitía el envió de señales más no la recepción [SIMP2007], lo cual no permitía que se hiciera el seguimiento del estado de los dispositivos. La segunda etapa comprendía el desarrollo de los componentes necesarios para poder realizar vigilancia a través de cámaras web. Inicialmente se intento realizar a través del API de java Java Media Framework (JMF), pues según la documentación que se tenía de este API, todo apuntaba a que la implementación no sería algo complicado y se podría cumplir con todos los requerimientos relacionados con la vigilancia del hogar, pues se contaba con la capacidad de reproducir video, grabar video, capturar imágenes y todo esto para múltiples cámaras. Sin embargo, cuando se empezó a desarrollar el componente apareció la gran complicación de este API. El problema radicaba en que este API no reconoce cualquier cámara web sino solo ciertos modelos, lo cual generaba la siguiente complicación: en JMF para poder hacer uso de cada recurso, a cada cámara se le es asignado un localizador independiente, sin embargo en casos donde la cámara no es reconocida, JMF hace uso de un localizador genérico que sirve para cualquier cámara, pero al intentar usar dos cámaras que no sean reconocidas por JMF no se puede, ya que se cuenta solo con un localizador genérico. A partir de lo anterior, se llego a la conclusión que a través de este API se debe ser selectivo con la cámara que se vaya a usar. 67 Dado este inconveniente se encontró una solución alterna, que fue el uso de Adobe Flash Player [ADOB2008] junto con el lenguaje de programación Action Script [ADAS2008]. Con estas herramientas, no se tenía ningún problema con el tipo de cámara que se usara, cualquiera era reconocida, sin embargo las funciones de transmitir video remotamente y grabarlo eran limitadas, ya que para poder montar la aplicación web de forma que transmitiera el video remotamente o gravar video localmente, era necesario hacerlo a través del uso de un servidor de streaming para flash el cual requería de licenciamiento. Ante tanto inconveniente, finalmente se llego a la conclusión que para dar solución a la implementación de este componente se debería clasificar bien la necesidad y así escoger una de las dos opciones teniendo en cuenta las limitaciones que presenta cada una; o bien, utilizar cámaras IP como una tercera alternativa de solución para este problema, claro está, que esto significaría un aumento en el costo del sistema. En el caso particular del Sistema de Automatización de Hogares, se decidió usar las dos primeras alternativas, en cuanto a la parte implementada con JMF, que fue la transmisión de video a través de Internet, la captura de imágenes y la captura de video; se pudo realizar dado que se contaba con una cámara que era reconocida por el API junto con otra que no, lo que permitió que una usara el localizador genérico mientras otra usaba el localizador propio asignado por JMF. La parte implementada con Adobe Flash Player fue solamente la transmisión en vivo del video de manera local de las cámaras. Así finalmente se pudo implementar por completo este componente. Cabe resaltar que para la transmisión de video a través de Internet JMF lo hace a través de sesiones RTP (Protocolo de Transporte en Tiempo real), las cuales son abiertas por el servidor para que los clientes se conecten y accedan al video capturado por las cámaras. La implementación usada para el Sistema de Automatización de Hogares, fue un componente libre publicado en Internet, desarrollado por David Fisher [FISH2008]. 68 Figura 18. Modelo del diseño de David Fisher de un servidor HTTP para transmisión de video constante. Fuente: [FISH2008] Para el Sistema de Automatización de Hogares, se decidió que la transmisión de video no fuera constante, puesto que este cuenta con cámaras web, que debido a su capacidad limitada de buffer no permiten procesamiento en paralelo de distintas tareas. Por esta razón, se determino que era indispensable que las cámaras en caso de no ser usadas estuvieran libres, de forma tal que pudieran realizar otras tareas. Además, el no tener abierta la sesión RTP constantemente otorga un nivel mayor de seguridad, pues en caso que alguien externo al sistema capture la sesión, solo la tendrá disponible por un minuto y no de forma indefinidamente. En caso tal que exista un usuario que requiera vigilancia por más de un minuto, al finalizar el tiempo de cada sesión, sin ningún problema podrá abrir una nueva sesión, y así tantas veces como lo considere necesario. La tercera etapa comprendía el desarrollo de un componente que permitiera el control de dispositivos pero de manera remota, para dar solución a esta implementación, el único aspecto relevante desarrollado fue el lograr que los dispositivos se convirtieran en un recurso compartido tanto para el componente local como para el componente remoto. Una vez logrado ese aspecto, simplemente se diseñaron los JSP (Java Server Pages) correspondientes junto con sus Servlets, para así poder dar acceso a cada funcionalidad del componente remoto. Es necesario anotar que para el componente Web del Sistema, solo se contarían con funcionalidades como control sobre los dispositivos (Encendido y Apagado) y transmisión de video en tiempo real. Funcionalidades como agregar dispositivos o configuraciones básicas del Sistema solo se dejaron presentes en el componente local del Sistema. Para poder lograr el acceso remoto al sistema, se hizo uso del servidor Web Apache–Tomcat 5.5. La Cuarta etapa se baso en la implementación de la gestión de alertas, la cual comprendía funcionalidades como envío de mensajes de correo electrónico con y sin archivos adjuntos y envío de mensajes SMS a celulares. En la investigación para encontrar soluciones a esta implementación, se encontró que para enviar un mensaje a celular SMS no era indispensable que desde la creación misma del mensaje, este fuera de tipo SMS, sino que podía ser también un mensaje de correo electrónico configurando la cuenta de destino con la estructura “numero_de_celular @ operador_celular_correspondiente”. Dada esta forma de envío de mensajes a celulares, la solución para la implementación de este componente estaba a través del API de Java, JavaMail, pues con este API a través de una aplicación Java se podría realizar envió de mensajes de correo electrónico incluso con archivos adjuntos. Es necesario resaltar que en particular para este caso que solamente se estaba desarrollando un prototipo de pruebas, no se centro el desarrollo en la elaboración o investigación de un procedimiento para asumir las alertas generadas por el sistema, en vez 69 de esto lo que se pretendió demostrar fue que en el diseño es viable definir este procedimiento, y por eso se tomo un caso particular para el fin de las pruebas. La quinta y última etapa, se baso en definir que protocolos de seguridad iban a estar implementados para el Sistema. Así se definió que para aumentar la seguridad del Sistema, este contaría con autenticación basada en el protocolo LDAP, dado que el diseño del Sistema de Automatización de Hogares está enfocado para ser instalado en computadores personales, LDAP brindaba la posibilidad de contar con un servidor seguro, y no muy pesado para el computador donde se ejecute el Sistema. De igual forma, para el acceso remoto se determinó el uso de una conexión VPN. El fin de hacer uso de una red privada virtual se dio debido a la necesidad de mantener segura y privada la información del hogar, en especial, la transmisión del video. Así al establecer una conexión para acceder de manera remota al sistema, el envío de mensajes iría cifrado y a través del túnel que establece la VPN para la comunicación entre el cliente y el servidor. Dada esta característica del Sistema, se determinó que el Servidor no aceptaría peticiones de servicio a clientes cuya dirección IP no corresponda con el rango de direcciones que asigna el servidor VPN a sus clientes. Una vez concluida la quinta y última etapa, ya estaba implementado el escenario de pruebas que cumplía con cada una de las funcionalidades estipuladas en la etapa de diseño. Lo que restaba aún por hacer era realizar y ejecutar un plan de pruebas formal a este escenario de pruebas y así dejar documentado como este escenario de pruebas cumplía con cada funcionalidad del Sistema de Automatización de Hogares. En la sección siguiente, se muestra detalladamente el plan de pruebas que se aplicó para el escenario de pruebas del Sistema de Automatización de Hogares. 70 7 PLAN DE PRUEBAS 7.1 Descripción del Plan de Pruebas Con este plan se pretende realizar una serie de especificaciones a seguir para los procedimientos que serán utilizados para llevar a cabo el aseguramiento de la calidad mediante una serie de pruebas al sistema y documentación de las mismas, llevando el control de la corrección de los errores encontrados. En este caso particular, se evaluaran las funcionalidades del prototipo de pruebas desarrollado para el Sistema de Automatización de Hogares. El desarrollo de este plan de pruebas tiene tres objetivos principales: ‐ Validar el diseño del Sistema de Automatización de Hogares mediante la evaluación de cada una de sus funcionalidades. ‐ Verificar la seguridad definida para el sistema mediante la autenticación de los usuarios (login) tanto local como remotamente, además de asegurar que se cumplan los permisos que le fueron asignados al usuario en el proceso de creación. ‐ Verificar los parámetros de salida de cada función de acuerdo a determinados estímulos de entrada. Para mayor detalle acerca del plan de pruebas y de cada prueba en particular, ver anexo “SAH – Plan de Pruebas”. 7.2 Ejecución del Plan de Pruebas A continuación se muestra una breve descripción del desarrollo del plan de pruebas. Para mayor detalle ver anexo “SAH – Ejecución del Plan de Pruebas” MÓDULO PARA GESTIÓN DE DISPOSITIVOS DE MANERA LOCAL ENCENDER DISPOSITIVO Objetivo de la Prueba: Probar la funcionalidad del sistema relacionada con el encendido de dispositivos. Para esta prueba el dispositivo seleccionado fue el Radio. 71 Descripción de salida: Se espera que al encender el dispositivo seleccionado, este en realidad cambie su estado a encendido. Acción Realizada: Se hizo click en el botón de encendido [ON] del Radio, ubicado en el panel “Control Dispositivo” propio de este dispositivo. Comentarios: El dispositivo seleccionado cambio su estado a encendido. Se obtuvo la salida esperada. APAGAR DISPOSITIVO Objetivo de la Prueba: Probar la funcionalidad del sistema relacionada con el apagado de dispositivos. Para esta prueba el dispositivo seleccionado fue el Radio. Descripción de salida: Se espera que al apagar el dispositivo seleccionado, este en realidad cambie su estado a apagado. Acción Realizada: Se hizo click en el botón de apagado [OFF] del Radio, ubicado en el panel “Control Dispositivo” en la ventana de “Consola de Monitoreo”. Comentarios: El dispositivo seleccionado cambio su estado a apagado. Se obtuvo la salida esperada. OBSERVAR VIDEO CAPTURADO POR LAS CÁMARAS Objetivo de la Prueba: Probar la funcionalidad del sistema relacionada con la vigilancia del hogar a través de cámaras web. Descripción de salida: Se espera que se pueda observar de manera local y en tiempo real el video capturado por las cámaras registradas por el sistema. Acción Realizada: En la lista donde aparecía el nombre de todas las cámaras registradas por el Sistema, se hizo click en el nombre de la cámara de la cual se quería ver el video capturado. Comentarios: Se pudo observar en tiempo real el video capturado por las cámaras. Se obtuvo la salida esperada. AGREGAR DISPOSITIVO Objetivo de la Prueba: Probar la funcionalidad del Sistema que permite adicionar nuevos dispositivos. También probar la integridad de los datos guardados en los archivos generados por el sistema. Descripción de salida: Se espera que los datos introducidos estén iguales que los almacenados. También se espera que el sistema agregue correctamente el nuevo dispositivo con la información ingresada. Acción Realizada: Se ingresó la información en cada uno de los campos presentes en la ventana y se agrego el dispositivo. Comentarios: Se agregó correctamente el dispositivo, obteniendo así la salida esperada. 72 MÓDULO PARA GESTIÓN DE DISPOSITIVOS DE MANERA REMOTA ENCENDER DISPOSITIVO Objetivo de la Prueba: Probar la funcionalidad del sistema relacionada con el encendido de dispositivos de manera remota. Para esta prueba el dispositivo seleccionado fue el Radio. Descripción de salida: Se espera que al encender el dispositivo seleccionado, este en realidad cambie su estado a encendido. Acción Realizada: Desde un computador diferente al que se encuentra ejecutando el Sistema de Automatización de Hogares, a través de un navegador Web se accedió a la consola de monitoreo del Sistema y se oprimió el botón de encendido [ON] del Radio. Comentarios: El dispositivo seleccionado cambio su estado a encendido. Se obtuvo la salida esperada. APAGAR DISPOSITIVO Objetivo de la Prueba: Probar la funcionalidad del sistema relacionada con el apagado de dispositivos de manera remota. Para esta prueba el dispositivo seleccionado fue el Radio. Descripción de salida: Se espera que al encender el dispositivo seleccionado, este en realidad cambie su estado a encendido. Acción Realizada: Desde un computador diferente al que se encuentra ejecutando el Sistema de Automatización de Hogares, a través de un navegador Web se accedió a la consola de monitoreo del Sistema y se oprimió el botón de apagado [OFF] del Radio. Comentarios: El dispositivo seleccionado cambio su estado a apagado. Se obtuvo la salida esperada. Sin Embargo se produjo un error. Error: Al darle la orden de apagado en ciertas ocasiones parece que no recibe la orden la primera vez por ende no realiza la acción correspondiente sino hasta volver a darle la orden de apagado. OBSERVAR VIDEO CAPTURADO POR LAS CÁMARAS Objetivo de la Prueba: Probar la funcionalidad del sistema relacionada con la vigilancia remota del hogar a través de cámaras web. Descripción de salida: Se espera que se pueda observar de manera remota y en tiempo real, el video capturado por las cámaras registradas por el sistema. Acción Realizada: Desde un computador diferente al que se encuentra ejecutando el Sistema de Automatización de Hogares, a través de un navegador Web, se accedió a la consola de video del Sistema, de la lista desplegada de cámaras se selecciona una y se oprimió el botón “Seleccionar”. Finalmente se hizo click en el link de “ver video”. 73 Comentarios: Se pudo observar el video capturado por la cámara seleccionada, obteniendo así la salida esperada. 9 Cabe resaltar que al realizar las pruebas de este modulo, quedan también probadas funcionalidades como: Acceso remoto para ver lo que las cámaras están capturando y el estado de dispositivos. Acceso remoto para controlar luces o dispositivos de la vivienda conectados al sistema domótico. Transmisión de video a través de Internet. Visualizar a través de Internet lo que las cámaras están enfocando. MÓDULO PARA GESTIÓN DE ALERTAS ENVÍO DE CORREO ELECTRÓNICO COMO RESPUESTA A LA DETECCIÓN DE ALGUNA SEÑAL DE ALERTA DE UN SENSOR. Objetivo de la Prueba: Probar la funcionalidad del sistema que permite realizar el envío de un mensaje de correo electrónico como respuesta a la detección de alguna señal de alerta de un sensor. Descripción de salida: Se espera que ante la detección de una alerta de un sensor, el sistema realice el envío de un mensaje de correo electrónico con una descripción de la alerta detectada. Acción Realizada: Para realizar esta prueba, se hizo uso de un muñeco, el cual se atravesó frente al sensor de movimiento, logrando así que el sensor se activara y generara una alerta de movimiento, la cual a su vez fuera recibida por el sistema y así realizara el envío de un mensaje de correo electrónico. Finalmente se reviso el buzón de entrada de la cuenta de correo electrónico y se encontró el mensaje enviado por el Sistema, con su correspondiente descripción de la alerta generada, en este caso una alerta por movimiento detectado. Comentarios: Se comprobó que el sistema si realiza el envío de mensajes de correo electrónico ante la detección de alguna señal de alerta de un sensor, obteniendo así la salida esperada. ENVÍO DE MENSAJE SMS A UN NÚMERO CELULAR COMO RESPUESTA A LA DETECCIÓN DE ALGUNA SEÑAL DE ALERTA DE UN SENSOR. Objetivo de la Prueba: Probar la funcionalidad del sistema que permite realizar el envío de un mensaje SMS a un número celular como respuesta a la detección de alguna señal de alerta de un sensor. 74 Descripción de salida: Se espera que ante la detección de una alerta de un sensor, el sistema realice el envío de un mensaje SMS con una descripción de la alerta detectada. Acción Realizada: Para realizar esta prueba, se hizo uso de un muñeco, el cual se atravesó frente al sensor de movimiento, logrando así que el sensor se activara y generara una alerta de movimiento, la cual a su vez fuera recibida por el sistema y así realizara el envío de un mensaje SMS a un número celular. Finalmente después de un intervalo de tiempo de aproximadamente 30 segundos, al número celular configurado llego el mensaje enviado por el Sistema con su correspondiente descripción de la alerta generada, en este caso una alerta por movimiento detectado. Comentarios: Se comprobó que el sistema si realiza el envío de mensajes SMS a números celulares ante la detección de alguna señal de alerta de un sensor, obteniendo así la salida esperada. ENCENDER UN DISPOSITIVO DE ALERTA COMO RESPUESTA A LA DETECCIÓN DE ALGUNA SEÑAL DE ALERTA DE UN SENSOR. Objetivo de la Prueba: Probar la funcionalidad del sistema que permite encender un dispositivo de alerta como respuesta a la detección de alguna señal de alerta de un sensor. Para esta prueba el dispositivo de alerta seleccionado fue el Radio. Descripción de salida: Se espera que ante la detección de una alerta de un sensor, el sistema encienda un dispositivo para así generar una alerta. Acción Realizada: Para realizar esta prueba, se hizo uso de un muñeco, el cual se atravesó frente al sensor de movimiento, logrando así que el sensor se activara y generara una alerta de movimiento, la cual a su vez fuera recibida por el sistema y así encendiera un dispositivo como señal de alerta. Inmediatamente fue detectada la señal del sensor de movimiento por el sistema, se encendió el radio. Comentarios: Se comprobó que el sistema si realiza el encendido de un dispositivo, ante la detección de alguna señal de alerta de un sensor, obteniendo así la salida esperada. MOSTRAR EN PANTALLA UN MENSAJE DE ALERTA COMO RESPUESTA A LA DETECCIÓN DE ALGUNA SEÑAL DE ALERTA DE UN SENSOR. Objetivo de la Prueba: Probar la funcionalidad del sistema que permite mostrar en pantalla un mensaje de alerta como respuesta a la detección de alguna señal de alerta de un sensor. Descripción de salida: Se espera que ante la detección de una alerta de un sensor, el sistema despliegue en pantalla un mensaje de alarma correspondiente a la alerta generada. Acción Realizada: Para realizar esta prueba, se hizo uso de un muñeco, el cual se atravesó frente al sensor de movimiento, logrando así que el sensor se activara y generara una alerta de movimiento, la cual a su vez fuera recibida por el sistema y así desplegara en pantalla un mensaje de alerta correspondiente. 75 Tan pronto como fue detectada la señal del sensor de movimiento por el sistema, se desplego en pantalla el mensaje de alarma. Comentarios: Se comprobó que el sistema si realiza el despliegue de un mensaje de alarma, ante la detección de alguna señal de alerta de un sensor, obteniendo así la salida esperada. CAPTURAR UNA IMAGEN ANTE UNA DETECCIÓN DE MOVIMIENTO Y ENVIARLA EN UN MENSAJE DE CORREO ELECTRÓNICO. Objetivo de la Prueba: Probar la funcionalidad del sistema que permite capturar una imagen de las cámaras, ante la detección de alguna señal de alerta por parte del sensor de movimiento. Descripción de salida: Se espera que ante la detección de una alerta del sensor de movimiento, el sistema capture una imagen instantánea de cada cámara conectada al sistema, las almacene en disco duro y posteriormente las envíe en un mensaje de correo electrónico. Acción Realizada: Para realizar esta prueba, se hizo uso de un muñeco, el cual se atravesó frente al sensor de movimiento, logrando así que el sensor se activara y generara una alerta de movimiento, la cual a su vez fuera recibida por el sistema y así realizara la captura de imágenes instantáneas de cada cámara conectada al sistema. Tan pronto como fue detectada la señal del sensor de movimiento por el sistema, este realizó la captura de las imágenes instantáneas de cada cámara y las almacenó en el disco duro (Ubicación: C:\SAH\IMÁGENES). Pasados 15 segundos después de haberse detectado la alerta por el sistema, se revisó la ubicación donde deberían haberse almacenado las imágenes y en efecto estas se encontraban ahí. Después de un intervalo de tiempo de aproximadamente 45 segundos después de detectada la alerta por parte del sistema, se reviso el buzón de entrada de la cuenta de correo electrónico y efectivamente se encontraron las imágenes que el sistema había capturado y enviado. Comentarios: Se comprobó que el sistema si realiza la captura de imágenes ante la detección de alguna señal del sensor de movimiento, y que además si realiza el envío de las mismas adjuntas en mensajes de correo electrónico. Se obtuvo la salida esperada. CAPTURAR UN VIDEO ANTE UNA DETECCIÓN DE MOVIMIENTO Objetivo de la Prueba: Probar la funcionalidad del sistema que permite capturar un video de las cámaras, ante la detección de alguna señal de alerta por parte del sensor de movimiento. Descripción de salida: Se espera que ante la detección de una alerta del sensor de movimiento, el sistema capture un video de cada cámara conectada al sistema y posteriormente lo almacene en disco duro. Acción Realizada: Para realizar esta prueba, se hizo uso de un muñeco, el cual se atravesó frente al sensor de movimiento, logrando así que el sensor se activara y generara una alerta de movimiento, la cual 76 a su vez fuera recibida por el sistema y así realizara la captura de video cada cámara conectada al sistema. Tan pronto como fue detectada la señal del sensor de movimiento por el sistema, este realizó la captura de video de cada cámara y los almacenó en el disco duro (Ubicación: C:\SAH\VIDEOS). Dada la configuración con que se contaba, la cual consistía en que cada cámara grabara 30 segundos de video, pasado aproximadamente 1 minuto después de haberse detectado la alerta por el sistema, se revisó la ubicación donde deberían haberse almacenado los videos y en efecto estos se encontraban ahí. Comentarios: Se comprobó que el sistema si realiza la captura de video ante la detección de alguna señal del sensor de movimiento, obteniendo así la salida esperada. 9 Cabe resaltar que al realizar las pruebas de este módulo, quedan también probadas funcionalidades como: Permitir enviar imágenes vía correo electrónico al detectar un movimiento. Cámaras que permiten capturar imágenes y video. MÓDULO DE CARACTERÍSTICAS DEL SISTEMA SEGURIDAD Objetivo de la prueba: Probar la funcionalidad del sistema que evita que cualquier persona pueda ser usuario del sistema. Descripción de a salida: Se espera que ante la introducción de un usuario y una contraseña errónea, el sistema arroje un mensaje de error de autenticación. Acción Realizada: Para la realización de la prueba se utiliza un Servidor LDAP gratuito llamado Apacheds. En este servidor se creó un usuario “Jose” con contraseña “lonworksx10”, esta tenía un cifrado SHA de una vía el cual es una opción que trae por defecto este servidor. Luego, mediante una conexión java a este servidor se vinculó la aplicación a ese directorio donde había sido creado el nuevo usuario. Se procedió a hacer la autenticación utilizando varias combinaciones erróneas tales como (usuario/contraseña): - Jose/Lonworks - jose/Lonworks - jose/lonworks 77 Comentarios: Se comprobó que el sistema realiza el proceso de comparación de usuario y contraseñas contra el servidor LDAP y debido a lo robusto de este servidor es difícil una violación de seguridad. CONFIDENCIALIDAD Objetivo de la prueba: Probar la confidencialidad de la información cuando esta viaja a través de la Internet. Descripción de a salida: Se espera que dentro del tráfico capturado por un Sniffer no se pueda leer la información que viaja a través de una VPN creada en Windows XP. Acción Realizada: Para realizar esta prueba se construyó una red que simulara Internet como se muestra en la Figura 19. Primero se envió un archivo de texto plano a través del computador A al computador B, utilizando el Sniffer de distribución libre Ethereal instalado en el computador B, se pudo leer claramente el texto enviado dentro del archivo. Luego, construyendo una VPN entre estos dos computadores se realizó la misma acción anterior. Comentarios: Se comprobó que la confidencialidad de la información se mantiene cuando esta viaja a través de una VPN. Figura 19. Topología de la red para la prueba de VPN 78 8 - CONCLUSIONES El nivel de avance tecnológico en Colombia con respecto a la domótica es aún muy bajo, por tal motivo los pocos sistemas que se consiguen en nuestro país alcanzan costos muy elevados que seguramente no se acomodan al promedio de ingresos de un habitante de clase media y mucho menos a uno de clase baja, tal vez este sea uno de los motivos del atraso. Pero es también por este motivo que un sistema de bajo costo como el diseñado a lo largo de esta investigación sería de gran auge para nuestro país y sin duda alguna proporcionaría un producto innovador, sobre todo con los altos índices de accidentalidad que se presentan a diario en nuestros hogares. - Gracias al diseño de la arquitectura donde se independizó la presentación de la lógica del negocio y de los datos, es fácil independizar los módulos en computadores diferentes; por tal motivo, esta arquitectura también se podría acondicionar para dejar al computador del hogar más liviano y poner el servidor de autenticación, el servidor web y los datos en un lugar aparte, esto para orientar el diseño de la arquitectura hacia un aspecto más comercial y lucrativo. - Existen diferentes soluciones en el mercado que proporcionan los servicios que facilitan la vida en un hogar para su automatización, lamentablemente estas soluciones más que ser una solución a las necesidades, comprenden un conjunto de características que pretenden hacer a un lado los costos siempre y cuando ofrezcan mejores sistemas y servicios. La domótica no comprende solamente la mejora de la calidad de vida, debe tener como objetivo primario velar por satisfacer las necesidades básicas de los seres humanos, entre ellas, la supervivencia. 79 9 ‐ TRABAJOS FUTUROS Se propone continuar este proyecto de investigación, a través de la implementación de un sistema de automatización de hogares, que cumpla con cada una de las características y objetivos determinados en los documentos de diseño, desarrollados en esta etapa de la investigación. ‐ Dado que para el protocolo de comunicaciones X10, usado en la automatización de hogares, las interfaces para computador que solían usarse eran a través de puerto serial RS232, como el caso de la interfaz CM11A [X10C2008], usada en esta investigación, y la CM17A [X10F2008], se propone investigar sobre la interfaz X10 para computador CM19A [X10W2008], y así usarla para realizar la implementación del sistema. Esta interfaz tiene como ventajas principales sobre sus antecesoras, el hecho de ser inalámbrica y realizar la comunicación mediante puerto USB. ‐ Se propone realizar una investigación, cuyo fin sea expandir el sistema con un componente, que permita establecer comunicaciones telefónicas y reproducir mensajes, el cual pueda ser usado como mecanismo de alerta de última instancia, ante una detección de emergencia por parte del sistema. ‐ Ya que en caso de presentarse una emergencia es indispensable que se cuente con acciones casi inmediatas, para otorgar más posibilidades de acceso a los usuarios, se propone implementar un componente que permita tener acceso al sistema y control total de este, a través de dispositivos móviles. ‐ Considerando que los sistemas domóticos serían de gran utilidad en lugares como por ejemplo cárceles, guarderías o institutos geriátricos, donde la seguridad y la supervisión son políticas fundamentales para prestar un buen servicio. Se propone desarrollar el diseño de un sistema domótico enfocado más a estos lugares mencionados. ‐ Se propone realizar el diseño del sistema, pero enfocándolo a una empresa prestadora de servicios de seguridad, es decir, un sistema donde el cliente solo tenga una aplicación liviana, mientras en un servidor central, al que se conectan los usuarios, se ejecuta una aplicación principal. ‐ Dados los inconvenientes que se encontraron en las tecnologías existentes para el manejo de video con cámaras Web, se propone realizar una investigación acerca de nuevas tecnologías y así desarrollar un nuevo componente de video que no presente estos problemas. 80 10. BIBLIOGRAFIA [ADEP1998] Adept Systems Incorporated. “A C Reference Implementation of The LonTalkProtocolon the MC68360”. Document Revision 1.7. Julio 1998. [ADOB2008] Adobe. “Adobe Flash Player”. Página web disponible en: http://www.superinventos.com/kitsx10.htm Último acceso, Diciembre 2008. [ALAR2008] Alarma Universal. Página web disponible en http://www.alarmauniversal.com/canondeniebla.php Último acceso, Marzo 2008. [APAC2008] The Apache Software Foundation. “Apache Tomcat”. The Apache Software Foundation. Pagina Web disponible en: http://tomcat.apache.org/. Último acceso, Enero 2009 [ASSD2008] Alarmas de seguridad, Sistemas de Defensa. Página web disponible en http://bloguay.com/alarmas/page/3/ Último acceso, Marzo 2008. [BATL2007] Batlle, Gemma. Sanleandro, Oriol. “Hogar digital, el futuro ya esta aquí”. Reportaje Theknos. Numero 105, Enero 2007. CETIB. [BRIC2008] BrickHouse Security. “All about IP Network Video Cameras”. Pagina Web disponible en http://www.brickhousesecurity.com/about-ip-network-video-cameras.html. Último acceso, Noviembre 20 de 2008. [CASA2008] Historia de la domótica y el hogar digital. Disponible en http:// www.casadomo.com/noticiasDetalle.aspx?c=10&m=15&idm=16&pat=14&n2=14 Último acceso, Marzo 2008. [CHUN2006] Chunduru, V. Subramanian, N. “Effects of Power Lines on Performance of Home Control Systems”. IEEE, 2006 . 81 [CICP2008] Centro de Investigaciones Criminológicas Policía Metropolitana. “Comportamiento del Hurto de Residencias: enero 2007-2008”. Sitio web disponible en: http://www.segobdis.gov.co/, Marzo 2008. [CIENC2008] Ciencia Popular. “El Cuerpo contra las Temperaturas”. Página Web disponible en http://www.cienciapopular.com/n/Biologia_y_Fosiles/El_Cuerpo_contra_las_Temperaturas/El_Cuerpo_c ontra_las_Temperaturas.php Último acceso, Junio 2008. [COBB2007] Cuerpo Oficial de Bomberos de Bogota. “El COBB prestó más de 20 mil servicios en el 2007”. 2007. Sitio Web disponible en: http://www.bomberosbogota.gov.co/content/view/109/118/, Marzo 2008. [COMI2008] Comisión de Regulación de Telecomunicaciones república de Colombia. “Informe Semestral: Internet - Colombia superó el millón de suscriptores dedicados a internet.”. Comisión de Regulación de Telecomunicaciones. No. 11. Marzo de 2008. Disponible en: http://www.crt.gov.co/Documentos/BibliotecaVirtual/InformeInternet/Informe_Internet_diciembre_2007. pdf, Marzo 2008 [DANE2005] Departamento Administrativo Nacional de Estadística. “Boletín: Censo general 2005. DISCAPACIDAD – COLOMBIA Actualización” 2005. Disponible en: http://www.dane.gov.co/censo/files/boletines/discapacidad.pdf, Marzo 2008. [DANE2007] Departamento Administrativo Nacional de Estadística. “Censo Genral 2005: Nivel Nacional”. República de Colombia. 2005. Disponible en: http://www.dane.gov.co/censo/files/libroCenso2005nacional.pdf. Ultimo acceso, Enero de 2009o [DDES2008] DOMODESK Todo en Domótica. Página web disponible en: http://www. domodesk.com/product/51/14/23/1. Último acceso, Agosto 4 de 2008. [DELT2008] Artículos Delta. Página web disponible en http://www.deltaasesores.com/prof/ART0050.html Último acceso, Marzo 2008. 82 [DOIA2008] Domótica, Inteligencia Ambiental. Página web disponible en http://www.lukor.com/ordenadores/07071681.htm Último acceso, Marzo 2008. [DOMO2008] Kits X10 Domóticos. Página web disponible en http://www.domoticaviva.com/Tienda/articulos/Kitcontrolmaxp.htm. Último acceso, Agosto 2008. [ECHE2000] Echelon Corporation. Introduction to the LonWorks Platform: An Overview of Principles and Practices. Version 2.0. 2000. Página web disponible en http://www.circon.com/services/specifications/Section%20A%20%201%20Introduction%20to%20the%20LonWorks%20Platform%20V2.0.pdf Último acceso, febrero 2008. [FISH2008] Fisher, David. “David Fisher Homepage” Página Web disponible en: http://www.mutong.com/fischer/java/usbcam/. Último acceso, Enero 2009. [GARC2001] Mateos, Felipe, González, Víctor M, Reyes, Poo, García, Marta y Olaiz, Rosana. “DESIGN AND DEVELOPMENT OF AN AUTOMATIC SMALL-SCALE HOUSE FOR TEACHING DOMOTICS”. Universidad de Oviedo. Gijón, España. 2001 [GIOR2006] Giordano, José Luis. “El Detector de Humo” Página Web disponible en http://www.profisica.cl/comofuncionan/como.php?id=11. Último acceso, Noviembre 2008. [GORD2008] Gordijn, Jaap. “evalue™ Jaap Gordijn’s website” Página Web disponible en: http://www.gordijn.org/personal/homeautomation/CM11ASimulator/. Último acceso, Enero 2009. [GUER2007] Guerra, Cesar. “Obtención de Requerimientos, Técnicas y Estrategias (2007)”. Revista Softwareguru, septiembre-octubre 2007, pp. 28-31. [HOWS2008] howstuffwork. “How do motion sensing lights and burglar alarms work?” Página Web disponible en http://home.howstuffworks.com/question238.htm Último acceso, Junio 2008. [IEEE2003] Institute of Electrical and Electronics Engineers, Inc., IEEE Std. 802.15.4-2003, IEEE Standard for Information Technology — Telecommunications and Information Exchange between 83 Systems — Local and Metropolitan Area Networks Specific Requirements Part 15.4: Wireless Medium Access Control (MAC) and Physical Layer (PHY) Specifications for Low Rate Wireless Personal Area Networks (WPANs). New York: IEEE Press. 2003. [JAMA2008] Sun Developer Network (SDN). “JavaMail”. Sun Microsystems, Inc. Pagina Web disponible en: http://java.sun.com/products/javamail/. Último acceso, Enero 2009 [JAVA2008] Sun Developer Network (SDN). “JMF In Action”. Sun Microsystems, Inc. Pagina Web Disponible en: http://java.sun.com/javase/technologies/desktop/media/jmf/. Último acceso, Enero 2009 [KEND1997] Kendall, Julie. Kendall, Kenneth. “Análisis y Diseño de Sistemas”. 3ª edición. Prentice Hall. 1997. [KITS2008] Kits X10 Domótica. Página web disponible en http://www.superinventos.com/kitsx10.htm Último acceso, Agosto 2008. [LORE2004] Lorente, Santiago. “Key Issues Regarding Domotic Aplications”. Telecommunications Engineering School, Universidad Politécnica de Madrid Ciudad Universitaria. Madrid, España. IEEE, 2004. [MATE2001] Felipe Mateos, Víctor González, Reyes Poo, Marta Garcia y Rosana Olaiz “Design and Development Of An Automatic Small-Scale House For Teaching Domotics”. IEEE 2001. [MIOR2006] Miori, Vittorio. Tarrini, Luca. Manca, Maurizio. Tolomei, Gabriele. “DomoNet: A framework and a prototype for interoperability of domotic middlewares based on XML and Web Services”. IEEE, 2006. [MUÑO2007] Muños, Javier. Fons, Joan. Pelechano, Vicente. Pastor, Oscar. “hacia el Modelado Conceptual de Sistemas Domóticos”. Departamento de Sistemas Informáticos y Computación. Universidad Politécnica de Valencia. 2007. 84 [NEMO2008] Nemoto Environmental Technology. “The Technology We Use: Catalytic Gas Sensors (Pellistors)” Página Web disponible en http://www.nemototech.com/technology.htm Último acceso, Junio 3 de 2008. [PRES2002] Pressman, Roger. “Ingeniería del Software”, 5ª edición. Editorial McGraw-Hill. 2005. [REAL2008] Real Academia de la lengua Española. Definición de “Domotico” y “Automático” .2008. Disponible en www.rae.es. Ultimo acceso, Agosto 2008. [RSCH2009] Royal Society of Chemistry. “Lightweight Flammable Gas Monitors”. Abril, 1976. Disponible en: http://www.rsc.org/delivery/_ArticleLinkink/DisplayArticleForFree.cfm?doi=AD9761300108&JournalCo de=AD. Ultimo acceso, Enero 2009. [SERR2007] Serrano, Jorge. “Solutions towards domotic interoperability”. Institution for communication and information, Högskolan Skövde. 2007. [SHAH2008] Shahnasser, Hamid. Wang, Quan. “Controlling Industrial Devices over TCP/IP by Using Lonworks”. School of Engineering. San Francisco State University. EE.UU. 2008. [SHIH2005] Shih, Wei. “Domótica aplicada a residencias con énfasis en interconectividad, diseño y análisis de sus ventajas y desventajas”. Universidad de Costa Rica. Escuela de Inge-niería Eléctrica. 2005. [ALHE2008] Alhena. “Domótica X10 – Protocolo X10”. Página web disponible en http://www.alhenaing.com/Ajuda.htm. Último acceso, Agosto 2008. [SIMP2007] Michael Simpson. “X10 Home Automation as seen in April 2007 of Nuts & Volts Magazine”. Página Web disponible en: http://www.nutsvolts.com. 2007. Último acceso, Agosto2008. [SMAR2008] SMARTHOME - Home Automation Superstore. Página web disponible en http://www.smarthome.com. Último acceso, Agosto 2008. 85 [SHIN2008] SmartHome Inc. “How X10 Works” Página Web disponible en http://www.smarthomeusa.com/info/x10theory/x10theory Último acceso, Mayo 2008. [SPIT2008] Spitzer Space Telescope. Disponible en http://www.spitzer.caltech.edu/espanol/edu/learn_ir/ Último acceso, Marzo 31 de 2008. [SSAM2003] Secretaría de Salud. Alcaldía Mayor de Bogotá. “Boletín de Estadísticas: Secretaria de Salud de Bogotá, D.C.”. Número 1. Julio-Diciembre de 2003. Disponible en: http://www.saludcapital.gov.co/publicaciones/Boletines%20estadisticos/Boletin%20No%201.pdf, Marzo 24 de 2008. Último acceso, Agosto 2008. [SSAM2006] Secretaría de Salud. Alcaldía Mayor de Bogotá. “Boletín de Estadísticas: Secretaria de Salud de Bogotá, D.C.”. Número 6. Enero-Diciembre de 2006. http://www.saludcapital.gov.co/publicaciones/Boletines%20estadisticos/Boletin%206.pdf, Marzo 2008. [STOF2000] Soporte Técnico OEM Fujitsu España. “Un paseo por IEEE – 1394 (FireWire)”. Fujitsu España, 2000. [SUNM1999] Sun Microsystems. “Understanding the JMF RTP API”. Sun Microsystems, Inc. Disponible en: http://java.sun.com/javase/technologies/desktop/media/jmf/2.1.1/guide/RTPArchitecture.html. Último acceso, Enero 2009. [TCAS2006] TCAS Aviation Blog. http://www. tcas.es/images/posts/oct06/lavatory%204.jpg. Último acceso, Noviembre 19 de 2008. [TOSH2000] Toshiba. “LonTalk Protocol”. Página web disponible en http://www.toshiba.com/taec/components/docs/Generic/neuron/8.pdf Último acceso, Febrero 2008. [VINY2008] Vinyes, J. Vazquez, E. Miguel, T. “Throughput analysis of p-CSMA based LonTalk protocols for building management systems”. Departamento de Ingenieria Telem-atica. Universidad Politécnica de Madrid. Madri. España. 2008. 86 [VIRJ2006] Dhingra, Vijay. “ECHELON ANSI/CEA709 (EN14908) Standards”. Agosto de 2006 [ADAS2008] Adobe. “Adobe Developer Connection: ActionScript Technology Center”. Pagina Web Disponible en: http://www.adobe.com/devnet/actionscript/. Último acceso, Diciembre 2008. [X10C2008] X10PRO. “Computer Interface - Controller”. Disponible en: www.x10pro.com/pro/pdf/cm11a.pdf. EE.UU. Último acceso, Agosto 2008. [X10F2008] X10 Home Solutions. “FireCracker Wireless Computer Interface”. X10 Wireless Technology, Inc. Disponible en: ftp://ftp.x10.com/pub/manuals/cm17a-is.pdf. EE.UU. Último acceso, Agosto 2008. [X10M2008] X10 Home Solutions. “Operating Instructions for X10 EagleEye, MS14A (Indoor/Outdoor)”. X10 Wireless Technology, Inc. Disponible en: ftp://ftp.x10.com/pub/manuals/ms13ams14a-is.pdf. EE.UU. Último acceso, Agosto 2008. [X10S2008] X10 Home Solutions. “Remote Chime, Model SC546A - Operating Instructions”. X10 Wireless Technology, Inc. Disponible en: ftp://ftp.x10.com/pub/manuals/sc546a-is.pdf. EE.UU. Último acceso, Agosto 2008. [X10T2008] X10 Home Solutions. “Transceiver Module TM751 - Operating Instructions”. X10 Wireless Technology, Inc. Disponible en: ftp://ftp.x10.com/pub/manuals/tm751-is.pdf. EE.UU. Último acceso, Agosto 2008. [X10U2008] X10 Home Solutions. “CM19A USB PC Transceiver - Turn Your PC Into a Powerhouse”. X10 Wireless Technology, Inc. Pagina Web disponible en: http://www.x10.com/products/x10_cm19a.htm. Último acceso, Enero 2009. [ZIG2007] ZigBee Alliance. ZigBee Home Automation Public Application Profile. 2008. ZigBee Standards Organization. [ZIGB2008] ZigBee Alliance. ZigBee Specification. 2008. ZigBee Standards Organization. Document 053474r17. 87