Escuela Superior de Ingeniera Mecnica y Elctrica Unidad Zacatenco
Sistema de Monitoreo y Control a Distancia de un Centro de Cmputo Tesis Que para obtener el Ttulo de Ingeniero en Comunicaciones y Electrnica P r e s e n t a n: Jaime Enrique Becerril Delgado Luis Adrin Cerda Garca Daniel Nieto Snchez ASESORADA POR: Ing. Armando Mancilla Len M. en C. Roberto Galicia Galicia
Mxico a 8 de Diciembre del 2009
2
i | P g i n a
ndice
Objetivo General: ..................................................................................................................... iv Objetivos Particulares: .............................................................................................................. v Justificacin: ............................................................................................................................ vi Introduccin ........................................................................................................................... vii Antecedentes.......................................................................................................................... vii Captulo 1 ................................................................................................................................. 1 Marco Terico .......................................................................................................................... 1 1.1 Domtica y Edificios Inteligentes .................................................................................... 2 1.1.1 Domtica .................................................................................................................. 2 1.1.2Administracin de la Domtica .................................................................................. 3 1.1.3Descripcin de un sistema domtico......................................................................... 4 1.2 Clasificacin de los Sistemas de Control ........................................................................... 8 1.2.1 Caractersticas de un Sistema de Control .................................................................. 8 1.3 Arquitectura de Internet ................................................................................................. 9 1.4 Microcontroladores ....................................................................................................... 10 Captulo 2 ............................................................................................................................... 24 Tecnologa .NET ...................................................................................................................... 24 2.1Tecnologa .Net .............................................................................................................. 25 2.1.1 .NET Framework ..................................................................................................... 25 2.1.2 Funcionamiento de .NET ......................................................................................... 26 2.1.3 Bases de la POO ...................................................................................................... 29 2.2 Silverlight ...................................................................................................................... 31 2.2.1 Arquitectura de Silverlight ...................................................................................... 33 2.2.2 Componentes de presentacin bsicos ................................................................... 34 2.2.3 .NET Framework para Silverlight. ............................................................................ 35 2.2.4 Caractersticas de programacin adicionales de Silverlight ...................................... 36 Captulo 3 ............................................................................................................................... 38 Protocolo TCP/IP ..................................................................................................................... 38 3.1 Protocolo TCP/IP ........................................................................................................... 39 3.2 TCP (Transmission Control Protocol). ............................................................................. 40 ii | P g i n a
3.2.1 Formato de la cabecera TCP.................................................................................... 40 3.3 UDP (User Datagram Protocol) ...................................................................................... 41 3.4 ICMP (Internet Control Message Protocol) .................................................................... 42 3.5 IP (Internet Protocol) versin 4. ..................................................................................... 42 3.5.1 Organizacin de la cabecera IP................................................................................ 43 3.6 IP (Internet Protocol) versin 6. ..................................................................................... 45 Captulo 4 ............................................................................................................................... 48 Hardware ................................................................................................................................ 48 4.1 Descripcin ................................................................................................................... 49 4.2 IP Power Aviosys 9212 ............................................................................................... 49 4.2.1 Funcionamiento...................................................................................................... 53 4.2.2 Funcionamiento del IP Power 9212 ......................................................................... 53 4.2.3 IP Power 9201 (Entradas) ........................................................................................ 60 4.2.4 IP Power 9202 (Salidas)........................................................................................... 62 4.3 Diagrama de conexiones elctricas de nuestra interfaz .............................................. 64 4.4 Mdulo de control .................................................................................................... 65 4.5 Mdulo de Monitoreo ............................................................................................... 68 Captulo 5 .............................................................................................................................. 75 Diseo del Software ................................................................................................................ 75 5.1 Servidor Web ................................................................................................................ 77 5.1.1 Configuracin de IIS ................................................................................................ 78 5.2 Programacin general de la aplicacin:.......................................................................... 80 Diseo de la Biblioteca de Clases ......................................................................................... 80 5.3 Desarrollo de aplicacin Web ASP.NET .......................................................................... 85 5.3.1 Desarrollo de los objetos Silverlight ............................................................................ 87 5.3.2 Ejemplo: Indicador de Barras de Temperatura ........................................................ 88 5.4 Programacin del microcontrolador MSP430 F2012 ...................................................... 90 5.4.1 Programa sensor de temperatura .......................................................................... 90 Captulo 6 .............................................................................................................................. 95 Estudio Econmico.................................................................................................................. 95 Conclusiones ......................................................................................................................... 102 Bibliografa ........................................................................................................................... 103 Anexo 1 Conexiones del Prototipo ............................................................................. 105 Anexo 2 Conexin de la Red ....................................................................................... 106 iii | P g i n a
Anexo 3 Biblioteca de clases para comunicarse con el IP Power ................................. 107 Anexo 4 Hojas de Datos ............................................................................................. 110 Anexo 5 ndice de Ilustraciones .................................................................................. 125 Anexo 6 ndice de Tablas y Diagramas........................................................................ 126
iv | P g i n a
Objetivo General:
Desarrollar una aplicacin cliente servidor que permita a distintos usuarios, realizar actividades de control y monitoreo en un CENTRO DE CMPUTO, de forma remota y desde cualquier parte del mundo utilizando tecnologa .NET.
v | P g i n a
Objetivos Particulares:
-Controlar y monitorear diferentes procesos, tales como: condiciones ambientales de temperatura, acceso de personal, seguridad y vigilancia en un centro de cmputo. -Crear una interfaz utilizando Silverlight que presente un ambiente virtual y amigable para el usuario, de manera que ste pueda comandar y revisar los dispositivos que se encuentran conectados al sistema de control, sin necesidad de estar en el lugar donde se encuentran los mismos. -Desarrollar herramientas para la generacin automtica y peridica de reportes acerca del estado del sistema, con la finalidad de conocer su rendimiento, y de esta forma realizar alguna accin en especfico sobre ste.
vi | P g i n a
Justificacin:
Hoy en da las tecnologas de la informacin, han cobrado una importancia enorme a tal grado de ser vitales para el funcionamiento de la vida, tal cual la conocemos, facilitando una gran parte de las tareas cotidianas del ser humano, y fortaleciendo otras que sin su ayuda tarde o temprano conllevaran a un desastre, que podra haber sido prevenido si se hubiera tenido conocimiento del mismo, y se aplicaran medidas para corregirlo. Dicho desastre no slo se refiere a prdidas fsicas, sino a prdidas en informacin que en la actualidad tiene un valor incalculable. Particularmente estamos hablando de un sistema de monitoreo a distancia, que aunque en los ltimos aos se han desarrollado diferentes modelos, an no se ha logrado tener un control total sobre algn proceso en particular, que adems de permitir a un usuario localizado en cualquier parte del mundo ingresar al mismo, y verificar que todos los procesos se lleven a cabo normalmente y sin ningn tipo de contratiempo, sea capaz de prevenir ciertas situaciones vulnerables. Quiz la principal ventaja de un sistema de esta magnitud, es que adems de pertenecer a un mercado relativamente nuevo su implementacin, sea barato debido a que est basado en mayor parte en informacin, y es implementado sobre una va accesible desde cualquier parte del mundo: Internet.
vii | P g i n a
Introduccin
Los sistemas de control segn la Teora Ciberntica se aplican en esencia para los organismos vivos, las mquinas y las organizaciones. En este proyecto, el sistema de control estar volcado a la electrnica-informtica. Estos sistemas fueron relacionados por primera vez en 1948 por Norbert Wiener en su obra Ciberntica y sociedad, con aplicacin en la teora de los mecanismos de control. Un sistema de control est definido como un conjunto de componentes, que pueden regular su propia conducta o la de otro sistema, con el fin de lograr un funcionamiento predeterminado. Para ello usaremos Internet, que es una red mundial de computadoras interconectadas con un conjunto de protocolos, el ms destacado, el TCP/IP para poder realizar el control y monitoreo a distancia del centro de cmputo, a travs de una interfaz Web que a su vez se encontrar en un servidor, y nos permitir acceder a ella desde cualquier lugar que nos encontremos, y tengamos acceso a una cuenta de Internet. Antecedentes Se define como un mando a distancia o control remoto, a un dispositivo electrnico que permite realizar operaciones remotas, se considera que el creador de este fue el Ing. Nikola Tesla, al presentar en el ao de 1898 el primer bote del mundo conducido a control remoto. Posterior al invento de Tesla vinieron ms ejemplos de mando a distancia, destacando el Telekino, desarrollado por Leonardo Torres Quevedo en 1903, el cual consista en un autmata que ejecutaba rdenes transmitidas mediante ondas hertzianas, posteriormente con la llegada de la segunda guerra mundial, se llev a cabo el uso de esta tecnologa para propsitos militares, siendo un resultado de esto el misil alemn Wasserfall. Despus de la segunda guerra mundial, se comenzaron a desarrollar con mayor frecuencia aplicaciones de mando a distancia, como fue el primer artilugio para controlar remotamente una televisin a principios de 1950, el cual usaba cables para conectarse a la televisin, apareciendo en el ao de 1955 la mejora de este ltimo, que result en un control remoto sin cables llamado Flashmatic, el cual funcionaba enviando un rayo de luz a una celda fotoelctrica . En 1956, Robert Adler desarrollo el Zenith Space Command, siendo ste un control sin cables que utilizaba ultrasonidos para poder cambiar de canal y volumen, el impulso para un tipo ms complejo de mando a distancia vino a finales de los 70, con el desarrollo del servicio de teletexto Ceefax por la BBC, lo cual marco la pauta para que se diera el desarrollo de los controles remotos que conocemos hoy en da, y siendo stos el ejemplo ms claro de lo que es el mando a distancia.
Ilustracin 1 - Mando a distancia de un televisor viii | P g i n a
Tipos de mandos a distancia Los mandos a distancia no se limitan a controles remotos para televisiones, los podemos encontrar para otros tipos de dispositivos, como modelos a escala de aviones, coches o robots que llevan a cabo tareas peligrosas y requieren ser controlados remotamente. Tambin existen mandos a distancia que combinan diversos controles en uno, llamados controles universales ,los cuales con el paso del tiempo ha sido implementados con mayor frecuencia, debido a las ventaja que stos presentan de poder controlar por medio de un slo control diversos procesos , el siguiente paso en los mandos a distancia son los paneles de control domstico, que permiten controlar diversos aparatos electrnicos como cortinas , luces e incluso algunos electrodomsticos entre los ms comunes , hay que mencionar que la implementacin de este tipo de mandos es lo que se conoce como Domtica. Aplicaciones
El uso de mandos a distancia hoy en da se ha vuelto algo muy comn, y es posible encontrar aplicaciones de esto en diversas reas, como se menciona a continuacin:
- Industria El control remoto es usado para operar subestaciones, centrales hidroelctricas reversibles y plantas HVDC ,para estos sistemas se suelen usar PLCs de baja frecuencia.
- Aplicaciones militares El mando a distancia ha sido muy utilizado para controlar tanques, naves y misiles principalmente, teniendo su mayor aplicacin en la segunda guerra mundial.
- Astronutica La tecnologa por control remoto tambin es usada en los viajes en el espacio. Un ejemplo de esto fue en el programa Ruso Lunokhod, donde los vehculos eran accionados por control remoto.
- Videojuegos Una de las industrias ms poderosas de la actualidad tambin ha hecho uso del mando a distancia, encontrando actualmente controles almbricos como lo eran tradicionalmente, hasta controles inalmbricos para consolas de ltima generacin como PlayStation 3, Xbox 360 y Wii. 1 | P g i n a
Captulo 1 Marco Terico
2 | P g i n a
1.1 Domtica y Edificios Inteligentes Al ser nuestro proyecto un control a distancia, lo primero que viene a nuestra mente es hablar de Domtica, y su aplicacin ms comn hoy en da que son los edificios inteligentes, por este motivo definiremos esto trminos con la finalidad de estar ms familiarizados, con el tipo de trabajo que se desarrolla a lo largo de esta tesis. 1.1.1 Domtica El trmino Domtica surgi en Francia originario de la palabra Domotique, la cual es resultado de la contraccin entre las palabras domo e informatique, se ha definido el trmino Domtica, como: "el concepto de vivienda que integra todos los automatismos en materia de seguridad, gestin de la energa, comunicaciones, etc.". Es decir, el objetivo es asegurar al usuario de la vivienda un aumento del confort, de la seguridad, del ahorro energtico y de las facilidades de comunicacin. Domtica es el trmino "cientfico" que se utiliza para denominar la parte de la tecnologa (electrnica e informtica), que integra el control y supervisin de los elementos existentes en un edificio de oficinas, o en uno de viviendas o simplemente en cualquier hogar. Tambin, un trmino muy familiar para todos es el de "edificio inteligente", que aunque viene a referirse a la misma cosa, normalmente tendemos a aplicarlo ms al mbito de los grandes bloques de oficinas, bancos, universidades y edificios industriales. El uso de las TIC (Tecnologas de la Informacin y las Comunicaciones) en la vivienda, genera nuevas aplicaciones y tendencias basadas en la capacidad de proceso de informacin, y en la integracin y comunicacin entre los equipos e instalaciones. As concebida, una vivienda inteligente puede ofrecer una amplia gama de aplicaciones en reas, tales como: Seguridad Gestin de la energa Automatizacin de tareas domsticas Formacin, cultura y entretenimiento Monitorizacin de salud Comunicacin con servidores externos Ocio y entretenimiento Operacin y mantenimiento de las instalaciones
La definicin de vivienda Domtica o inteligente presenta mltiples versiones y matices. Tambin aqu son diversos los trminos utilizados en distintas lenguas: "casa inteligente" (smart house), automatizacin de viviendas (home automation), Domtica (domotique), sistemas domsticos (home systems), etc. De una manera general, un sistema domtico dispondr de una red de comunicacin que permite la interconexin de una serie de equipos, a fin de obtener informacin sobre el entorno domstico y, basndose en sta, realizar unas determinadas acciones sobre dicho entorno. Los elementos de campo (detectores, sensores, captadores, actuadores), transmitirn las seales a una unidad central inteligente que tratar y elaborar la informacin recibida. En funcin de dicha informacin y de una determinada programacin, la unidad central actuar 3 | P g i n a
sobre determinados circuitos de potencia relacionados con las seales recogidas, por los elementos de campo correspondientes. En este sentido, una vivienda Domtica se puede definir como: "aquella vivienda en la que existen agrupaciones automatizadas de equipos, normalmente asociados por funciones, que disponen de la capacidad de comunicarse interactivamente entre s, de un bus domstico multimedia que las integra".
Ilustracin 2 - Ejemplo de Domtica en un hogar 1.1.2Administracin de la Domtica La Domtica se encarga de administrar principalmente los siguientes cuatro aspectos del hogar: Energa elctrica: En este campo, la Domtica se encarga de gestionar el consumo de energa, mediante temporizadores, relojes programadores, termostatos, etc. Tambin se aprovecha de la tarifa nocturna, mediante acumuladores de carga. Confort: La Domtica nos proporciona una serie de comodidades, como pueden ser el control automtico de los servicios de: Calefaccin, Agua caliente, Refrigeracin, Iluminacin y la gestin de elementos como accesos, persianas, toldos, ventanas, riego automtico, etc. Seguridad: La seguridad que nos proporciona un sistema domtico, es ms amplia que la que nos puede proporcionar cualquier otro sistema, pues integra tres campos de la seguridad que normalmente estn controlados por sistemas distintos: Seguridad de los bienes: Gestin del control de acceso y control de presencia, as como la simulacin de presencia. Alarmas ante intrusiones. Seguridad de las personas: Especialmente, para las personas mayores y los enfermos. Mediante el nodo telefnico, se puede tener acceso (mediante un pulsador radiofrecuencia que se lleve encima, por ejemplo) a los servicios de ambulancias, polica, etc. Incidentes y averas: Mediante sensores, se pueden detectar los incendios y las fugas de gas y agua, y, mediante el nodo telefnico, desviar la alarma hacia los bomberos, por ejemplo.
Tambin se pueden detectar averas en los accesos, en los ascensores, etc. 4 | P g i n a
Comunicaciones: Este aspecto es imprescindible para acceder a multitud de servicios ofrecidos por los operadores de telecomunicaciones. La Domtica tiene una caracterstica fundamental, que es la integracin de sistemas, por eso hay nodos (pasarela residencial) que interconectan la red Domtica con diferentes dispositivos, como Internet, la red telefnica, etc. 1.1.3Descripcin de un sistema domtico Para poder clasificar tcnicamente un sistema de automatizacin de viviendas, es necesario tener claros una serie de conceptos tcnicos, como son: tipo de arquitectura, medio de transmisin, velocidad de transmisin y protocolo de comunicaciones. Tipo de Arquitectura
Arquitectura distribuida: La arquitectura de un sistema domtico, como la de cualquier sistema de control, especifica el modo en que los diferentes elementos de control del sistema se van a ubicar. Existen dos arquitecturas bsicas: la arquitectura centralizada y la distribuida. Arquitectura centralizada: Es aquella en la que los elementos a controlar y supervisar (sensores, luces, vlvulas, etc.), han de cablearse hasta el sistema de control de la vivienda (PC o similar). El sistema de control es el corazn de la vivienda, en cuya falta todo deja de funcionar, y su instalacin no es compatible con la instalacin elctrica convencional, en cuanto que en la fase de construccin hay que elegir esta topologa de cableado. Hay sistemas que son de arquitectura distribuida en cuanto a la capacidad de proceso, pero no lo son en cuanto a la ubicacin fsica de los diferentes elementos de control y viceversa, sistemas que son de arquitectura distribuida, en cuanto a su capacidad para ubicar elementos de control fsicamente distribuidos, pero no en cuanto a los procesos de control, que son ejecutados en uno o varios procesadores fsicamente centralizados. En los sistemas de arquitectura distribuida que utilizan como medio de transmisin el cable, existe un concepto a tener en cuenta que es la topologa de la red de comunicaciones. La topologa de la red se define como la distribucin fsica de los elementos de control, respecto al medio de comunicacin (cable). Cada elemento del sistema tiene su propia capacidad de proceso, y puede ser ubicado en cualquier parte de la vivienda. Esta caracterstica proporciona al instalador domtico una libertad de diseo, que le posibilita adaptarse a las caractersticas fsicas de cada vivienda en particular. Medio de Transmisin
En todo sistema domtico con arquitectura distribuida, los diferentes elementos de control deben intercambiar informacin unos con otros, a travs de un soporte fsico (par trenzado, lnea de potencia o red elctrica, radio, infrarrojos, etc.). A continuacin enumeramos los siguientes tipos de medios: 1) Lneas de Distribucin de Energa Elctrica (Corrientes portadoras) Si bien no es el medio ms adecuado para la transmisin de datos, es una alternativa a tener en cuenta para las comunicaciones domsticas, dado el bajo costo que implica su uso, esto debido a que se trata de una instalacin existente por lo que es nulo el costo de la instalacin, y adems muy fcil el conexionado. 5 | P g i n a
Para aquellos casos en los que las necesidades del sistema no impongan requerimientos muy exigentes, en cuanto a la velocidad de transmisin, la lnea de distribucin de energa elctrica puede ser suficiente como soporte de dicha transmisin.
2) Soportes Metlicos La infraestructura de las redes de comunicacin actuales, tanto pblicas como privadas, tiene en un porcentaje muy elevado, cables metlicos de cobre como soporte de transmisin de las seales elctricas que procesa. En general se pueden distinguir dos tipos de cables metlicos: a. Par Metlico Los cables formados por varios conductores de cobre, pueden dar soporte a un amplio rango de aplicaciones en el entorno domstico. Este tipo de cables pueden transportar voz, datos y alimentacin de corriente continua. Los denominados cables de pares, estn formados por cualquier combinacin de los tipos de conductores que a continuacin se detallan: 1. Cables formados por un slo conductor con un aislamiento exterior plstico, como los utilizados para la transmisin de las seales telefnicas. 2. Par de cables, cada uno de los cables est formado por un arrollamiento helicoidal de varios hilos de cobre. (Por ejemplo, los utilizados para la distribucin de seales de audio.). 3. Par apantallado, formado por dos hilos recubiertos por un trenzado conductor en forma de malla, cuya misin consiste en aislar las seales que circulan por los cables, de las interferencias electromagnticas exteriores. (Por ejemplo, los utilizados para la distribucin de sonido de alta fidelidad o datos). 4. Par trenzado, est formado por dos hilos de cobre recubiertos cada uno por un trenzado en forma de malla. El trenzado es un medio para hacer frente a las interferencias electromagnticas. (Por ejemplo, los utilizados para interconexin de ordenadores).
b. Coaxial Un par coaxial es un circuito fsico asimtrico, constituido por un conductor filiforme que ocupa el eje longitudinal del otro conductor en forma de tubo, mantenindose la separacin entre ambos mediante un dielctrico apropiado. Este tipo de cables permite el transporte de las seales de video y seales de datos a alta velocidad. Dentro del mbito de la vivienda, el cable coaxial puede ser utilizado como soporte de transmisin, para: - Seales de teledifusin que provienen de las antenas (red de distribucin de las seales de TV y FM). - Seales procedentes de las redes de TV por cable. - Seales de control y datos a media y baja velocidad.
6 | P g i n a
3) Fibra ptica La fibra ptica es el resultado de combinar dos disciplinas no relacionadas, como son la tecnologa de semiconductores (que proporciona los materiales necesarios para las fuentes y los detectores de luz), y la tecnologa de guiado de ondas pticas (que proporciona el medio de transmisin, el cable de fibra ptica). La fibra ptica est constituida por un material dielctrico transparente, conductor de luz, compuesto por un ncleo con un ndice de refraccin menor que el del revestimiento, que envuelve a dicho ncleo. Estos dos elementos forman una gua para que la luz se desplace por la fibra. La luz transportada es generalmente infrarroja, y por lo tanto no es visible por el ojo humano. A continuacin se detallan sus ventajas e inconvenientes: o Fiabilidad en la transferencia de datos. o Inmunidad frente a interferencias electromagnticas y de radiofrecuencias. o Alta seguridad en la transmisin de datos. o Distancia entre los puntos de la instalacin limitada, en el entorno domstico estos problemas no existen. o Elevado costo de los cables y las conexiones. o Transferencia de gran cantidad de datos: 4) Conexin sin hilos a. Infrarrojos El uso de mandos a distancia basados en transmisin por infrarrojos, est ampliamente extendida en el mercado residencial para telecomandar equipos de Audio y Vdeo. La comunicacin se realiza entre un diodo emisor que emite una luz en la banda de IR, sobre la que se superpone una seal, convenientemente modulada con la informacin de control, y un fotodiodo receptor, cuya misin consiste en extraer de la seal recibida la informacin de control. Los controladores de equipos domsticos basados en la transmisin de ondas en la banda de los infrarrojos, presentan gran comodidad y flexibilidad y admiten un gran nmero de aplicaciones. Al tratarse de un medio de transmisin ptico, es inmune a las radiaciones electromagnticas producidas por los equipos domsticos, o por los dems medios de transmisin (coaxial, cables pares, red de distribucin de energa elctrica, etc.). Sin embargo, habr que tomar precauciones en el caso de las interferencias electromagnticas, que pueden afectar a los extremos del medio. b. Radiofrecuencias La introduccin de las radiofrecuencias como soporte de transmisin en la vivienda, ha venido precedida por la proliferacin de los telfonos inalmbricos y sencillos telemandos. Este medio de transmisin puede parecer, en principio, idneo para el control a distancia de los sistemas domticos, dada la gran flexibilidad que supone su uso. Sin embargo, resulta particularmente sensible a las perturbaciones electromagnticas producidas, tanto por los medios de transmisin, como por los equipos domsticos. 7 | P g i n a
Las ventajas e inconvenientes de los sistemas basados en transmisin por radiofrecuencias, son: o Alta sensibilidad a las interferencias. o Fcil interceptacin de las comunicaciones. o Dificultas para la integracin de las funciones de control y comunicacin, en su modalidad de transmisin analgica. Protocolo de comunicaciones
Una vez establecido el soporte fsico y la velocidad de comunicaciones, un sistema domtico se caracteriza por el protocolo de comunicaciones que utiliza, que no es otra cosa que el idioma o formato de los mensajes, que los diferentes elementos de control del sistema deben utilizar para entenderse unos con otros, y que puedan intercambiar su informacin de una manera coherente. Dentro de los protocolos existentes, se puede realizar una primera clasificacin atendiendo a su estandarizacin: Protocolos estndar. Los protocolos estndar son los que de alguna manera son utilizados ampliamente por diferentes empresas, y stas fabrican productos que son compatibles entre s, como son el X-10, el EHS, el EIB y el BatiBus. Protocolos propietarios. Son aquellos que, desarrollados por una empresa, slo son capaces de comunicarse entre s.
Descripcin del tipo de nodos
Una red Domtica de arquitectura distribuida, est compuesta por una serie de nodos que se conectan unos con otros, a travs del bus de comunicaciones, el cual lleva dos hilos para datos y dos para la alimentacin. As tenemos: Nodos de control estndar: son los encargados de controlar los parmetros de cada estancia. Cada uno soporta dos circuitos independientes de conmutacin y dos entradas extra para sensores. La funcionalidad del nodo depende del programa que se cargue en el nodo. Nodos de supervisin: son nodos dedicados a realizar la interfaz con el usuario. Cada funcin que el usuario necesita para supervisar y controlar el sistema, est implementada en el correspondiente nodo. De esta manera, el usuario puede elegir para su vivienda las funciones que considere necesarias. Nodos exteriores: se agrupan aquellos que siendo de uso dedicado, se instalan en el exterior de la vivienda. Dentro de ellos podemos destacar el nodo de sirena exterior y el nodo medidor de luz exterior. Nodos de comunicaciones: Son nodos dedicados especficamente a soportar la red de comunicaciones de la vivienda.
8 | P g i n a
1.2 Clasificacin de los Sistemas de Control Los sistemas de control se pueden clasificar en dos grupos, los sistemas de control a lazo abierto y los sistemas de control a lazo cerrado. A) Sistema de control de lazo abierto: Es aquel sistema en el que la accin de control est muy relacionada con la entrada, pero su efecto es independiente de la salida. Estos sistemas se caracterizan por: Tienen la capacidad para poder establecerles (calibrar) una relacin entre la entrada y la salida, con el fin de lograr la exactitud deseada. No tienen el problema de la inestabilidad. B) Sistema de control de lazo cerrado: Son los sistemas en los que la accin de control est en cierto modo muy dependiente de la salida. Estos sistemas se caracterizan por su propiedad de retroalimentacin. 1.2.1 Caractersticas de un Sistema de Control a. Seal de corriente de entrada: Considerada como estmulo aplicado a un sistema desde una fuente de energa externa, con el propsito de que el sistema produzca una respuesta especfica. b. Seal de corriente de salida: Respuesta obtenida por el sistema que puede o no relacionarse con la respuesta que implicaba la entrada. c. Variable Manipulada: Es el elemento al cual se le modifica su magnitud, para lograr la respuesta deseada. d. Variable Controlada: Es el elemento que se desea controlar. e. Conversin: Mediante receptores se generan las variaciones o cambios que se producen en la variable. f. Variaciones externas: Son los factores que influyen en la accin de producir un cambio de orden correctivo. g. Fuente de energa: Es la que entrega la energa necesaria para generar cualquier tipo de actividad dentro del sistema. h. Retroalimentacin: La retroalimentacin es una caracterstica importante de los sistemas de control de lazo cerrado. Es una relacin secuencial de causas y efectos entre las variables del sistema. Dependiendo de la accin correctiva que tome el sistema, ste puede apoyar o no una decisin, cuando en el sistema se produce un retorno, se dice que hay una retroalimentacin negativa; si el sistema apoya la decisin inicial, se dice que hay una retroalimentacin positiva.
9 | P g i n a
1.3 Arquitectura de Internet Internet es una red mundial de computadoras interconectadas con un conjunto de protocolos, el ms destacado, el TCP/IP. Aparece por primera vez en 1960. Tambin se usa este nombre como sustantivo comn y por tanto en minsculas, para designar a cualquier red de redes que use las mismas tecnologas que Internet, independientemente de su extensin o de que sea pblica o privada. Cuando se dice red de redes, se hace referencia a que es una red formada por la interconexin de otras redes menores. Al contrario de lo que se piensa comnmente, Internet no es sinnimo de World Wide Web. sta es parte de Internet, siendo la World Wide Web uno de los muchos servicios ofertados en la red Internet. La Web es un sistema de informacin mucho ms reciente (1995), que emplea Internet como medio de transmisin. Algunos de los servicios disponibles en Internet aparte de la Web, son el acceso remoto a otras mquinas (SSH y telnet), transferencia de archivos (FTP), correo electrnico (SMTP), boletines electrnicos (news o grupos de noticias), conversaciones en lnea (IRC y chats), mensajera instantnea, transmisin de archivos (P2P, P2M, Descarga Directa), etc. Todo lo anterior ser la base de nuestro proyecto, dado que utilizando tres o ms capas de una aplicacin de servicios Web, a distancia se controlarn dispositivos perifricos para realizar tareas de vigilancia, control y monitoreo de los procesos que se llevan a cabo dentro de un "cuarto de cmputo".
10 | P g i n a
1.4 Microcontroladores
Un microcontrolador, es un circuito integrado o chip que incluye en su interior las tres unidades funcionales de una computadora: CPU, Memoria y Unidades de E/S
Ilustracin 3 - Microcontrolador de montaje superficial
Caractersticas Son diseados para disminuir el costo econmico y el consumo de energa de un sistema en particular. Por eso el tamao de la CPU, la cantidad de memoria y los perifricos incluidos dependern de la aplicacin. El control de un electrodomstico sencillo como una batidora, utilizar un procesador muy pequeo (4 u 8 bits), por que sustituir a un autmata finito. En cambio un reproductor de msica y/o vdeo digital (mp3 o mp4), requerir de un procesador de 32 bits o de 64 bits y de uno o ms Cdec de seal digital (audio y/o vdeo). El control de un sistema de frenos ABS (Antilock Brake System), se basa normalmente en un microcontrolador de 16 bit, al igual que el sistema de control electrnico del motor en un automvil.
Ilustracin 4 - Esquema de un microcontrolador 11 | P g i n a
Los microcontroladores representan la inmensa mayora de los chips de computadoras vendidos, sobre un 50% son controladores "simples" y el restante corresponde a D 1 SPs ms especializados. Mientras se pueden tener uno o dos microprocesadores de propsito general en casa. Usted tiene distribuidos seguramente entre los electrodomsticos de su hogar, una o dos docenas de microcontroladores. Pueden encontrarse en casi cualquier dispositivo electrnico como automviles, lavadoras, hornos microondas, telfonos, etc. Un microcontrolador difiere de una CPU normal, debido a que es ms fcil convertirla en una computadora en funcionamiento, con un mnimo de chips externos de apoyo. La idea es que el chip se coloque en el dispositivo, enganchado a la fuente de energa y de informacin que necesite, y eso es todo. Un microprocesador tradicional no le permitir hacer esto, ya que espera que todas estas tareas sean manejadas por otros chips. Hay que agregarle los mdulos de entrada/salida (puertos) y la memoria para almacenamiento de informacin. Por ejemplo, un microcontrolador tpico tendr un generador de reloj integrado, y una pequea cantidad de memoria RAM y ROM/EPROM/EEPROM/FLASH, significando que para hacerlo funcionar, todo lo que se necesita son unos pocos programas de control y un cristal de sincronizacin. Los microcontroladores disponen generalmente tambin de una gran variedad de dispositivos de entrada/salida, como convertidores de analgico a digital, temporizadores, UARTs y buses de interfaz serie especializados, como I 2 C y CAN. Frecuentemente, estos dispositivos integrados, pueden ser controlados por instrucciones de procesadores especializados. Los microcontroladores modernos, frecuentemente incluyen un lenguaje de programacin integrado, como el BASIC que se utiliza bastante con este propsito. Los microcontroladores negocian la velocidad y la flexibilidad para facilitar su uso. Debido a que se utiliza bastante sitio en el chip para incluir funcionalidad, como los dispositivos de entrada/salida o la memoria que incluye el microcontrolador, se ha de prescindir de cualquier otra circuitera. Estructura bsica de un microcontrolador Un microcontrolador es un encapsulado de circuito integrado, con su procesador (CPU), buses, memoria, perifricos y puertos de entrada salida. Fuera del encapsulado se ubican otros circuitos para completar perifricos internos y dispositivos, que pueden conectarse a las patas de entrada/salida. Tambin se conectarn a las patas del encapsulado, la alimentacin, masa, circuito de acoplamiento del oscilador y otros circuitos necesarios para que el microcontrolador pueda trabajar. Ncleo de un microcontrolador An cuando el microcontrolador es una computadora embebida dentro de un circuito integrado, se compone de un ncleo y un conjunto de circuitos adicionales. Dentro del ncleo se encuentran el procesador y la memoria, todo ello estructurado de forma tal que conforme una arquitectura de computadora.
1 Un DSP es un procesador digital de seales 12 | P g i n a
Arquitecturas Bsicamente existen dos arquitecturas de computadoras, y por supuesto, estn presentes en el mundo de los microcontroladores: Von Neumann y Harvard. Ambas se diferencian en la forma de conexin de la memoria al procesador y en los buses que cada una necesita. La arquitectura Von Neumann es la que se utiliza en las computadoras personales, para ella existe una sola memoria, donde coexisten las instrucciones de programa y los datos, accedidos con un bus de direccin, uno de datos y uno de control. Debemos comprender que en una PC, cuando se carga un programa en memoria, a ste se le asigna un espacio de direcciones de la memoria que se divide en segmentos, de los cuales tpicamente tenderemos los siguientes: cdigo (programa), datos y pila. Es por ello que podemos hablar de la memoria como un todo, aunque existan distintos dispositivos fsicos en el sistema (HDD, RAM, CD, FLASH). En el caso de los microcontroladores, existen dos tipos de memoria bien definidas: memoria de datos (tpicamente algn tipo de SRAM), y memoria de programas (ROM, PROM, EEPROM, FLASH u de otro tipo no voltil). En este caso la organizacin es distinta a las de las PC, porque hay circuitos distintos para cada memoria y normalmente no se utilizan los registros de segmentos, sino que la memoria est separada y el acceso a cada tipo de memoria depende de las instrucciones del procesador. A pesar de que en los sistemas embebidos con arquitectura Von Neumann la memoria est segregada, y existan diferencias con respecto a la definicin tradicional de esta arquitectura; los buses para acceder a ambos tipos de memoria son los mismos, del procesador solamente salen el bus de datos, el de direcciones, y el de control. Como conclusin, la arquitectura no ha sido alterada, porque la forma en que se conecta la memoria al procesador sigue el mismo principio definido en la arquitectura bsica. Esta arquitectura es la variante adecuada para las PC, porque permite ahorrar una buena cantidad de lneas de E/S, que son bastante costosas, sobre todo para aquellos sistemas como las PC, donde el procesador se monta en algn tipo de socket alojado en una placa madre (motherboard). Tambin esta organizacin les ahorra a los diseadores de motherboards, una buena cantidad de problemas y reduce el costo de este tipo de sistemas. Algunas familias de microcontroladores como la INTEL-51 y la Z80 implementan este tipo de arquitectura, fundamentalmente porque era la utilizada cuando aparecieron los primeros microcontroladores. La otra variante es la arquitectura Harvard, y por excelencia la utilizada en supercomputadoras, en los microcontroladores, y sistemas embebidos en general. En este caso, adems de la memoria, el procesador tiene los buses separados, de modo que cada tipo de memoria tiene un bus de datos, uno de direcciones y uno de control.
La ventaja fundamental de esta arquitectura, es que permite adecuar el tamao de los buses a las caractersticas de cada tipo de memoria; adems, el procesador puede acceder a cada una de ellas de forma simultnea, lo que se traduce en un aumento significativo de la velocidad de procesamiento, tpicamente los sistemas con esta arquitectura pueden ser dos veces ms rpidos, que sistemas similares con arquitectura Von Neumann. 13 | P g i n a
La desventaja est en que consume muchas lneas de E/S del procesador; por lo que en sistemas donde el procesador est ubicado en el encapsulado, slo se utilizan en supercomputadoras. Sin embargo, en los microcontroladores y otros sistemas embebidos, donde usualmente la memoria de datos y programas comparten el mismo encapsulado que el procesador, este inconveniente deja de ser un problema serio, y es por ello que encontramos la arquitectura Harvard en la mayora de los microcontroladores. Registros Son un espacio de memoria muy reducido pero necesario para cualquier microprocesador, de aqu se toman los datos para varias operaciones que debe realizar el resto de los circuitos del procesador. Los registros sirven para almacenar los resultados de la ejecucin de instrucciones, cargar datos desde la memoria externa o almacenarlos en ella. Aunque la importancia de los registros parezca trivial, no lo es en absoluto. De hecho una parte de los registros, la destinada a los datos, es la que determina uno de los parmetros ms importantes de cualquier microprocesador. Cuando escuchamos que un procesador es de 4, 8, 16, 32 64 bits, nos estamos refiriendo a procesadores que realizan sus operaciones con registros de datos de ese tamao, y por supuesto, esto determina muchas de las potencialidades de estas mquinas. Mientras mayor sea el nmero de bits de los registros de datos del procesador, mayores sern sus prestaciones, en cuanto a poder de cmputo y velocidad de ejecucin, ya que este parmetro, determina la potencia que se puede incorporar al resto de los componentes del sistema, por ejemplo, no tiene sentido tener una ALU de 16 bits en un procesador de 8 bits. Por otro lado un procesador de 16 bits, puede que haga una suma de 16 bits en un slo ciclo de mquina, mientras que uno de 8 bits deber ejecutar varias instrucciones antes de tener el resultado, an cuando ambos procesadores tengan la misma velocidad de ejecucin para sus instrucciones. El procesador de 16 bits ser ms rpido porque puede hacer el mismo tipo de tareas que uno de 8 bits, en menos tiempo. Unidad de control
Esta unidad es de las menos importantes en el procesador, en ella recae la lgica necesaria para la decodificacin y ejecucin de las instrucciones, el control de los registros, la ALU 2 , los buses, etc. La unidad de control es uno de los elementos fundamentales que determinan las prestaciones del procesador, ya que su tipo y estructura, determina parmetros tales como el tipo de conjunto de instrucciones, velocidad de ejecucin, tiempo del ciclo de mquina, tipo de buses que puede tener el sistema, manejo de interrupciones y muchas cosas ms. Por supuesto, las unidades de control, son el elemento ms complejo de un procesador y normalmente estn divididas en unidades ms pequeas trabajando de conjunto. La unidad de control agrupa componentes, tales como la unidad de decodificacin, unidad de ejecucin, controladores de memoria cache, controladores de buses, controladores de interrupcin, pipelines, entre otros elementos, dependiendo siempre del tipo de procesador.
2 ALU es la unidad aritmtico-lgica 14 | P g i n a
Unidad aritmtica y lgica
Como los procesadores son circuitos que hacen bsicamente operaciones lgicas y matemticas, se le dedica a este proceso una unidad completa, con cierta independencia. Aqu es donde se realizan las sumas, restas, y operaciones lgicas, tpicas del lgebra de Boole. Actualmente este tipo de unidades ha evolucionado mucho y los procesadores ms modernos tienen varias ALU, especializadas en la realizacin de operaciones complejas como las operaciones en coma flotante. De hecho en muchos casos, le han cambiado su nombre por el de coprocesador matemtico, aunque este es un trmino que surgi para dar nombre a un tipo especial de procesador, que se conecta directamente al procesador ms tradicional. Su impacto en las prestaciones del procesador es tambin importante porque, dependiendo de su potencia, tareas ms o menos complejas, pueden hacerse en tiempos muy cortos, como por ejemplo, los clculos en coma flotante.
Buses Son el medio de comunicacin, que utilizan los diferentes componentes del procesador para intercambiar informacin entre s, eventualmente los buses o una parte de ellos estarn reflejados en las patas del encapsulado del procesador. En el caso de los microcontroladores, no es comn que los buses estn reflejados en el encapsulado del circuito, ya que stos se destinan bsicamente a las E/S de propsito general y perifricos del sistema. Existen tres tipos de buses: Direccin: Se utiliza para seleccionar al dispositivo con el cual se quiere trabajar o en el caso de las memorias, seleccionar el dato que se desea leer o escribir. Datos de Control: Se utilizan para gestionar los distintos procesos de escritura, lectura y controlar la operacin de los dispositivos del sistema.
Conjunto de instrucciones Define las operaciones bsicas que puede realizar el procesador, que conjugadas y organizadas forman lo que conocemos como software. El conjunto de instrucciones vienen siendo como las letras del alfabeto, el elemento bsico del lenguaje, que organizadas adecuadamente permiten escribir palabras, oraciones y cuanto programa se le ocurra. Existen dos tipos bsicos de repertorios de instrucciones, que determinan la arquitectura del procesador: CISC y RISC.
15 | P g i n a
CISC, del ingls Complex Instruction Set Computer, Computadora de Conjunto de Instrucciones Complejo. Los microprocesadores CISC, tienen un conjunto de instrucciones que se caracteriza por ser muy amplio y que permiten, realizar operaciones complejas entre operandos situados en la memoria o en los registros internos. Este tipo de repertorio dificulta el paralelismo entre instrucciones, por lo que en la actualidad, la mayora de los sistemas CISC de alto rendimiento, convierten las instrucciones complejas en varias instrucciones simples del tipo RISC. Dentro de los microcontroladores CISC podemos encontrar a la popular familia INTEL -51 y la Z80, aunque actualmente existen versiones CISC-RISC de estos microcontroladores, que pretenden aprovechar las ventajas de los procesadores RISC, a la vez que se mantiene la compatibilidad hacia atrs con las instrucciones de tipo CISC. RISC, del ingls Reduced Instruction Set Computer, Computadora con Conjunto de Instrucciones Reducido. Se centra en la obtencin de procesadores con las siguientes caractersticas fundamentales: Instrucciones de tamao fijo Pocas instrucciones Slo las instrucciones de carga y almacenamiento acceden a la memoria de datos Nmero relativamente elevado de registros de propsito general Una de las caractersticas ms destacables de este tipo de procesadores, es que posibilitan el paralelismo en la ejecucin, y reducen los accesos a memoria. Es por eso que los procesadores ms modernos, tradicionalmente basados en arquitecturas CISC, implementan mecanismos de traduccin de instrucciones CISC a RISC, para aprovechar las ventajas de este tipo de procesadores. Memoria La memoria en los microcontroladores debe estar ubicada dentro del mismo encapsulado, esto es as la mayora de las veces, porque la idea fundamental es mantener el grueso de los circuitos del sistema dentro de un slo integrado. En los microcontroladores la memoria no es abundante, aqu no encontrar Gigabytes de memoria como en las computadoras personales. Tpicamente la memoria de programas no exceder de 16 K-localizaciones de memoria no voltil para instrucciones, y la memoria RAM ni siquiera llegar a exceder los 5 Kilobytes. La memoria RAM est destinada al almacenamiento de informacin temporal que ser utilizada por el procesador para realizar clculos u otro tipo de operaciones lgicas. En el espacio de direcciones de memoria RAM, se ubican adems los registros de trabajo del procesador y los de configuracin y trabajo de los distintos perifricos del microcontrolador. El tipo de memoria utilizada en las memorias RAM de los microcontroladores es SRAM, lo que evita tener que implementar sistemas de refrescamiento, como en el caso de las computadoras personales, que utilizan gran cantidad de memoria, tpicamente alguna tecnologa DRAM. A pesar de que la memoria SRAM es ms costosa que la DRAM, es el tipo adecuado para los microcontroladores, porque stos poseen pequeas cantidades de memoria RAM. 16 | P g i n a
En el caso de la memoria de programas se utilizan diferentes tecnologas, y el uso de una u otra depende de las caractersticas de la aplicacin a desarrollar, a continuacin se describen las cinco tecnologas existentes, que mayor utilizacin tienen o han tenido, hasta el momento de escribir la realizacin de este trabajo: ROM de mscara. En este caso no se graba el programa en memoria, sino que el microcontrolador se fabrica con el programa, es un proceso similar al de produccin de los CD comerciales mediante masterizacin. El costo inicial de producir un circuito de este tipo es alto, porque el diseo y produccin de la mscara es un proceso costoso, sin embargo, cuando se necesitan varios miles o incluso cientos de miles de microcontroladores para una aplicacin determinada, como por ejemplo, algn electrodomstico, el costo inicial de produccin de la mscara y el de fabricacin del circuito, se distribuye entre todos los circuitos de la serie y, el costo final de sta, es bastante menor que el de sus semejantes con otro tipo de memoria. TP One Time Programmable. Este tipo de memoria, tambin es conocida como PROM o simplemente ROM. Los microcontroladores con memoria OTP se pueden programar una sola vez, con algn tipo de programador. Se utilizan en sistemas donde el programa no requiera futuras actualizaciones, y para series relativamente pequeas, donde la opcin de la mscara sea muy costosa, tambin para sistemas que requieren serializacin de datos, almacenados como constantes en la memoria de programas. EPROM Erasable Programmable Read Only Memory. Los microcontroladores con este tipo de memoria son muy fciles de identificar, porque su encapsulado es de cermica y llevan encima una ventanita de vidrio, desde la cual puede verse la oblea de silicio del microcontrolador. Se fabrican as porque la memoria EPROM es reprogramable, pero antes debe borrase, y para ello hay que exponerla a una fuente de luz ultravioleta, el proceso de grabacin es similar al empleado para las memorias OTP. Al aparecer tecnologas menos costosas y ms flexibles, como las memorias EEPROM y FLASH, este tipo de memoria han cado en desuso, se utilizaban en sistemas que requieren actualizaciones del programa, y para los procesos de desarrollo y puesta a punto. EEPROM Electrical Erasable Programmable Read Only Memory. Fueron el sustituto natural de las memorias EPROM, la diferencia fundamental es que pueden ser borradas elctricamente, por lo que la ventanilla de cristal de cuarzo y los encapsulados cermicos no son necesarios. Al disminuir los costos de los encapsulados, los microcontroladores con este tipo de memoria se hicieron ms baratos y cmodos para trabajar, que sus equivalentes con memoria EPROM. Otra caracterstica destacable de este tipo de microcontrolador, es que fue en ellos donde comenzaron a utilizarse los sistemas de programacin en circuito o ICSP (In Circuit Serial Progamming), que evitan tener que sacar el microcontrolador de la tarjeta que lo aloja para hacer actualizaciones al programa. 17 | P g i n a
FLASH. En el campo de las memorias reprogramables para microcontroladores, son el ltimo avance tecnolgico en uso a gran escala, y han sustituido a los microcontroladores con memoria EEPROM. A las ventajas de las memorias FLASH se le adicionan su gran densidad respecto a sus predecesoras, lo que permite incrementar la cantidad de memoria de programas a un costo muy bajo. Pueden adems ser programadas con las mismas tensiones de alimentacin del microcontrolador, el acceso en lectura y la velocidad de programacin es superior, disminucin de los costos de produccin, entre otras. Lo ms habitual es encontrar que la memoria de programas y datos est ubicada toda dentro del microcontrolador, de hecho, actualmente son pocos los microcontroladores que permiten conectar memoria de programas en el exterior del encapsulado. Las razones para estas limitaciones estn dadas porque el objetivo fundamental es obtener la mayor integracin posible, y conectar memorias externas consume lneas de E/S, que son uno de los recursos ms preciados de los microcontroladores. A pesar de lo anterior existen familias como la INTEL 51, cuyos microcontroladores tienen la capacidad de ser expandidos, en una variada gama de configuraciones para el uso de memoria de programas externa. En el caso de los PIC, estas posibilidades estn limitadas slo a algunos microcontroladores de la gama alta, la Figura 5 muestra algunas de las configuraciones para memoria de programa, que podemos encontrar en los microcontroladores. La configuracin (a) es la tpica y podemos encontrarla casi en el 100% de los microcontroladores. La configuracin (b) es poco frecuente y generalmente se logra configurando al microcontrolador, para sacrificar la memoria de programas interna, sin embargo, el 8031 de INTEL es un microcontrolador sin memoria de programas interna. La configuracin (c) es la que se encuentra habitualmente en los microcontroladores, que tienen posibilidades de expandir su memoria de programas como algunos PIC de gama alta. Cuando se requiere aumentar la cantidad de memoria de datos, lo ms frecuente es colocar dispositivos de memoria externa en forma de perifricos, de esta forma se pueden utilizar memorias RAM, FLASH o incluso discos duros como los de las PC, mientras que para los clculos y dems operaciones que requieran almacenamiento temporal de datos, se utiliza la memoria RAM interna del microcontrolador. Esta forma de expandir la memoria de datos est determinada en la mayora de lo casos, por el tipo de repertorio de instrucciones del procesador, y porque permite un elevado nmero de configuraciones distintas, adems del consiguiente ahorro de lneas de E/S, que se logra con el uso de memorias con buses de comunicacin serie. Interrupciones El mundo est lleno de situaciones; de las cuales no podemos determinar ni cuando, ni como ni por qu se producen, en la mayora de los casos lo nico que podemos hacer es enterarnos de que determinada situacin, asociada a un proceso, ha ocurrido. Para ello seleccionamos alguna condicin o grupo de condiciones que nos indican, que el proceso que nos interesa debe ser atendido, a este fenmeno, en el cual se dan las condiciones que nos interesa conocer, lo llamaremos evento. En el segundo ejemplo vemos que para atender a Juan, ste debe tocar el timbre, por tanto, la llegada de Juan es el proceso que debemos atender y el sonido del timbre, es el evento que nos indica que Juan ha llegado. El mtodo de atencin a procesos por interrupcin, visto desde la ptica del ejemplo que se utiliz para mostrarlo, es ms simple que el de la encuesta, pero no es cierto, el mtodo se complica porque requiere que el microprocesador incorpore circuitos adicionales, para 18 | P g i n a
registrar los eventos que le indican que debe atender al proceso asociado, y comprender estos circuitos y su dinmica no es una tarea sencilla. Los circuitos para la atencin a las interrupciones y todas las tareas que debe realizar el procesador, para atender al proceso que lo interrumpe son bastante complejos, y requieren una visin diferente de la que estamos acostumbrados a tener de nuestro mundo. Los seres humanos no estamos conscientes de las interrupciones, en nuestro organismo existen mecanismos que nos interrumpen constantemente, para ello tenemos a nuestro sistema sensorial, pero no somos conscientes del proceso de interrupcin, aunque s de la atencin a las interrupciones. Eso es porque incorporamos mecanismos que nos sacan rpidamente de la tarea que estemos haciendo, para atender una situacin que no puede o no debe esperar mucho tiempo. Bien, esa misma es la idea que se incorpora en los microprocesadores para atender procesos, que no pueden esperar o que no sabemos cuando deben ser atendidos, porque ello depende de determinadas condiciones. La cosa se complica en la secuencia de acciones a realizar, desde el momento en que se desencadena el proceso de interrupcin, hasta que se ejecuta el programa que lo atiende, y en la secuencia de acciones posteriores a la atencin. Los procesos de atencin a interrupciones, tienen la ventaja de que se implementan por hardware ubicado en el procesador, as que es un mtodo rpido de hacer que el procesador se dedique a ejecutar un programa especial, para atender eventos que no pueden esperar por mecanismos lentos como el de encuesta. En trminos generales, un proceso de interrupcin y su atencin por parte del procesador, tiene la siguiente secuencia de acciones. 1. En el mundo real, se produce el evento para el cual queremos que el procesador ejecute un programa especial, este proceso tiene la caracterstica de que no puede esperar mucho tiempo antes de ser atendido, o no sabemos en que momento debe ser atendido. 2. El circuito encargado de detectar la ocurrencia del evento se activa, y como consecuencia, activa la entrada de interrupcin del procesador. 3. La unidad de control detecta que se ha producido una interrupcin, y levanta una bandera para registrar esta situacin; de esta forma, si las condiciones que provocaron el evento desaparecen, y el circuito encargado de detectarlo desactiva la entrada de interrupcin del procesador, sta se producir de cualquier modo, porque ha sido registrada. 4. La unidad de ejecucin termina con la instruccin en curso, y justo antes de comenzar a ejecutar la siguiente, comprueba que se ha registrado una interrupcin 5. Se desencadena un proceso que permite guardar el estado actual del programa en ejecucin, y saltar a una direccin especial de memoria de programas, donde est la primera instruccin de la subrutina de atencin a interrupcin. 6. Se ejecuta el cdigo de atencin a interrupcin, esta es la parte consciente de todo el proceso, porque es donde se realizan las acciones propias de la atencin a la interrupcin, y el programador juega su papel. 7. Cuando en la subrutina de atencin a interrupcin se ejecuta la instruccin de retorno, se desencadena el proceso de restauracin del procesador al estado en que estaba, antes de la atencin a la interrupcin.
19 | P g i n a
Como podemos observar, el mecanismo de interrupcin es bastante complicado, sin embargo, tiene dos ventajas que obligan a su implementacin: la velocidad y su capacidad de ser asincrnico. Ambas de conjunto, permiten que aprovechemos al mximo las capacidades de trabajo de nuestro procesador. Los mecanismos de interrupcin, no slo se utilizan para atender eventos ligados a procesos que requieren atencin inmediata, sino que se utilizan adems para atender eventos de procesos asincrnicos. Las interrupciones son tan eficaces, que permiten que el procesador acte como si estuviese haciendo varias cosas a la vez, cuando en realidad se dedica a la misma rutina de siempre, ejecutar instrucciones una detrs de la otra. Perifricos Cuando vimos la organizacin bsica de un microcontrolador, sealamos que dentro de ste se ubican un conjunto de perifricos, cuyas salidas estn reflejadas en las patas del microcontrolador. A continuacin, describiremos algunos de los perifricos que con mayor frecuencia encontraremos en los microcontroladores. Entradas salidas de propsito general Tambin conocidos como puertos de E/S, generalmente agrupadas en puertos de 8 bits de longitud, permiten leer datos del exterior o escribir en ellos desde el interior del microcontrolador, el destino habitual es el trabajo con dispositivos simples como relevadores, LED, o cualquier otra cosa que se le ocurra al programador. Algunos puertos de E/S, tienen caractersticas especiales que le permiten manejar salidas con determinados requerimientos de corriente, o incorporan mecanismos especiales de interrupcin para el procesador. Tpicamente cualquier pata de E/S puede ser considerada E/S de propsito general, pero como los microcontroladores tienen un limitado nmero de patas, las E/S de propsito general comparten las patas con otros perifricos. Para usar una pata con cualquiera de las caractersticas a l asignadas, debemos configurarlo mediante los registros destinados a ello. Temporizadores y contadores Son circuitos sincrnicos para el conteo de los pulsos que llegan a su entrada de reloj. Si la fuente de conteo es el oscilador interno del microcontrolador, es comn que no tengan una pata asociada, y en este caso trabajan como temporizadores. Por otra parte, cuando la fuente de conteo es externa, entonces tienen asociado una pata configurada como entrada, este es el modo contador. Los temporizadores son uno de los perifricos ms habituales en los microcontroladores, y se utilizan para muchas tareas, como por ejemplo, la medicin de frecuencia, implementacin de relojes, para el trabajo de conjunto con otros perifricos que requieren una base estable de tiempo, entre otras funcionalidades. Es frecuente que un microcontrolador tpico incorpore ms de un temporizador/contador, e incluso algunos tienen arreglos de contadores. 20 | P g i n a
Como veremos ms adelante, este perifrico es un elemento casi imprescindible y es habitual que tengan asociada alguna interrupcin. Los tamaos tpicos de los registros de conteo son 8 y 16 bits, pudiendo encontrar dispositivos que slo tienen temporizadores de un tamao o con ms frecuencia, con ambos tipos de registro de conteo. Convertidor A/D Como es muy frecuente el trabajo con seales analgicas, stas deben ser convertidas a digital y por ello muchos microcontroladores incorporan un convertidor A/D, el cual se utiliza para tomar datos de varias entradas diferentes que se seleccionan mediante un multiplexor. Las resoluciones ms frecuentes son 8 y 10bits, aunque hay microcontroladores con convertidores de 11 y 12 bits, para resoluciones mayores es preciso utilizar convertidores A/D externos. Los convertidores A/D son uno de los perifricos ms codiciados en el mundo de los microcontroladores, y es por ello que muchsimos PIC los incorporan, siendo sta una de las caractersticas ms destacables de los dispositivos que fabrica Microchip. Puerto serie Este perifrico est presente en casi cualquier microcontrolador, normalmente en forma de UART (Universal Asynchronous Receiver Transmitter) o USART (Universal Synchronous Asynchronous Receiver Transmitter), dependiendo de si permiten o no el modo sincrnico de comunicacin. El destino comn de este perifrico es la comunicacin con otro microcontrolador o con una PC, y en la mayora de los casos hay que agregar circuitos externos para completar la interfaz de comunicacin. La forma ms comn de completar el puerto serie es para comunicarlo con una PC, mediante la interfaz EIA-232 (ms conocida como RS-232), es por ello que muchas personas se refieren a la UART o USART como puerto serie RS-232, pero esto constituye un error, puesto que este perifrico se puede utilizar para interconectar dispositivos mediante otros estndares de comunicacin. Puerto serie sincrnico Este tipo de perifrico se utiliza para comunicar al microcontrolador con otros microcontroladores, o con perifricos externos conectados a l, mediante las interfaces SPI (Serial Peripheral Interface) o I2C (Inter-Integrated Circuit). A pesar de que es tambin un tipo de puerto serie, es costumbre tratarlo de forma diferenciada respecto a la UART/USART, porque las interfaces SPI e I2C aparecieron mucho despus que la UART/USART, su carcter es nicamente sincrnico, y no estn diseadas para interconectar al sistema con otros dispositivos independientes como una PC, sino para conectar al microcontrolador dispositivos, tales como memorias, pantallas LCD, convertidores A/D o D/A. 21 | P g i n a
Otros puertos de comunicacin En un mundo cada vez ms orientado a la interconexin de dispositivos, han aparecido muchas interfaces de comunicacin, y los microcontroladores no se han quedado atrs para incorporarlas, es por ello que podemos encontrar algunos modelos con puertos USB (Universal Serial Bus), CAN (Controller Area Network), Ethernet, puerto paralelo entre otros. Comparadores Son circuitos analgicos basados en amplificadores operacionales, que tienen la caracterstica de comparar dos seales analgicas y dar como salida los niveles lgicos 0 o 1, en dependencia del resultado de la comparacin. Es un perifrico muy til para detectar cambios en seales de entrada, de las que solamente nos interesa conocer cuando est en un rango determinado de valores. Modulador de ancho de pulsos Los PWM (Pulse Width Modulator) son perifricos muy tiles, sobre todo para el control de motores, sin embargo, hay un grupo de aplicaciones que pueden realizarse con este perifrico, dentro de las cuales podemos citar: la conversin digital analgica D/A, el control regulado de luz (dimming), entre otras. Memoria de datos no voltil Muchos microcontroladores han incorporado este tipo de memoria como un perifrico ms, para el almacenamiento de datos de configuracin o de los procesos que se controlan. Esta memoria es independiente de la memoria de datos tipo RAM o la memoria de programas, en la que se almacena el cdigo del programa a ejecutar por el procesador del microcontrolador. Muchos de los microcontroladores PIC, incluyen este tipo de memoria, tpicamente en forma de memoria EEPROM, incluso algunos de ellos permiten utilizar parte de la memoria de programas, como memoria de datos no voltil, por lo que el procesador tiene la capacidad de escribir en la memoria de programas, como si sta fuese un perifrico ms. Familias de microcontroladores Los microcontroladores ms comunes en uso, son: Empresa 8 bits 12 bits 14 bits 16 bits 32 bits 64 bits Atmel AVR ATmega8,89Sxxx x familia similar 8051
ATmega 16
22 | P g i n a
Freescale (antes Motorola) 68HC05, 68HC08, 68HC11, HCS08 X x 68HC12 , 68HCS1 2, 68HCSX 12, 68HC16 683xx, PowerPC Architecture,ColdFi re X Hitachi, Ltd H8 X x X x X Holtek HT8
Intel MCS-48 (familia 8048) MCS51 (familia 8051) 8xC251 X x MCS96, MXS296 x X National Semiconductor COP8 X x X x X Microchip Familia 10f2xx Familia 12Cxx Familia 12Fxx, 16Cxx y 16Fxx 18Cxx y 18Fxx
dsPIC30 FXX y dsPIC33 F de 16 bits PIC32 X NEC Corporation 78K
Parallax
STMicroelectronic s ST 62,ST 7
23 | P g i n a
Texas Instruments TMS370, MSP430
Zilog Z8, Z86E02
Silabs C8051
Tabla 1 Familias de microprocesadores Observacin: Algunas arquitecturas de microcontrolador, estn disponibles por tal cantidad de vendedores y en tantas variedades, que podran tener, con total correccin, su propia categora. Entre ellos encontramos, principalmente, las variantes de 8051 y Z80.
24 | P g i n a
Captulo 2 Tecnologa .NET
25 | P g i n a
2.1Tecnologa .Net Hace varios aos, las aplicaciones se creaban utilizando un mismo lenguaje para todas las tareas, y para un sistema operativo concreto. Inicialmente las aplicaciones para Windows se realizaban en C, y el trabajo era enorme por dos cosas: la complejidad del lenguaje y la necesidad de conocer todos los detalles del sistema operativo, para poder programar sobre l. Ah naci Visual Basic, como una herramienta que permita el desarrollo de las interfaces de una forma sencilla, para lo conocido hasta entonces, y con un lenguaje conocido por entonces como el Basic. Se utilizaban los controles en formato VBX para disear las ventanas, y luego un mecanismo de mtodos y eventos para controlar el cdigo. Despus la parte profesional pas al C+, un lenguaje orientado a objetos muy complejo y difcil de mantener. Por otro lado, Visual Basic segua avanzando con los COM (Component Objetc Model); un modelo de objetos que permita la reutilizacin de componentes independiente del lenguaje, con el que estuviesen escritos, de esta forma transcurrieron las versiones 5 y 6 de Visual Basic, que se convirtieron en los entornos ms importantes del panorama Windows. Con el tiempo, adems de los COM, aparecieron otras tcnicas complementarias para ampliar los lenguajes existentes. Pero esta heterogeneidad de tecnologas, muchas veces dictadas por las necesidades tecnolgicas del momento, como Internet, hicieron que se produjeran multitud de servicios duplicados, creacin de servicios exclusivamente para algunos lenguajes, poca reutilizacin de cdigo, ms complejidad entre otras. La solucin definitiva se ha planteado con .NET, que consta de una serie de servicios iguales en todos los lenguajes, que mantienen la integridad con los desarrollos existentes, y hace posible una interoperatividad entre los lenguajes. Esto es, podemos utilizar varios lenguajes diferentes, y todos tendrn disponibles desde el mismo entorno de desarrollo, hasta los controles y componentes de programacin. Una caracterstica importante, es que podemos incluso escribir partes distintas de un mismo programa con varios lenguajes .NET. 2.1.1 .NET Framework .NET Framework es un entorno para construir, instalar y ejecutar servicios Web y otras aplicaciones, y se compone de tres partes principales: el Common Language Runtime, las clases Framework y ASP.NET El .NET Framework es un entorno multi-lenguaje para la construccin, distribucin y ejecucin de Servicios Webs y aplicaciones, es una nueva plataforma, diseada para simplificar el desarrollo de aplicaciones en el entorno distribuido de Internet.
.Net Framework permite el desarrollo de aplicaciones, a travs del uso de un conjunto de herramientas y servicios que proporciona, y que se agrupan en tres bloques: El entorno de ejecucin comn o Common Languaje Runtime (CLR) Jerarqua de clases de .NET Motor de generacin de formularios, para crear nuestras aplicaciones 26 | P g i n a
El Common Languaje Runtime (CLR), es una serie de bibliotecas 3 dinmicas (DLLs) usadas en tiempo de ejecucin, para que los ejecutables o aplicaciones basados en .NET puedan ser ejecutados. Con esta tecnologa se acab eso de que existan dos tipos de ejecutables: los que son autosuficientes y no dependen de bibliotecas externas, o los que necesitan de bibliotecas en tiempo de ejecucin para poder funcionar. Con este CLR, slo tendremos que instalar este componente, y nuestros programas .NET funcionarn en cualquier equipo, por otro lado, la biblioteca de clases de .NET Framework, proporciona una jerarqua de clases orientadas a objeto, disponibles para cualquiera de los lenguajes basados en .NET, incluido el Visual C++. Los modelos de programacin antiguos, eran poco flexibles e impedan al programador contemplar la idea de un proyecto para Internet, que le permitiera crear aplicaciones distribuidas ms potentes. Estos sistemas utilizaban las tecnologas COM, ASP, ADO, que individualmente son buenas, pero que no estn pensadas para ser ejecutadas en la red. Estos elementos definan la arquitectura Windows DNA (Distributed Internet Architecture), que hasta ahora era el modelo de programacin para Internet. Esta tecnologa queda ahora desplazada completamente por la arquitectura .NET 2.1.2 Funcionamiento de .NET Al igual que las versiones anteriores de Visual C++, ste se encuentra dentro del paquete Visual Studio .NET, que incorpora varios lenguajes, herramientas y tecnologas. En nuestro caso nos centraremos en C# .NET, y como ya es habitual, en el resto de las aplicaciones de Microsoft, debemos ser generosos con el equipo, para desarrollar en .NET, por ejemplo y como veremos ms adelante, el entorno de desarrollo tiene tanta informacin que se requiere cumplir con los requisitos mnimos de sistema. La mejor forma de comprender cmo funciona .NET, es analizar las numerosas capas en las que se divide .NET Framework. Veamos la siguiente figura:
3 Biblioteca: en programacin se refiere a conjunto de subprogramas para desarrollar software Ilustracin 5 - Capas de .Net 27 | P g i n a
Esta jerarqua nos dice que en el nivel ms alto, estn los lenguajes que vamos a utilizar en nuestro desarrollo con .NET, que pueden ser varios. Luego traduce esas instrucciones al estndar .NET, para poder trabajar con esas instrucciones, de una forma independiente al lenguaje con que se escribieron. El siguiente paso es la generacin de formularios para Windows o Web (ASP). Luego el enlace con bases de datos, si las hay. Y Por fin llegamos a todos los objetos disponibles, donde por ltimo el runtime de lenguaje comn (CLR), ejecutar la aplicacin. Veamos ahora ms tcnicamente de abajo hacia arriba: 1. Runtime del lenguaje comn El runtime del lenguaje comn, es la primera capa que pertenece a .NET Framework. Esta capa es la responsable de los servicios bsicos de .NET, tales como la administracin de memoria, la recoleccin de los elementos no utilizados, el control estructurado de excepciones y del subprocesamiento mltiple. Si .NET se transporta a otras arquitecturas que no estn basadas en Windows, el primer paso sera escribir un runtime del lenguaje para el nuevo equipo. El CLR tiene estas caractersticas: Proporciona mejoras para el programador que antes tena que elaborar Administra el cdigo en tiempo de ejecucin: carga en memoria, liberacin de memoria. Gestiona la seguridad del cdigo ejecutado Abre posibilidades a otros fabricantes para incorporar sus lenguajes Facilita la distribucin e instalacin de aplicaciones. Elimina los temibles conflictos de DLL's y versiones de ellas. . 2. Biblioteca de clases La biblioteca de clases base (BCL), es la parte de .NET Framework que define todos los tipos de datos bsicos, tales como System.Object (raz de la jerarqua de objetos .NET), tipos numricos y de fechas, tipo string, matrices y colecciones, contiene tambin clases que administrarn las caractersticas centrales de .NET: entrada/salida de archivos, subprocesamiento, serializacin y seguridad. La forma en la que los tipos se implementan en la BCL, siguen las especificaciones llamadas Common Type System (CTS), por ejemplo, estas especificaciones dictan la forma en la que un tipo .NET expone campos, propiedades, mtodos y sucesos, tambin cmo un tipo puede heredar otro tipo. 3. Capa de datos La capa de datos y XML, contienen las clases .NET que trabajan con bases de datos y con XML. Anteriormente el soporte XML 4 , era una compatibilidad proporcionada por un componente externo. En .NET vemos cmo est integrado en su mismo ncleo. Podemos decir que XML es
4 Lenguaje desarrollado por el W3 Consortium para permitir la descripcin de informacin contenida en el WWW a travs de estndares y formatos comunes, de manera que tanto los usuarios de Internet como programas especficos (agentes) puedan buscar, comparar y compartir informacin en la red. El formato de XML es muy parecido al del HTML aunque no es una extensin ni un componente de ste. "agent ", "HTML ", "W3C ", "WWW 28 | P g i n a
el formato que utiliza .NET, para almacenar cualquier tipo de informacin. La parte de datos es la que se conoce como ADO.NET, y es el equivalente en .NET a la tecnologa ActiveX Data Object (ADO), ampliamente conocida por los programadores de Visual C++, Intranets, etc. 4. Capa de formularios y ASP Las dos capas siguientes son ASP.NET y Windows Forms. Aqu se sitan todas las clases que podremos utilizar para generar las pginas Web en el primer caso, y las ventanas estndares o formularios en las aplicaciones de Windows en el segundo caso. Aunque estn en el mismo nivel, las tecnologas son muy distintas. Web Forms se ejecuta en el servidor y produce HTML, y es la base de las conocidas Intranets, donde estas pginas devuelven otras pginas Web con conjuntos de resultados u otros datos. Windows Forms se ejecuta en el cliente, un equipo Windows. La biblioteca de clases de .NET Framework est formada por una coleccin de ensamblados (o Assembly), cada uno de los cuales comprende una o ms DLL. Un ensamblado consiste en un conjunto de tipos y recursos reunidos, para formar la unidad ms elemental de cdigo que puede ejecutar el entorno .NET Framework. Estos ensamblados, son los elementos con los que construiremos una aplicacin.NET, que se compone de varios ensamblados. Podemos llamar tambin a un ensamblado, como una DLL lgica (recordamos que una DLL es una biblioteca de enlaces dinmicos), le decimos lgica, porque se trata de una lista de ficheros que se referencian en tiempo de ejecucin, pero que no se compilan para producir un fichero fsico, a diferencia de las DLL's tradicionales. Un ensamblado va mucho ms all, ya que puede contener otros recursos adems de clases, como los son imgenes. 5. Capas de CLS y lenguajes Como hemos dicho antes, el CLR, o el entorno de ejecucin comn, admite por encima de l cualquier tipo de lenguaje. Actualmente esos son los aprobados: VB .NET C# C ++ ASP.NET Jscript.NET Pero hay otros muchos que estn en camino, y que podramos utilizarlos con el mismo entorno y clases que los existentes: Cobol Pascal Perl Python SmallTalk ML
29 | P g i n a
2.1.3 Bases de la POO Todo lo que trataremos en .NET se basa en clases y objetos. Estos conceptos muy sencillos, pero pueden desconcertar al principio. Las clases Todo lo que tiene .NET Framework, son clases. Una clase no es ni ms ni menos que cdigo. Cuando definimos una clase, realmente estamos definiendo dos cosas diferentes: los datos que dicha clase puede manipular o contener, y la forma de acceder a esos datos. Por ejemplo, si tenemos una clase de tipo Cliente, por un lado tendremos los datos de dicho cliente, y por otro la forma de acceder o modificar esos datos. En el primer caso, los datos del Cliente, como por ejemplo el nombre o ubicacin, estarn representados por una serie de campos o propiedades, mientras que la forma de modificar o acceder a esa informacin del Cliente, se har por medio de mtodos. Esas propiedades o caractersticas y las acciones a realizar son las que definen a una clase. Un coche tiene unas propiedades: color, marca, modelo, ... y unos mtodos para trabajar con l: arrancar, frenar, cambiar de marcha. La definicin de estas partes es lo que llamamos clase, slo la definicin, para trabajar con el coche. Los Objetos Por un lado tenemos una clase, que es la que define un "algo" con lo que podemos trabajar. Pero para que ese "algo" no sea un "nada", tendremos que poder convertirlo en "algo tangible", es decir, tendremos que tener la posibilidad de que exista. Aqu es cuando entran en juego los objetos, ya que un objeto es una clase que tiene informacin real. Por fin podemos crear un coche, del cual ya tenemos su definicin en la clase Coche. Digamos que la clase es la "plantilla", a partir de la cual podemos crear un objeto en la memoria. Por ejemplo, podemos tener varios objetos del tipo Cliente, uno por cada cliente que tengamos en nuestra cartera de clientes, pero la clase slo ser una. En nuestros formularios: tenemos 10 botones y han sido creados a partir de la clase "Botn". Otro ejemplo es que tenemos una clase que se llama "Coches", donde describe qu es y cmo funciona un coche, pues bien, podemos crear diferentes coches a partir de la clase "Coches", cada uno puede tener sus propias caractersticas, pero funcionan todos igual. Ahora slo queda comentar que existen objetos de ms categora que otros, y que esta relacin se llama jerarqua de objetos. Por ejemplo, un objeto Coche puede tener a su vez varios objetos ms pequeos como podran ser motor, carrocera, etc. En .NET tenemos entonces varias Clases principales, y debajo de ellas todas las instrucciones del lenguaje. Por ejemplo, habr una clase para los formularios (ventanas de Windows), que a su vez tendrn otras clases dentro: botones, textos, imgenes. Otra clase sera la coleccin de funciones matemticas que podemos utilizar.
30 | P g i n a
Para tener una idea, esta es la jerarqua de objetos para desarrollo en Web:
Ilustracin 6 - Jerarqua de los objetos Web
31 | P g i n a
2.2 Silverlight Microsoft Silverlight, es una implementacin multiplataforma de .NET Framework, que se puede ejecutar en distintos exploradores, para crear y proporcionar la nueva generacin de experiencias multimedia y aplicaciones interactivas, enriquecidas para la Web. Silverlight unifica las funciones del servidor, la Web y el escritorio, del cdigo administrado y de los lenguajes dinmicos, de la programacin declarativa y la tradicional, as como la eficacia de Windows Presentation Foundation (WPF). Silverlight permite crear aplicaciones de vanguardia, con las siguientes caractersticas:
Es una tecnologa multiplataforma que se ejecuta en varios exploradores. Se ejecuta en todos los exploradores Web conocidos, como Microsoft Internet Explorer, Mozilla Firefox y Apple Safari, as como en Microsoft Windows y Apple Mac OS X.
Es una descarga muy pequea que se instala en pocos segundos.
Transmite los contenidos de audio y vdeo por secuencias. Ajusta el contenido de vdeo a todo tipo de calidades, desde dispositivos mviles, hasta exploradores de escritorio y modos de vdeo HDTV de 720p.
Incluye grficos atractivos que los usuarios pueden manipular (arrastrar, girar y acercar o alejar), directamente en el explorador.
Lee datos y actualiza la pantalla, pero no interrumpe al usuario al actualizar la pgina completa.
Los desarrolladores Web y diseadores de grficos, pueden crear aplicaciones basadas en Silverlight de diversas maneras. Se puede utilizar el marcado de Silverlight, para crear elementos multimedia y grficos, y manipularlos con lenguajes dinmicos y cdigo administrado. Silverlight tambin permite utilizar herramientas de calidad profesional, como Visual Studio, que permite realizar la codificacin y Microsoft Expression Blend, utilizado para el diseo grfico. Silverlight combina varias tecnologas en una sola plataforma de desarrollo, que permite seleccionar las herramientas y el lenguaje de programacin apropiados, segn las necesidades del usuario. Silverlight ofrece las caractersticas siguientes: WPF y XAML. Silverlight incluye un subconjunto de la tecnologa Windows Presentation Foundation (WPF), que extiende en gran medida los elementos en el explorador, para crear la interfaz de usuario. WPF permite crear grficos, animaciones y elementos multimedia fascinantes, as como otras caractersticas de cliente enriquecidas, extendiendo la interfaz de usuario basada en explorador, ms all de lo que est disponible nicamente con HTML. Extensiones a JavaScript. Silverlight proporciona extensiones al lenguaje de scripting de explorador universal, que permiten controlar la interfaz de usuario del explorador, incluida la capacidad para trabajar con elementos WPF. Compatibilidad con varios exploradores y plataformas. Silverlight se ejecuta de la misma manera en todos los exploradores conocidos (y en las plataformas conocidas). Es posible disear y desarrollar aplicaciones, sin tener que preocuparse del explorador o de la plataforma de los usuarios. 32 | P g i n a
Integracin con aplicaciones existentes. Silverlight se integra perfectamente con el cdigo JavaScript y ASP.NET AJAX existente, de modo que complementa la funcionalidad ya creada. Acceso al modelo de programacin de .NET Framework y a las herramientas asociadas. Se pueden crear aplicaciones basadas en Silverlight mediante lenguajes dinmicos, como IronPython, y lenguajes como C# y Visual Basic. Se pueden utilizar herramientas de desarrollo como Visual Studio, para crear aplicaciones basadas en Silverlight. Compatibilidad de red. Silverlight incluye compatibilidad con HTTP sobre TCP. Se puede conectar a los servicios WCF, SOAP o ASP.NET AJAX y recibir datos XML, JSON o RSS. LINQ. Silverlight incluye Language Integrated Query (LINQ), que permite programar el acceso a datos utilizando una sintaxis nativa intuitiva, y objetos con establecimiento inflexible de tipos en los lenguajes de .NET Framework.
La plataforma de Silverlight en su conjunto se compone de dos partes principales, adems de un componente de instalador y actualizacin, tal y como se describe en la siguiente tabla. Componente Descripcin Marco de trabajo de presentacin bsico Componentes y servicios orientados a la interfaz de usuario y la interaccin con el usuario, incluidos los datos proporcionados por el usuario, controles de interfaz de usuario ligeros para su uso en las aplicaciones Web, reproduccin de elementos multimedia, administracin de derechos digitales, enlaces de datos; y caractersticas de presentacin, incluidos grficos vectoriales, texto, animaciones e imgenes. Tambin incluye el lenguaje XAML para especificar el diseo. .NET Framework para Silverlight Subconjunto de .NET Framework, que contiene componentes y bibliotecas, que incluyen integracin de datos, controles de Windows extensibles, funciones de red, bibliotecas de clases base, recoleccin de elementos no utilizados y CLR (Common Language Runtime). Algunas partes de .NET Framework para Silverlight, se implementan con la aplicacin. Estas "bibliotecas de Silverlight", son ensamblados que no se incluyen en el motor en tiempo de ejecucin de Silverlight, sino que se distribuyen en el SDK de Silverlight. Cuando se utilizan bibliotecas de Silverlight en la aplicacin, se empaquetan con esta ltima y se descargan al explorador. Incluyen las de nuevos controles de interfaz de usuario, XLINQ, distribucin (RSS/Atom), serializacin XML y DLR (Dynamic Language Runtime). Componente de instalador y actualizacin Control de instalacin y actualizacin, que simplifica el proceso de instalar la aplicacin para los usuarios noveles y, a continuacin, proporciona actualizaciones automticas de bajo impacto. Tabla 2 - Componentes de Silverlight
33 | P g i n a
2.2.1 Arquitectura de Silverlight El conjunto combinado de herramientas, tecnologas y servicios que se incluyen en la plataforma de Silverlight, encierra un valor concreto: facilita a los programadores, la tarea de crear aplicaciones enriquecidas e interactivas en red. Aunque no cabe duda de que es posible generar este tipo de aplicaciones, mediante las herramientas y tecnologas Web 5 de hoy, el trabajo de los programadores puede resultar mas complicado debido a numerosas dificultades tcnicas, tales como plataformas incompatibles, protocolos y formatos de archivo dispares, y diversidad de exploradores Web, que representan las pginas y administran los scripts de manera diferente. Una aplicacin Web enriquecida, que se ejecuta perfectamente en una combinacin de sistema y explorador, puede funcionar de manera muy distinta, e incluso no funcionar en absoluto, en otro sistema u otro explorador. Con la gran variedad actual de herramientas, protocolos y tecnologas, constituye un esfuerzo titnico y, con frecuencia, econmicamente prohibitivo, generar una aplicacin que puede proporcionar al mismo tiempo las ventajas siguientes: Capacidad para crear la misma experiencia del usuario, en la totalidad de exploradores y plataformas, de tal forma que la aplicacin presente la misma apariencia y el mismo funcionamiento en todos ellos. Integracin de datos y servicios procedentes de diversas ubicaciones de red en una misma aplicacin, mediante las clases y funcionalidades conocidas de .NET Framework. Una interfaz de usuario rica en elementos multimedia, atractiva y accesible. Silverlight, facilita a los desarrolladores la labor de crear este tipo de aplicaciones, porque supera muchas de las incompatibilidades actuales entre las tecnologas, y proporciona, dentro de una misma plataforma, las herramientas necesarias para crear aplicaciones enriquecidas, multiplataforma e integradas.
Ilustracin 7 - Arquitectura de Silverlight
5 Web: Este trmino se refiera a sistema de documentos de hypertexto 34 | P g i n a
2.2.2 Componentes de presentacin bsicos Las caractersticas de presentacin bsicas de la plataforma Silverlight, mostradas en la seccin e ilustracin anteriores, se describen en la tabla siguiente. Caracterstica Descripcin Entrada Administra datos de entrada procedentes de distintos dispositivos de hardware, como los de dibujo, el teclado y el mouse, y otros. Representacin de la interfaz de usuario Representa grficos vectoriales y de mapa de bits, animaciones y texto. Multimedia Permite la reproduccin y administracin de varios tipos de archivos de audio y vdeo, como los archivos .WMP y .MP3. Deep Zoom Permite acercar imgenes de alta resolucin y realizar un movimiento panormico alrededor de las mismas. Controles Admite controles extensibles que se pueden personalizar aplicando estilos y plantillas. Diseo Permite la colocacin dinmica de los elementos de la interfaz de usuario. Enlace de datos Permite la vinculacin de objetos de datos y elementos de la interfaz de usuario. DRM Permite la administracin de derechos digitales de los recursos multimedia. XAML Proporciona un analizador para el marcado XAML. Tabla 3 - Caractersticas de presentacin de Silverlight Los programadores pueden interactuar con este marco de trabajo de presentacin, utilizando XAML para especificar los detalles de presentacin. XAML constituye el punto primario de interaccin entre .NET Framework y la capa de la presentacin. Los programadores pueden manipular la capa de presentacin mediante programacin, con cdigo administrado.
35 | P g i n a
2.2.3 .NET Framework para Silverlight. En la tabla 4, se describe una lista parcial de las caractersticas de .NET Framework, para Silverlight mostradas en la ilustracin 7. Caracterstica Descripcin Data Admite las caractersticas de LINQ (Language-Integrated Query) y de LINQ to XML, que facilitan el proceso de integrar datos procedentes de orgenes dispares y trabajar con ellos. Tambin admite el uso de las clases de serializacin y XML para administrar los datos. Biblioteca de clases base Un conjunto de bibliotecas de .NET Framework que proporcionan las funciones de programacin esenciales, como la administracin de cadenas, expresiones regulares, entrada y salida. Windows Communication Foundation (WCF) Proporciona caractersticas para simplificar el acceso a los servicios y datos remotos. Esto incluye un objeto de explorador, un objeto de solicitud y respuesta HTTP, compatibilidad con solicitudes HTTP entre dominios, compatibilidad con fuentes de distribucin RSS/Atom, as como compatibilidad con los servicios JSON, POX y SOAP. CLR (Common Language Runtime) Proporciona administracin de memoria, recoleccin de elementos no utilizados, comprobacin de seguridad de tipos y control de excepciones. Controles de WPF (Windows Presentation Foundation) Proporciona un conjunto enriquecido de controles, como son Button, Calendar, CheckBox, DataGrid, DatePicker, HyperlinkButton, ListBox, RadioButton y ScrollViewer. DLR (Dynamic Language Runtime) Admite la compilacin y ejecucin dinmicas de lenguajes de scripting, como JavaScript y IronPython, para programar aplicaciones basadas en Silverlight. Incluye un modelo conectable, que aporta compatibilidad con otros lenguajes para su uso con Silverlight. Tabla 4 - Caractersticas Net Framework de Silverlight .NET Framework, para Silverlight es un subconjunto de la plataforma .NET Framework completa. Proporciona los fundamentos del desarrollo robusto y orientado a objetos para tipos de aplicaciones (como las de Internet), que tradicionalmente no contaban con este tipo de recursos. Los desarrolladores pueden interactuar con la capa de .NET Framework para Silverlight, escribiendo cdigo administrado en C# y Visual Basic. Los desarrolladores de .NET Framework, tambin pueden tener acceso a la capa de presentacin, creando sus aplicaciones en Visual Studio 2008 o Microsoft Expression Blend. 36 | P g i n a
2.2.4 Caractersticas de programacin adicionales de Silverlight Silverlight proporciona varias caractersticas adicionales, que ayudan a los programadores a crear aplicaciones enriquecidas e interactivas, incluidas las descritas en la tabla siguiente. Caracterstica Descripcin Almacenamiento aislado Proporciona acceso seguro del cliente de Silverlight, al sistema de archivos del equipo local. Permite el almacenamiento local y el almacenamiento en cach de datos aislados, para un usuario determinado. Programacin asincrnica Un subproceso de trabajo de segundo plano lleva a cabo tareas de programacin, mientras la aplicacin queda libre para interactuar con el usuario. Administracin de archivos Proporciona un cuadro de dilogo Abrir archivo seguro, a fin de facilitar el proceso de crear cargas de archivo seguras. Interaccin entre HTML y cdigo administrado Permite a los programadores de .NET Framework, manipular directamente los elementos de la interfaz de usuario en el DOM HTML, de una pgina Web. Los programadores Web tambin pueden utilizar JavaScript, para efectuar llamadas directas al cdigo administrado y tener acceso a los objetos, propiedades, eventos y mtodos que admiten el uso de scripts. Serializacin Proporciona soporte tcnico para la serializacin de los tipos CLR a JSON y XML. Empaquetar Proporciona la clase Application y herramientas de compilacin, para crear paquetes .xap. El paquete .xap contiene la aplicacin y el punto de entrada, para que se ejecute el control del complemento Silverlight. Bibliotecas XML Las clases XmlWriter y XmlReader, simplifican el trabajo con los datos XML de los servicios Web. La caracterstica XLinq, permite a los desarrolladores consultar los datos XML, directamente en los lenguajes de programacin de .NET Framework. Tabla 5 - Caractersticas de programacin en Silverlight
37 | P g i n a
Herramientas y tecnologas relacionadas Las aplicaciones de Microsoft siguientes, incluyen caractersticas especiales para el desarrollo en Silverlight:
Microsoft Expression Blend. Esta herramienta se puede utilizar para crear y modificar la capa de presentacin de una aplicacin; para ello, permite manipular el lienzo y los controles XAML, trabajar con grficos y programar la capa de presentacin, mediante un lenguaje dinmico, como JavaScript.
Visual Studio 2008. Visual Studio proporciona herramientas de productividad, para desarrollar aplicaciones mediante cdigo administrado. Todas las caractersticas existentes de Visual Studio estn disponibles para Silverlight. Adems, esta versin de Visual Studio, incluye las caractersticas especficas de Silverlight, tales como: IntelliSense, depuracin, y plantillas de proyecto de Silverlight que crean y vinculan todos los archivos necesarios.
38 | P g i n a
Captulo 3 Protocolo TCP/IP
39 | P g i n a
3.1 Protocolo TCP/IP TCP/IP, es el protocolo comn utilizado por todos los ordenadores conectados a Internet, de manera que stos puedan comunicarse entre s. Hay que tener en cuenta, que en Internet se encuentran conectados ordenadores de clases muy diferentes, y con hardware y software incompatibles en muchos casos, adems de todos los medios y formas posibles de conexin. Aqu se encuentra una de las grandes ventajas del TCP/IP, pues este protocolo se encargar de que la comunicacin entre todos sea posible. TCP/IP es compatible con cualquier sistema operativo y con cualquier tipo de hardware. TCP/IP no es un nico protocolo, sino que en realidad lo que se conoce con este nombre es un conjunto de protocolos, que cubren los distintos niveles del modelo OSI. Los dos protocolos ms importantes son el TCP (Transmission Control Protocol), y el IP (Internet Protocol), que son los que dan nombre al conjunto. En Internet, se diferencian cuatro niveles o capas en las que se agrupan los protocolos, y que se relacionan con los niveles OSI, de la siguiente manera: Aplicacin: Se corresponde con los niveles OSI de aplicacin, presentacin y sesin. Aqu se incluyen protocolos destinados a proporcionar servicios, tales como correo electrnico (SMTP), transferencia de ficheros (FTP), conexin remota (TELNET) y otros ms recientes como el protocolo HTTP (Hypertext Transfer Protocol). Transporte: Coincide con el nivel de transporte del modelo OSI. Los protocolos de este nivel, tales como TCP y UDP, se encargan de manejar los datos y proporcionar la fiabilidad necesaria en el transporte de los mismos. Internet: Es el nivel de red del modelo OSI. Incluye al protocolo IP, que se encarga de enviar los paquetes de informacin a sus destinos correspondientes. Es utilizado con esta finalidad por los protocolos del nivel de transporte. Enlace: Los niveles OSI correspondientes, son el de enlace y el nivel fsico. Los protocolos que pertenecen a este nivel, son los encargados de la transmisin a travs del medio fsico al que se encuentra conectado cada 6 host, como puede ser una lnea punto a punto o una red Ethernet. El TCP/IP necesita funcionar sobre algn tipo de red o de medio fsico, que proporcione sus propios protocolos para el nivel de enlace de Internet. Por este motivo, hay que tener en cuenta, que los protocolos utilizados en este nivel pueden ser muy diversos, y no forman parte del conjunto TCP/IP. Sin embargo, esto no debe ser problemtico, puesto que una de las funciones y ventajas principales del TCP/IP, es proporcionar una abstraccin del medio, de forma que sea posible el intercambio de informacin entre medios diferentes, y tecnologas que inicialmente son incompatibles. Para transmitir informacin a travs de TCP/IP, sta debe ser dividida en unidades de menor tamao. Esto proporciona grandes ventajas en el manejo de los datos que se transfieren y, por otro lado, esto es algo comn en cualquier protocolo de comunicaciones. En TCP/IP, cada una de estas unidades de informacin recibe el nombre de "datagrama" (datagram), y son conjuntos de datos que se envan como mensajes independientes.
6 Host: Cualquier equipo que puede conectarse a la red , como computadoras, impresoras,etc. 40 | P g i n a
3.2 TCP (Transmission Control Protocol). El protocolo de control de transmisin (TCP), pertenece al nivel de transporte, siendo el encargado de dividir el mensaje original en datagramas de menor tamao, y por lo tanto, mucho ms manejables. Los datagramas sern dirigidos a travs del protocolo IP de forma individual. El protocolo TCP se encarga adems de aadir cierta informacin necesaria a cada uno de los datagramas. Esta informacin se aade al inicio de los datos que componen el datagrama en forma de cabecera. La cabecera de un datagrama contiene al menos 160 bits, que se encuentran repartidos en varios campos con diferente significado. Cuando la informacin se divide en datagramas para ser enviados, el orden en que stos lleguen a su destino, no tiene que ser el correcto. Cada uno de ellos puede llegar en cualquier momento y con cualquier orden, e incluso puede que algunos no lleguen a su destino o lleguen con informacin errnea. Para evitar todos estos problemas, el TCP numera los datagramas antes de ser enviados, de manera que sea posible volver a unirlos en el orden adecuado. Esto permite tambin solicitar de nuevo, el envo de los datagramas individuales, que no hayan llegado o que contengan errores, sin que sea necesario volver a enviar el mensaje completo. 3.2.1 Formato de la cabecera TCP. Puerto origen Puerto destino Nmero de secuencia Seales de confirmacin Tamao Reservado Bits de control Window Tamao Reservado Bits de control Window Checksum Puntero a datos urgentes A continuacin de la cabecera puede existir informacin opcional. En cualquier caso, el tamao de la cabecera debe ser mltiplo de 32 bits, por lo que puede ser necesario aadir un campo de tamao variable, y que contenga ceros al final, para conseguir este objetivo, cuando se incluyen algunas opciones. El campo de tamao, contiene la longitud total de la cabecera TCP, expresada en el nmero de palabras de 32 bits que ocupa. Esto permite determinar el lugar donde comienzan los datos. Dos campos incluidos en la cabecera y que son de especial importancia, son los nmeros de puerto de origen y puerto de destino. Los puertos proporcionan una manera de distinguir entre las distintas transferencias, ya que un mismo ordenador puede estar utilizando varios servicios o transferencias simultneamente, e incluso puede que por medio de usuarios distintos. El puerto de origen contendr un nmero cualquiera, que sirva para realizar esta distincin. Adems, el programa cliente que realiza la peticin, tambin se debe conocer el nmero de puerto en el que se encuentra el servidor adecuado. Mientras que el programa del usuario utiliza nmeros prcticamente aleatorios, el servidor deber tener un nmero estndar, para que pueda ser utilizado por el cliente. (Por ejemplo, en el caso de la transferencia de ficheros FTP, el nmero oficial es el 21). Cuando es el servidor el que enva los datos, los nmeros de puertos de origen y destino se intercambian. En la transmisin de datos a travs del protocolo TCP, la fiabilidad es un factor muy importante. Para poder detectar los errores y prdida de informacin en los datagramas, es necesario que el cliente enve de nuevo al servidor unas seales de confirmacin, una vez que se ha recibido y comprobado la informacin satisfactoriamente. Estas seales se incluyen en el 41 | P g i n a
campo apropiado de la cabecera del datagrama (Acknowledgment Number), que tiene un tamao de 32 bits. Si el servidor no obtiene la seal de confirmacin adecuada, transcurrido un perodo de tiempo razonable, el datagrama completo se volver a enviar. Por razones de eficiencia, los datagramas se envan continuamente sin esperar la confirmacin, hacindose necesaria la numeracin de los mismos, para que puedan ser ensamblados en el orden correcto. Tambin puede ocurrir que la informacin del datagrama llegue con errores a su destino. Para poder detectar cuando sucede esto, se incluye en la cabecera un campo de 16 bits, el cual contiene un valor calculado a partir de la informacin del datagrama completo (checksum). En el otro extremo, el receptor vuelve a calcular este valor, comprobando que es el mismo que el suministrado en la cabecera. Si el valor es distinto, significara que el datagrama es incorrecto, ya que en la cabecera o en la parte de datos del mismo, hay algn error. La forma en que TCP numera los datagramas, es contando los bytes de datos que contiene cada uno de ellos, y aadiendo esta informacin al campo correspondiente al encabezado del datagrama siguiente. De esta manera el primero empezar por cero, el segundo, contendr un nmero que ser igual al tamao en bytes de la parte de datos del datagrama anterior, el tercero, con la suma de los dos anteriores, y as sucesivamente. Por ejemplo, para un tamao fijo de 500 bytes de datos en cada datagrama, la numeracin sera la siguiente: 0 para el primero, 500 para el segundo, 1000 para el tercero, etc. Existe otro factor ms a tener en cuenta durante la transmisin de informacin, y es la potencia y velocidad con que cada uno de los ordenadores, puede procesar los datos que le son enviados. Si esto no se tuviera en cuenta, el ordenador de ms potencia podra enviar la informacin demasiado rpido al receptor, de manera que ste no pueda procesarla. Este inconveniente se soluciona mediante un campo de 16 bits en el encabezado de TCP, en el cual se introduce un valor, indicando la cantidad de informacin que el receptor est preparado para procesar. Si el valor llega a cero, ser necesario que el emisor se detenga. A medida que la informacin es procesada, este valor aumenta indicando disponibilidad, para continuar la recepcin de datos. TCP es el protocolo ms utilizado para el nivel de transporte en Internet, pero adems de ste, existen otros protocolos que pueden ser ms convenientes en determinadas ocasiones. Tal es el caso de UDP y ICMP. 3.3 UDP (User Datagram Protocol) El protocolo de datagramas de usuario (UDP), puede ser la alternativa al TCP en algunos casos, en los que no sea necesario el gran nivel de complejidad proporcionado por el TCP. Puesto que UDP no admite numeracin de los datagramas, este protocolo se utiliza principalmente, cuando el orden en que se reciben los mismos, no es un factor fundamental, o tambin cuando se quiere enviar informacin de poco tamao, que cabe en un nico datagrama. Cuando se utiliza UDP, la garanta de que un paquete llegue a su destino, es mucho menor que con TCP, debido a que no se utilizan las seales de confirmacin. Por todas estas caractersticas, la cabecera del UDP es bastante menor en tamao, que la de TCP. Esta simplificacin resulta en una mayor eficiencia en determinadas ocasiones. Un ejemplo tpico de una situacin en la que se utiliza el UDP, es cuando se pretende conectar con un ordenador de la red, utilizando para ello el nombre del sistema. Este nombre tendr 42 | P g i n a
que ser convertido a la direccin IP que le corresponde y, por tanto, tendr que ser enviado a algn servidor que posea la base de datos necesaria para efectuar la conversin. En este caso, es mucho ms conveniente el uso de UDP. 3.4 ICMP (Internet Control Message Protocol) El protocolo de mensajes de control de Internet (ICMP), es de caractersticas similares al UDP, pero con un formato an ms simple. Su utilidad no est en el transporte de datos "de usuario", sino en los mensajes de error y de control necesarios para los sistemas de la red. 3.5 IP (Internet Protocol) versin 4. El IP es un protocolo que pertenece al nivel de red, por lo tanto, es utilizado por los protocolos del nivel de transporte como TCP, para encaminar los datos hacia su destino. IP tiene nicamente la misin de encaminar el datagrama, sin comprobar la integridad de la informacin que contiene. Para ello, se utiliza una nueva cabecera que se antepone al datagrama que se est tratando. Suponiendo, que el protocolo TCP ha sido el encargado de manejar el datagrama antes de pasarlo al IP, la estructura del mensaje una vez tratado, quedara as: Cabecera IP (20 byte) Cabecera TCP (20 byte) Datos La cabecera IP tiene un tamao de 160 bits y est formada por varios campos de distinto significado. Estos campos son: Versin: Nmero de versin del protocolo IP utilizado. Tendr que tener el valor 4. Tamao: 4 bits. Longitud de la cabecera: (Internet Header Length, IHL) - Especifica la longitud de la cabecera, expresada en el nmero de grupos de 32 bits que contiene. Tamao: 4 bits. Tipo de servicio: El tipo o calidad de servicio, se utiliza para indicar la prioridad o importancia de los datos que se envan, lo que condicionar la forma en que stos sern tratados durante la transmisin. Tamao: 8 bits. Longitud total: Es la longitud en bytes del datagrama completo, incluyendo la cabecera y los datos. Como este campo utiliza 16 bits, el tamao mximo del datagrama no podr superar los 65.535 bytes, aunque en la prctica este valor ser mucho ms pequeo. Tamao: 16 bits. Identificacin: Valor de identificacin, que se utiliza para facilitar el ensamblaje de los fragmentos del datagrama. Tamao: 16 bits. Flags: Indicadores utilizados en la fragmentacin. Tamao: 3 bits. Fragmentacin: Contiene un valor (offset), para poder ensamblar los datagramas que se hayan fragmentado. Est expresado en nmero de grupos de 8 bytes (64 bits), comenzando con el valor cero para el primer fragmento. Tamao: 16 bits. Lmite de existencia: Contiene un nmero que disminuye cada vez que el paquete pasa por un sistema. Si este nmero llega a cero, el paquete ser descartado. Esto es necesario por razones de seguridad, para evitar un bucle infinito, ya que aunque es bastante improbable que esto suceda en una red correctamente diseada, no debe descuidarse esta posibilidad. Tamao: 8 bits. Protocolo: El nmero utilizado en este campo, sirve para indicar a qu protocolo pertenece el datagrama, que se encuentra a continuacin de la cabecera IP, de manera que pueda ser tratado correctamente cuando llegue a su destino. Tamao: 8 bits. 43 | P g i n a
Comprobacin: El campo de comprobacin (checksum), es necesario para verificar que los datos contenidos en la cabecera IP, son correctos. Por razones de eficiencia, este campo no puede utilizarse para comprobar los datos incluidos a continuacin, sino que estos datos de usuario se comprobarn posteriormente, a partir del campo de comprobacin de la cabecera siguiente, y que corresponde al nivel de transporte. Este campo debe calcularse de nuevo, cuando cambia alguna opcin de la cabecera, como puede ser el lmite de existencia. Tamao: 16 bits. Direccin de origen: Contiene la direccin del host que enva el paquete. Tamao: 32 bits. Direccin de destino: Esta direccin es la del host que recibir la informacin. Los ruteadores o gateways intermedios, deben conocerla para dirigir correctamente el paquete. Tamao: 32 bits.
3.5.1 Organizacin de la cabecera IP. Direccin de destino Versin IHL Tipo de servicio Longitud total Identificacin Flags Fragmentacin Lmite de existencia Protocolo Comprobacin Direccin de origen La direccin de Internet. El protocolo IP identifica a cada ordenador que se encuentre conectado a la red, mediante su correspondiente direccin. Esta direccin es un nmero de 32 bits, que debe ser nico para cada host, y normalmente suele representarse como cuatro cifras de 8 bits, separadas por puntos. La direccin de Internet o direccin IP, se utiliza para identificar tanto al ordenador en concreto, como la red a la que pertenece, de manera que sea posible distinguir a los ordenadores, que se encuentran conectados a una misma red. Con este propsito, y teniendo en cuenta que en Internet, se encuentran interconectadas redes de tamaos muy diversos, se establecieron tres clases diferentes de direcciones, las cuales se representan mediante tres rangos de valores: Clase A: Son las que en su primer byte, tienen un valor comprendido entre 1 y 126, incluyendo ambos valores. Estas direcciones utilizan nicamente este primer byte para identificar la red, quedando los otros tres bytes disponibles para cada uno de los hosts, que pertenezcan a esta misma red. Esto significa que podrn existir ms de diecisis millones de ordenadores, en cada una de las redes de esta clase. Este tipo de direcciones es usado por redes muy extensas, pero hay que tener en cuenta que slo puede haber 126 redes de este tamao. ARPANET 7 es una de ellas, existiendo adems algunas grandes redes comerciales, aunque son pocas las organizaciones que obtienen una direccin de "clase A". Lo normal para las grandes organizaciones, es que utilicen una o varias redes de "clase B". Clase B: Estas direcciones utilizan en su primer byte, un valor comprendido entre 128 y 191, incluyendo ambos. En este caso, el identificador de la red se obtiene de los dos primeros bytes de la direccin, teniendo que ser un valor entre 128.1 y 191.254 (no es posible utilizar los valores 0 y 255 por tener un significado especial). Los dos ltimos bytes de la direccin, constituyen el identificador del host, permitiendo, por consiguiente, un nmero mximo
7 ARPANET: Familia de protocolos para interenet 44 | P g i n a
de 64, 516 ordenadores en la misma red. Este tipo de direcciones tendra que ser suficiente, para la gran mayora de las organizaciones grandes. En caso de que el nmero de ordenadores que se necesita conectar fuese mayor, sera posible obtener ms de una direccin de "clase B", evitando de esta forma el uso de una de "clase A". Clase C: En este caso el valor del primer byte tendr que estar comprendido entre 192 y 223, incluyendo ambos valores. Este tercer tipo de direcciones utiliza los tres primeros bytes para el nmero de la red, con un rango desde 192.1.1 hasta 223.254.254. De esta manera queda libre un byte para el host, lo que permite que se conecten un mximo de 254 ordenadores en cada red. Estas direcciones permiten un menor nmero de host que las anteriores, aunque son las ms numerosas, pudiendo existir un gran nmero redes de este tipo (ms de dos millones).
Tabla de direcciones IP de Internet. Clase Primer byte Identificacin de red Identificacin de hosts Nmero de redes Nmero de hosts A 1 .. 126 1 byte 3 byte 126 16.387.064 B 128 .. 191 2 byte 2 byte 16.256 64.516 C 192 .. 223 3 byte 1 byte 2.064.512 254 Tabla 6 - Clases de direcciones IP En la clasificacin de direcciones anterior, se puede notar que ciertos nmeros no se usan. Algunos de ellos se encuentran reservados para un posible uso futuro, como es el caso de las direcciones, cuyo primer byte sea superior a 223 (clases D y E, que an no estn definidas), mientras que el valor 127 en el primer byte, se utiliza en algunos sistemas para propsitos especiales. Tambin es importante notar, que los valores 0 y 255 en cualquier byte de la direccin, no pueden usarse normalmente por tener otros propsitos especficos. El nmero 0 est reservado para las mquinas que no conocen su direccin, pudiendo utilizarse tanto en la identificacin de red, para mquinas que an no conocen el nmero de red a la que se encuentran conectadas, en la identificacin de host para mquinas que an no conocen su nmero de host dentro de la red, o en ambos casos. El nmero 255 tiene tambin un significado especial, puesto que se reserva para el broadcast 8 . El broadcast es necesario, cuando se pretende hacer que un mensaje sea visible para todos los sistemas conectados a la misma red. Esto puede ser til si se necesita enviar el mismo datagrama a un nmero determinado de sistemas, resultando ms eficiente, que enviar la misma informacin solicitada de manera individual a cada uno. Otra situacin para el uso de broadcast, es cuando se quiere convertir el nombre por dominio de un ordenador, a su correspondiente nmero IP, y no se conoce la direccin del servidor de nombres de dominio ms cercano. Lo usual, es que cuando se quiere hacer uso del broadcast, se utilice una direccin compuesta por el identificador normal de la red y por el nmero 255 (todo unos en binario), en cada byte que identifique al host. Sin embargo por conveniencia, tambin se permite el uso del nmero 255.255.255.255, con la misma finalidad, de forma que resulte ms simple referirse a todos los sistemas de la red.
8 Broadcast: Hace referencia a una direccin que enva datos a todos los destinos de la red. 45 | P g i n a
El broadcast, es una caracterstica que se encuentra implementada de formas diferentes, dependiendo del medio utilizado, y por lo tanto, no siempre se encuentra disponible. En ARPAnet y en las lneas punto a punto, no es posible enviar broadcast, pero s que es posible hacerlo en las redes Ethernet, donde se supone que todos los ordenadores prestarn atencin a este tipo de mensajes. En el caso de algunas organizaciones extensas, puede surgir la necesidad de dividir la red en otras redes ms pequeas (subnets). Como ejemplo, podemos suponer una red de clase B que, naturalmente, tiene asignado como identificador de red un nmero de dos bytes. En este caso sera posible utilizar el tercer byte, para indicar en qu red Ethernet se encuentra un host en concreto. Esta divisin no tendr ningn significado, para cualquier otro ordenador que est conectado a una red, perteneciente a otra organizacin, puesto que el tercer byte no ser comprobado ni tratado de forma especial. Sin embargo, en el interior de esta red, existir una divisin y ser necesario disponer de un software de red, especialmente diseado para ello. De esta forma, queda oculta la organizacin interior de la red, siendo mucho ms cmodo el acceso, que si se tratara de varias direcciones de clase C independientes.
3.6 IP (Internet Protocol) versin 6. La nueva versin del protocolo IP recibe el nombre de IPv6, aunque es tambin conocido comnmente como IPng (Internet Protocol Next Generation). El nmero de versin de este protocolo es el 6, frente a la versin 4 utilizada hasta entonces, puesto que la versin 5 no pas de la fase experimental. Los cambios que se introducen en esta nueva versin, son muchos y de gran importancia, aunque la transicin desde la versin 4 no debera ser problemtica, gracias a las caractersticas de compatibilidad que se han incluido en el protocolo. IPng, se ha diseado para solucionar todos los problemas que surgen con la versin anterior, y adems ofrecer soporte a las nuevas redes de alto rendimiento (como ATM, Gigabit Ethernet, etc.) Una de las caractersticas ms llamativas es el nuevo sistema de direcciones, en el cual se pasa de los 32 a los 128 bits, eliminando todas las restricciones del sistema actual. Otro de los aspectos mejorados es la seguridad, que en la versin anterior constitua uno de los mayores problemas. Adems, el nuevo formato de la cabecera se ha organizado de una manera ms efectiva, permitiendo que las opciones se siten en extensiones separadas de la cabecera principal.
Formato de la cabecera. El tamao de la cabecera que el protocolo IPv6 aade a los datos es de 320 bits, el doble que en la versin 4. Sin embargo, esta nueva cabecera se ha simplificado con respecto a la anterior. Algunos campos se han retirado de la misma, mientras que otros se han convertido en opcionales, por medio de las extensiones. De esta manera los ruteadores, no tienen que procesar parte de la informacin de la cabecera, lo que permite aumentar de rendimiento en la transmisin. El formato completo de la cabecera sin las extensiones, es el siguiente: Versin: Nmero de versin del protocolo IP, que en este caso contendr el valor 6. Tamao: 4 bits. Prioridad: Contiene el valor de la prioridad o importancia del paquete que se est enviando, con respecto a otros paquetes provenientes de la misma fuente. Tamao: 4 bits. 46 | P g i n a
Etiqueta de flujo: Campo que se utiliza para indicar, que el paquete requiere un tratamiento especial, por parte de los ruteador que lo soporten. Tamao: 24 bits. Longitud: Es la longitud en bytes de los datos que se encuentran a continuacin de la cabecera. Tamao: 16 bits. Siguiente cabecera: Se utiliza para indicar el protocolo al que corresponde la cabecera, que se sita a continuacin de la actual. El valor de este campo, es el mismo que el de protocolo en la versin 4 de IP. Tamao: 8 bits. Lmite de existencia: Tiene el mismo propsito que el campo de la versin 4, y es un valor que disminuye en una unidad, cada vez que el paquete pasa por un nodo. Tamao: 8 bits. Direccin de origen: El nmero de direccin del host que enva el paquete. Su longitud es cuatro veces mayor que en la versin 4. Tamao: 128 bits. Direccin de destino: Nmero de direccin de destino, aunque puede no coincidir con la direccin del host final en algunos casos. Su longitud es cuatro veces mayor que en la versin 4 del protocolo IP. Tamao: 128 bits. Organizacin de la cabecera IPv6. Versin Prioridad Etiqueta de flujo Longitud Siguiente cabecera Lmite de existencia Direccin de origen Direccin de destino Las extensiones que permite aadir esta versin del protocolo, se sitan inmediatamente despus de la cabecera normal, y antes de la cabecera, que incluye el protocolo de nivel de transporte. Los datos situados en cabeceras opcionales, se procesan slo cuando el mensaje llega a su destino final, lo que supone una mejora en el rendimiento. Otra ventaja adicional, es que el tamao de la cabecera no est limitado a un valor fijo de bytes, como ocurra en la versin 4. Por razones de eficiencia, las extensiones de la cabecera, siempre tienen un tamao mltiplo de 8 bytes. Actualmente, se encuentran definidas extensiones para ruteo extendido, fragmentacin y ensamblaje, seguridad, confidencialidad de datos, etc. Direcciones en la versin 6. El sistema de direcciones, es uno de los cambios ms importantes que afectan a la versin 6 del protocolo IP, donde se han pasado de los 32 a los 128 bits (cuatro veces mayor). Estas nuevas direcciones, identifican a un interfaz o conjunto de interfaces y no a un nodo, aunque como cada interfaz pertenece a un nodo, es posible referirse a stos a travs de su interfaz. El nmero de direcciones diferentes que pueden utilizarse con 128 bits, es enorme. Tericamente seran 2128 direcciones posibles, siempre que no apliquemos algn formato u organizacin a estas direcciones. Este nmero es extremadamente alto, pudiendo llegar a soportar ms de 665.000 trillones de direcciones distintas, por cada metro cuadrado de la superficie del planeta Tierra. Segn diversas fuentes consultadas, estos nmeros una vez organizados de forma prctica y jerrquica, quedaran reducidos en el peor de los casos, a 1.564 direcciones por cada metro cuadrado, y siendo optimistas, se podran alcanzar entre los tres y cuatro trillones. 47 | P g i n a
Existen tres tipos bsicos de direcciones IPng segn se utilicen, para identificar a un interfaz en concreto o a un grupo de interfaces. Los bits de mayor peso, de los que componen la direccin IPng, son los que permiten distinguir el tipo de direccin, emplendose un nmero variable de bits para cada caso. Estos tres tipos de direcciones, son: Direcciones Unicast 9 : Son las direcciones dirigidas a un nico interfaz de la red. Las direcciones Unicast que se encuentran definidas actualmente, estn divididas en varios grupos. Dentro de este tipo de direcciones se encuentra tambin, un formato especial que facilita la compatibilidad con las direcciones de la versin 4 del protocolo IP. Direcciones Anycast 10 : Identifican a un conjunto de interfaces de la red. El paquete se enviar a un interfaz cualquiera, de las que forman parte del conjunto. Estas direcciones son en realidad direcciones Unicast, que se encuentran asignadas a varios interfaces, los cuales necesitan ser configurados de manera especial. El formato es el mismo que el de las direcciones Unicast. Direcciones Multicast 11 : Este tipo de direcciones, identifica a un conjunto de interfaces de la red, de manera que el paquete es enviado a cada una de ellos individualmente. Las direcciones de Broadcast, no estn implementadas en esta versin del protocolo, debido a que esta misma funcin puede realizarse ahora, mediante el uso de las direcciones multicast.
9 Unicast: Es una direccin que enva nicamente a un destino 10 Anycast: Es una direccin que enva a varios destinos aleatoriamente 11 Multicast: Es una direccin que enva a varios destinos definidos. 48 | P g i n a
Captulo 4 Hardware
49 | P g i n a
4.1 Descripcin En este captulo, se presenta la parte fsica relacionada al proyecto, donde el dispositivo principal para realizar el control y monitoreo, es el IP Power Aviosys 9212, que consiste en un controlador de red, que nos permitir comunicar una interfaz Web con otros dispositivos externos, como lo son el sensor de humo, temperatura y presencia, siendo estos ltimos los dispositivos que nos permitirn realizar el monitoreo del lugar, por otra parte, tenemos la activacin de ventiladores y acceso al centro de cmputo, como la parte correspondiente al control. Adems del dispositivo que nos permitir realizar la conexin por medio de la Web, se utiliza otro microcontrolador que nos sirve para implementar los sub-sistemas, para el monitoreo de temperatura y la deteccin de presencia, el motivo de utilizar otro microcontrolador, es que el dispositivo que se conecta a la red, slo recibe voltajes para activar o desactivar las entradas en determinadas condiciones. A continuacin, se presenta un diagrama de cmo estar estructurado el sistema, posteriormente se desglosar cada uno de los mdulos.
Ilustracin 8 - Diagrama a bloques del sistema
4.2 IP Power Aviosys 9212 Es un sistema cerrado que consiste en un controlador de red con ocho entradas digitales y ocho salidas digitales, no requiere de una PC o software especfico, para poder controlar y monitorear de manera remota el estado de algn dispositivo, utiliza un navegador de Internet, como Internet Explorer, Firefox o cualquier otro, a travs del cual se puede tener acceso seguro a sus entradas y salidas, por medio de una aplicacin Web diseada con ese fin.
Ilustracin 9 - Controlador de red IP Power 50 | P g i n a
Otras caractersticas que presenta este dispositivo, es que soporta protocolos de comunicacin, como (WAN/LAN), HTTP, TCP/IP, DHCP, DDNS, WAP por GPRS, posee un servidor SMTP, que le permite realizar intercambio de informacin sobre su funcionamiento en la red, con otros dispositivos con los que se encuentre conectado dentro de sta, proteccin contra inversin de polaridad, es capaz de interactuar con otros dispositivos IP, posee su propio Watchdog, que puede ser utilizado para recuperar el control del microcontrolador, cuando se produce una perturbacin en el software.
Su protocolo de comunicacin IP estndar, le permite conectarlo a cualquier red local de datos o incluso a Internet, permitiendo de esta forma, el acceso a la monitorizacin y control de sus infraestructuras de forma remota, desde cualquier lugar del mundo.
Sus especificaciones son las siguientes:
Dimensiones de los mdulos: 12 Cm. Requerimientos mnimos: - Mnimo Intel Pentium II 300MHz/compatible AMD - WINDOWS OS (IE5.0+SP1) - Mnimo 64MB RAM - Tarjeta VGA - Tarjeta RED con puerto RJ45 - Concentrador o Ruteador Ethernet - Red local o acceso a Internet Como se aprecia en la Ilustracin 9, el IP Power Aviosys est compuesto por 3 mdulos:
1. 9200 (mdulo central con conexin a la red) 2. 9201 (mdulo de entradas) 3. 9202 (mdulo de salida)
Estos 3 dispositivos juntos forman el 9212.
El 9200, es el intermediario entre los dispositivos de control (salidas) y monitoreo (entradas) con la aplicacin Web, a este dispositivo se le enviarn seales que activen o desactiven las entradas o salidas, segn corresponda a los sensores o actuadores del sistema. 51 | P g i n a
Ilustracin 10 - IP Power mdulo 9200 En la parte de control utilizaremos el 9202, con el cual, el acceso al centro de cmputo se podr dar de manera remota, cuando ste sea solicitado por alguna persona, lo cual ser posible por medio de un interruptor que se encontrar en la puerta, por medio de la cmara, se podr verificar la persona que solicita el acceso, y tomar la decisin de darle o no el acceso al lugar; la ventilacin hace referencia al encendido del aire acondicionado o ventiladores, esto se puede dar de manera automtica, cuando se haya rebasado una temperatura de 25 C o manualmente, es decir, se podrn activar stos por medio de la aplicacin Web, sin importar el estado de la temperatura en ese momento, el apagado de los ventiladores se puede hacer manualmente, o dejar que el sistema los desactive automticamente, cuando la temperatura haya disminuido de 25C, y finalmente, la iluminacin consistir en el encendido o apagado de las luces del lugar de manera remota. Este mdulo nos ofrece ocho salidas a relevadores, donde las primeras cuatro son normalmente abiertas, y las restantes normalmente cerradas, soportando un rango de voltajes de 240 VCA/2A o 60VDC. Lo anterior nos indica que de acuerdo al tipo de salida que sea, se puede abrir o cerrar el circuito de salida, dependiendo si se enva un estado alto o bajo a la salida correspondiente. El bloque de control o de salidas se muestra en la Ilustracin 11
Ilustracin 11 - IP Power mdulo 9202
Para el monitoreo utilizaremos el 9201, la temperatura ser medida y mostrada en una pantalla, que se encontrar en el centro de cmputo, adems de enviar una seal de activacin a la aplicacin Web, cuando se haya superado un temperatura de 25C, y desactivar sta cuando la temperatura haya disminuido; el detector de incendios, se refiere a un sensor de humo, que enviar una seal para activar una alarma en caso de que se detecte la presencia de ste en el lugar, y finalmente, un detector de presencia que ser 52 | P g i n a
colocado en la entrada del centro de cmputo, con la finalidad de saber cuando alguien ha entrado o intenta salir del lugar.
Ilustracin 12 - IP Power mdulo 9201 En este mdulo se tiene un total de ocho entradas, de las cuales 4 son entradas de voltaje positivo y las otras 4 corresponden a entradas por voltaje negativo, el voltaje que debe ser introducido en stas va de un rango de 4 a 24 volts y de -4 a -24 volts
Ilustracin 13 - Comportamiento de entradas por voltaje positivo
Ilustracin 14 - Comportamiento de entradas por voltaje negativo
53 | P g i n a
4.2.1 Funcionamiento Nuestro dispositivo est conformado por diversos elementos electrnicos de circuito, sin embargo, los ms importantes son los siguientes: Microcontrolador Memoria Flash Optoacopladores Compuerta de inversin tipo Schmitt Diodos Relevadores A continuacin, explicaremos brevemente las caractersticas de cada uno de stos y posteriormente, la participacin que tienen stos en nuestro aparato.
4.2.2 Funcionamiento del IP Power 9212 IP Power 9200
Ilustracin 15 - Composicin del IP Power 9200
Este dispositivo consta de un microcontrolador capaz de establecer conexin con la red, debido a que el microcontrolador es el cerebro de nuestro aparato, se explicar ms detalle:
54 | P g i n a
Microcontrolador El IP Power es un sistema cerrado, que utiliza algunos componentes desarrollados por la empresa que construye estos aparatos, por tal motivo, fue necesario buscar equivalentes de aquellos dispositivos de los cuales no es posible obtener informacin, por ser nicamente de uso exclusivo de esta empresa; uno de estos dispositivos es el microcontrolador, que se encarga de controlar todo el sistema; consiste en un circuito de montaje superficial que consta de 100 patas, y tiene como caracterstica principal el soportar Ethernet y algunos protocolos de red, como es TCP/IP. La empresa Microchip cuenta con una familia de Controladores, que se asemeja al procesador que se encuentra integrado dentro del IP Power, estos dispositivos son los PIC18F97J60, los cuales se encuentran disponibles en 3 diferentes versiones, cambiando la capacidad que tiene cada uno de stos, y en consecuencia el nmero de patas que cada uno de stos tiene, dentro de sus principales caractersticas encontramos lo siguiente:
Trabaja bajo el estndar IEEE 802.3 Soporta Ethernet 10 Base-T Verificacin y rechazo de paquetes errneos Buffer de 8 K-bytes para enviar y recibir paquetes Soporta paquetes Multicast, Unicast y Broadcast Memoria flash de 128 Kbytes Memoria SRAM de 3808 bytes 70 patas dedicadas a entradas y salidas Convertidor analgico digital de 10 bits 5 temporizadores de 8 y 16 bits
En la Ilustracin 16, se muestra el diagrama de controlador PIC18F97J60 con la especificacin que corresponde a cada una de sus patas, considerando que ste es el que ms se asemeja al procesador contenido en el IP Power. 55 | P g i n a
El controlador que se muestra en la ilustracin 16, cuenta con un sistema de reloj, memoria interna flash, una memoria cach para aumentar la velocidad de procesamiento, una Unidad Aritmtica Lgica encargada de realizar las operaciones lgicas y matemticas, nueve puertos que pueden ser utilizados como entradas o salidas, cada uno de stos a su vez es de 8 bits, y su unidad de procesamiento central que constituyen como tal a este microcontrolador, en la Ilustracin 16 se muestra ms detalladamente, como se encuentran interrelacionados los elementos que constituyen a este dispositivo.
Ilustracin 16 - Diagrama del controlador 18F97J60
56 | P g i n a
Ilustracin 17 - Diagrama en bloques del controlador 18F97J60
57 | P g i n a
Como se haba mencionado anteriormente, una de las principales caractersticas del controlador 18F97J60 es que soporta Ethernet, por lo cual se basa en las especificaciones de del estndar IEEE 802.3 para 10-base T, contiene un mdulo para filtrar paquetes errneos que provengan de la red, as como un bloque encargado del reconocimiento de IP. En la Ilustracin 18 se muestra como se encuentra constituido el mdulo de Ethernet. Este mdulo se encuentra constituido de 5 bloques, que son: El bloque PHY, que codifica y decodifica los datos analgicos, que estn presentes en el interfaz de par trenzado, y enva o recibe datos a travs de la red.
El mdulo MAC implementa IEEE 802.3, y proporciona los medios independientes de la interfaz de administracin (MIIM), para el control del bloque PHY.
Un bloque de memoria para almacenar y recibir mensajes de la red.
El DMA se encargar de recibir o enviar bloques de datos, para controlar el acceso al buffer de la RAM, cuando ste sea solicitado al ncleo del controlador.
Un registro de interfaz que funciona como un intrprete de comandos.
Ilustracin 18 - Diagrama a bloques del mdulo de Ethernet
58 | P g i n a
Memoria Flash
El IP Power cuenta con una memoria flash 39VF40704CNH, que nos permite almacenar o leer datos que sea necesarios cuando se ejecuta un programa, a diferencia de las memorias que se utilizaban anteriormente como la EPROM , las memorias flash tienen la caracterstica de poder escribir o borrar varias localidades de memoria, en una misma operacin, utilizando impulsos elctricos para lograrlo. La memoria utilizada en este dispositivo est fabricada con compuertas NOR y NAND, para poder almacenar la informacin representada en forma binaria, en las localidades de memoria, el papel que desempea la memoria flash dentro del sistema del IP Power, es almacenar informacin de los programas que se ejecutan para realizar operaciones, como la inicializacin, el control del mdulo Ethernet y control de flujo de informacin entre otras.
Optoacoplador
Adems de los dispositivos mencionados hasta el momento el IP Power, cuenta con un gran nmero de optoacopladores, entre los cuales tenemos 2 tipos el LA213 y PC817 , su funcin principal es la de actuar como interruptores electrnicos, que son activados mediante la excitacin de luz que se produce internamente, al alimentar sus terminales de entrada con un determinado valor de voltaje y corriente, para obtener un voltaje de salida correspondiente a un estado alto o bajo, dependiendo del voltaje que se tiene a la entrada, es importante mencionar que se utilizan 2 tipos de optoacopladores, ya que uno es utilizado para corrientes de entrada de 5 mA., que podramos considerar como corrientes bajas para el PC817, y corrientes de entrada de 50 mA. para el LA213, lo que se considerara como corrientes altas dentro del IP Power. En la Ilustracin 19 se muestra un diagrama de cmo est constituido un optoacoplador, donde podemos ver su entrada del lado izquierdo y la salida del lado derecho, en la parte central y encerrada dentro de un recuadro vemos un diodo LED, que se encuentra frente a un fototransistor, el cual al recibir la suficiente cantidad de luz emitida por el diodo LED, nos generar un voltaje a la salida o estado alto, y en caso contrario un estado bajo.
Ilustracin 19 - Optoacoplador 4N35 formado por un LED y un fototransistor 59 | P g i n a
Disparadores de Schmitt
El disparador Schmitt 74HC14D es utilizado como un comparador, para determinar el estado que se tendr a la salida dependiendo del valor de umbral que se tenga, se pueden presentar los siguientes casos: a) Si la seal de entrada es superior a la del rango de umbral, se tiene un estado alto como salida. b) Si la seal de entrada es menor a la del rango de umbral, se tiene una seal de salida baja. c) Si la seal es del mismo valor que el rango de umbral, a la salida se tiene una seal del mismo valor que a la entrada. A partir de lo anterior, podemos decir que estos dispositivos son utilizados para filtrar la seales, y mantener ciertos estados a la salida, hasta que sucedan cambios en la seal de entrada que logren alterar el estado de salida.
Ilustracin 20 - Circuito integrado con disparadores tipo Schmitt
Diodos de germanio y silicio Los diodos son utilizados para rectificar seales, ya que slo permiten el paso de corriente en un solo sentido, el cual siempre va de nodo a ctodo y slo si el voltaje entre sus terminales es mayor a 0.3, para los diodos de germanio y 0.7 para los diodos de silicio , un punto importante al utilizar los diodos, es que se tienen diversas aplicaciones, de acuerdo a la forma en que estos se encuentren conectados dentro de un circuito, pero siempre manteniendo como fundamento el paso de corriente en un solo sentido, los diodos que se utilizan, son 1N47 y 1N57 como diodos de germanio y IN4004 como diodo de silicio.
Ilustracin 21 - Diodos de Germanio y Silicio
60 | P g i n a
4.2.3 IP Power 9201 (Entradas)
Ilustracin 22 - Composicin del IP Power 9201
Como se puede observar, nuestro circuito se encuentra formado principalmente por 3 elementos: -Optoacopladores -Resistores -Diodos Dentro de los Optoacopladores, tenemos el modelo PC817 de la marca Sharp. Dentro de los resistores, tenemos: -Resistor de 510 Ohms a 2 Watts (valor no comercial) -Resistor de 380 Ohms a Watt (valor no comercial) Dentro de los diodos rectificadores, tenemos: -1N57 (Germanio) -1N4004 (Silicio)
61 | P g i n a
El funcionamiento de este circuito es sencillo, el 9201 cuenta con un total de 8 entradas digitales, de las cuales, 4 de ellas son entradas positivas y las otras 4 son negativas, esto se logra gracias a la forma en la que se encuentras conectados nuestros diodos.
Estas conexiones son 2 de tipos: Por polarizacin directa y por polarizacin inversa
Ilustracin 23 - Configuracin de las polarizaciones de un diodo
El optoacoplador como ya se mencion anteriormente, es un dispositivo de emisin y recepcin de luz que funciona como un interruptor excitado mediante la luz, una vez que la seal pasa por nuestros diodos, este elemento la recibir y posteriormente la enviar al microcontrolador, tambin nos sirve con proteccin para este ltimo. 62 | P g i n a
4.2.4 IP Power 9202 (Salidas)
Ilustracin 24 -Composicin del IP Power 9202
Como se puede observar, nuestro circuito se encuentra formado principalmente por 3 elementos: -Relevadores -Resistores -Diodos Dentro de los Relevadores, tenemos el modelo RAS-0310 Dentro de los resistores, tenemos: -Resistor de 1 Ohm a Watt -Resistor de 380 Ohms a Watt (valor no comercial) Dentro de los diodos rectificadores tenemos: -1N47 (Germanio) El funcionamiento de este circuito es an ms sencillo que el anterior, el 9202 cuenta con un total de 8 salidas digitales, de las cuales, 4 de ellas son entradas NA (normalmente abiertas) y 4 NC (normalmente cerradas). Las salidas 1, 2, 3 y 4 son NC, mientras que las 5, 6, 7 y 8 son NA.
63 | P g i n a
De tal modo, que cuando nuestro mdulo principal manda una seal, sta pasa por el optoacoplador, luego los diodos y termina con los resistores, as, finalmente tenemos 5 Volts para el relevador deseado; los resistores son para reducir el voltaje, ya que nuestros relevadores son de 3V. Los diodos, por otro lado, son para proteger al mdulo principal de una fuerza contra electromotriz (FEM), independientemente de que nuestro circuito, tambin se encuentra protegido por el optoacoplador.
64 | P g i n a
4.3 Diagrama de conexiones elctricas de nuestra interfaz A continuacin, se mostrar cmo se encuentran conectados nuestros sensores a los dispositivos de entrada y salida, con los que se ilustrar de forma breve, cmo ser el funcionamiento de nuestro prototipo, y posteriormente explicaremos cada unos de stos.
Ilustracin 25 - Diagrama elctrico del mdulo de salidas 65 | P g i n a
4.4 Mdulo de control Para el control, consideraremos los parmetros antes mencionados, stos son el acceso al lugar, iluminacin y ventilacin. A cada uno de stos le corresponde un dispositivo especfico, los cuales sern conectados a las salidas normalmente abiertas del mdulo de control (9202), lo que indica que los dispositivos que se encuentren conectados a estas salidas, se encontraran apagados mientras se tenga un estado bajo como salida, y se encendern al enviar un estado alto a stas. Iniciaremos con la parte relacionada al acceso del lugar, para lo cual utilizaremos un actuador universal de seguros elctricos, que ser instalado en la puerta del lugar, de manera que se encuentre cerrada, y que al enviar un estado alto a la salida, genere la apertura de la puerta y con esto, el acceso al centro de cmputo. El actuador a utilizar, es el siguiente:
Ilustracin 26 - Actuador para seguros elctricos
Algunas caractersticas de este dispositivo, son:
-Tiene un tiempo de vida de hasta 100,000 operaciones. -Tamao de 160 x 60 x 30 mm. -Peso de 130 g. -Fuerza de desplazamiento de 2.5 kg.
Para poder activar este dispositivo se requiere una alimentacin de 12 volts, y la conexin al mdulo de control, es como se indica en el Ilustracin 27.
Ilustracin 27 - Conexin del actuador de seguros
66 | P g i n a
El siguiente punto a considerar dentro del mdulo de control es la ventilacin, esto se refiere al encendido del aire acondicionado o en este caso del ventilador, cuando se ha alcanzado una temperatura determinada; para fines del centro de cmputo, esta temperatura es de 25 C, la razn de tomar este valor como referencia, es que a una temperatura mayor a sta, los equipos que se encuentran en el lugar podran comenzar a presentar fallas, lo cual se vera directamente reflejado en inconformidad por parte de los usuarios, por la falta del servicio que proporcionen esos equipos e incluso de los dueos del lugar, por los gastos que implicara una situacin como sta; es por este motivo que la automatizacin o control remoto del aire acondicionado o ventiladores, se vuelve una parte fundamental dentro de este proyecto. Para fines demostrativos del funcionamiento del proyecto, se utilizar un ventilador de bajo consumo de energa, como el que se muestra en la Ilustracin 28, en general estos dispositivos tienen las siguientes caractersticas: Se alimentan con 12 Volts de C.D. Requieren 60 mA. para funcionar 700 mW. de potencia Giran de 7000 a 10000 RPM Generan 25 dBA. de ruido Dimensiones de 40 x 40 x 10 mm.
Ilustracin 28 - Ventilador VN2
La conexin de los ventiladores es similar a la del actuador, y se muestra a continuacin:
Ilustracin 29 - Conexin de ventilador 67 | P g i n a
Para finalizar con la parte de control, hemos considerado la iluminacin como un factor que se debe controlar, al ser una aplicacin para un centro de cmputo, no es necesario que sta se encuentre activa todo el tiempo, ya que originaria incrementos en la temperatura , para fines demostrativos, hemos decidido representar la iluminacin con un foco, como el que se muestra en la Ilustracin 30.
Ilustracin 30 - Foco miniatura de bayoneta
Este foco requiere de 12 volts de alimentacin.
Ilustracin 31 - Conexin de foco miniatura
68 | P g i n a
4.5 Mdulo de Monitoreo En el monitoreo estamos considerando 4 puntos importantes, como son: la vigilancia, temperatura, detector de incendios y detector de presencia, todos con excepcin de la vigilancia, deben ir conectados al mdulo de entradas del IP Power, el motivo de lo anterior, es que la cmara simplemente se conecta a la red, para poder visualizar lo que sucede en el lugar en tiempo real. La cmara que utilizaremos, es la siguiente:
Ilustracin 32 - Cmara Web
Sus caractersticas son: Soporta 350K pxeles 640 x 480 pxeles formato VGA Interfaz USB 1.1 Lente de foco ajustable Cmara de sensor: 1/4-inch color CMOS sensor Pxel: VGA Formato 640 X 480 Resolucin: 1280 x 960, 800 x 600, 640 x 480, 352 x 288, 320 x 240, 176 x 144, 160 x 120 Fotogramas por segundo: 30 fps @ 352 x 288, 15 fps @ 640 x 480 Distancia de Foco: 3 cm ~ infinito Lente de ngulo ancho: 56 grados Diagonal Color: hasta 16.8 millones de color verdadero (24-bit) Duracin: Aproximadamente 17-pulgadas Para conectar la cmara es necesario el uso de una computadora que ser nuestro servidor, ah tambin se aloja nuestra pgina de control.
69 | P g i n a
Para conectarnos a la red necesitamos de un ruteador, por lo cual utilizaremos el siguiente : D-Link DI-524 Es un Servidor de Internet Inalmbrico potenciado, perteneciente a la lnea AirPlus G de D-Link, que responde al estndar IEEE 802.11g, operando en un de ancho de banda de 54Mbps. El DI-524, interopera en forma transparente con cualquier producto inalmbrico de D-Link, o con cualquier producto de otros fabricantes, bajo el estndar IEEE 802.11b y con el estndar IEEE 802.11g. Cuenta con altas tasas de transferencia y un muy buen nivel de seguridad. El Internet Server AirPlus G DI-524, incorpora mecanismos adicionales de seguridad, tales como Wi-Fi, Protected Access (WPA) y 802.1x, que en conjunto con un servidor Radius, proporcionan un mayor nivel de Seguridad.
Ilustracin 33 - Ruteador Inalmbrico Principales Caractersticas y Facilidades:
Rendimiento 5 x veces superior que el de un producto Wireless 11b Ancho de Banda de 54Mbps, en 2.4GHz Compatible con productos que operen bajo el estndar 802.11b y 802.11g, y todos los productos Wireless de D-Link Seguridad Avanzada, WPA Funcionalidades de Firewall, y Soporte VPN Pass-through Control de acceso hacia Internet Antena desmontable con conector RSMA DHCP Server Fcil Instalacin gracias al Soporte de UPnP Alto Rendimiento Fcil integracin en red
Hay que aclarar que el ruteador a utilizar puede ser cualquiera, nosotros hemos propuesto ste, por ser un modelo comn en el mercado de bajo costo y alto rendimiento.
70 | P g i n a
Sensores Los tres sensores que integran nuestro sistema, son de humo, temperatura y presencia, el primero tiene su circuito independiente y se conectar directamente a las entradas del IP Power, mientras que para los sensores de temperatura y presencia, utilizaremos el microcontrolador F2012 de Texas Instruments, como ya se haba mencionado anteriormente. El motivo de usar este microcontrolador, es que se necesita de un convertidor analgico digital, para interpretar la seales que nos regresa el sensor de temperatura utilizado, en este caso el LM35, adems, a este microcontrolador le hemos integrado una pantalla LCD, donde se indica la temperatura actual del lugar, y de igual forma, hemos integrado a este mismo, el sensor de presencia que fue construido a partir de un lser y un fotodiodo.
Sensor de humo El sensor o detector de humo, se construye a partir de componentes electrnicos, y basa su funcionamiento en comprobar la transparencia del aire, o la falta de humo en sta. Esto se logra comprobando continuamente la luz que recibe una fotorresistencia (LDR), de un LED ubicado enfrente, la fotorresistencia entregar un valor estable en un ambiente libre de humo, y valores variables en caso de que detecte la existe la presencia de humo en el ambiente.
Ilustracin 34 - Diagrama del sensor de humo
La Ilustracin 34 indica cmo se constituye un detector de humo internamente, y cuyo funcionamiento se basa en un circuito de reloj NE555 , una alimentacin de 12 volts y una salida a relevador que nos entregar un nivel alto en la presencia de humo, o un nivel bajo en caso contrario.
Su funcionamiento consiste en un LED, cuya corriente se limita con una resistencia de 1K en serie, el LED iluminar permanentemente a una fotorresistencia que se ubica exactamente enfrente del LED. Esta fotorresistencia junto con el potencimetro de 50K, configuran un divisor de voltaje que dispara el 555 cuando la fotorresistencia esta a "oscuras", es decir, no recibe iluminacin del LED. El nivel del disparo se ajusta mediante el potencimetro de 50k, para poder variar la sensible el sistema, logrando esto mediante la variacin de la resistencia que proporciona la fotorresistencia, de acuerdo a la iluminacin que recibe. 71 | P g i n a
El NE555 se encuentra configurado como monoestable, y permanece en reposo mientras la fotorresistencia se encuentre iluminada, cuando sta deja de ser iluminada debido a la presencia de un obstculo o humo en este caso, se dispara, y su salida permanece en estado alto un tiempo que depende de la carga del capacitor de 100uF/16V y el potencimetro de 10k. La salida del NE555, a travs de una resistencia de 1.5K excita un transistor 2N3904, que a su vez permite que la bobina del relevador se energice, cuando el NE555 vuelve al estado de reposo, el transistor vuelve a bloquearse y el relevador se desactiva. Se ha colocado un diodo en paralelo con la bobina del relevador, para evitar que la corriente generada en la desconexin dae el transistor. A la salida del relevador tendremos un estado alto o bajo, de acuerdo a la condicin en que se encuentre el circuito, es decir, si la fotorresistencia recibe luz del LED, tendremos un estado bajo a la salida y un estado alto en caso contrario.
Sensor de temperatura
Para los sensores de presencia y de temperatura, se utiliz el microcontrolador F2012, que cuenta con 2 puertos integrados, el P1 con sus 8 bits y el P2 con slo 2 bits, los cuales pueden ser configurados como entradas o salidas de manera independiente, caracterstica que puede resultar de gran utilidad, ya que dentro de un mismo puerto es posible tener combinacin de bits como entradas y salidas, esto se logra configurando los registros asociados a cada uno de los puertos, como lo son: PxIN, PxOUT, PxDIR, Px REN, PxSEL1, PxSEL2, P1IFG, P2IFG, etc. Para poder realizar operaciones bsicas de escritura y lectura de puertos, solo nos enfocaremos en los registros PxDIR , PxSEL , PxIN, PxOUT, de los cuales los 2 primeros nos servirn para configurar el puerto, es decir, si estos sern entradas o salidas , y los 2 ltimos para realizar la interfaz de informacin del microcontrolador con el exterior. A continuacin, se describe brevemente cul es la funcin que desempea cada uno de estos registros:
PxSEL activa las lneas del puerto x para entradas o salidas.
PxDIR; selecciona si el bit del puerto funcionar como una entrada o salida, esto dependiendo del valor que se tenga en este registro, si bit=0 la pata del puerto funciona como una entrada, pero si el bit=1 la pata del puerto funciona como salida.
PxIN almacena en el registro el valor que se tenga en la entrada, es decir, pone en el bit del registro un cero, si la entrada en el bit del puerto es baja, y colocar un 1, en el caso de que la entrada sea un nivel alto.
PxOUT Refleja el valor que est contenido en el bit del registro, a la pata correspondiente del puerto x.
Lo anterior se describe con la finalidad de identificar ms adelante, la forma en que se encuentran configurados los puertos del microcontrolador, tanto en el sensor de presencia, como en el de temperatura.
72 | P g i n a
Para la realizacin de este sensor, se ha configurado un bit de alguno de los puertos como entrada, para realizar la lectura de los valores que proporciona el sensor LM35 y otro tres como salidas, a travs de los cuales se envan combinaciones que la aplicacin Web, interpretar como valores especficos de temperatura , el realizar esto es necesario para poder comunicar a la interfaz Web el estado de la temperatura del lugar, y as poder realizar estadsticas sobre el estado actual y las condiciones previas que se tenan, otro punto importante es mencionar que se requiere colocar un transistor en colector comn con un relevador , para amplificar la seal que nos entrega el microprocesador ,ya que los valores que entrega a la salida, son de 3.3 volts y corrientes muy bajas, lo cual no era suficiente para que el IP Power fuera capaz de detectar la seal. En la Ilustracin 35 es posible ver como se constituye fsicamente este sensor; se puede observar que existe una pantalla LCD cuya finalidad es la de mostrar la temperatura del centro de cmputo, se requiere de un regulador de voltaje de 3.3 12 volts, ya que el microcontrolador solo funciona con este voltaje, y en caso de introducirle un voltaje mayor solo provocaramos dao, adems del regulador de 3.3 volts tambin se utiliza uno de 5 volts 13 , que corresponde al voltaje necesario para alimentar la pantalla LCD, una vez que se han mencionado los elementos que conforman este sensor, procederemos a explicar su funcionamiento. Inicialmente el sensor LM35 14 estar midiendo la temperatura ambiente, y dando como salida una variacin de 10 mV. por cada grado centgrado, es decir, si la temperatura ambiente en ese momento es de de 25C, el valor entre las terminales del LM35 ser de 250 mV., una vez mencionado esto podemos continuar con el funcionamiento del sensor, y decir que el valor que entrega el LM35 es enviado al microcontrolador, donde ser almacenado e interpretado por el convertidor analgico digital , el cual nos dar como resultado un nuevo valor , con el cual ya podremos trabajar en nuestro programa , este valor nos permitir determinar la temperatura exacta en ese momento, hay que aclarar que los valores que se obtienen como temperatura dependen de cmo se haya configurado el convertidor analgico digital, ya que durante la configuracin de ste, se indica el tiempo en que se quiere estar leyendo los datos , una vez que se tiene el dato, ser posible determinar que valores se enviarn a la salidas del microcontrolador, para ser enviadas por la red haciendo uso del IP Power y finalmente llegar a la aplicacin Web.
12 El LM33 es un regulador de 3.3 Volts. 13 El LM7805 es un regulador de 5 Volts. 14 El LM35 es un sensor de temperatura 73 | P g i n a
Ilustracin 35 - Circuito de sensor de temperatura
Sensor de movimiento El sensor de movimiento se cre utilizando un lser y un fotodiodo, que se encuentran frente a frente, su funcionamiento consiste en enviar una seal al microcontrolador cuando detecta algn obstculo entre ellos, es decir, cuando el fotodiodo no recibe iluminacion, indicando as la presencia de un objeto, para que a la salida el microcontrolador enve una seal hacia el IP Power, y as sta pueda ser detectada por la aplicacin Web, al igual que en el sensor de temperatura, el microcontrolador ofrece una seal muy baja, por lo que es necesario enviar a un transistor en configuracin colector comn, para que amplifique la seal, y as ya pueda ser detectada por el IP Power. Como ya se menciona, una parte fundamental en este sensor es el fotodiodo, el cual se parece mucho a un diodo semiconductor comn, pero tiene una caracterstica que lo hace muy especial: es un dispositivo que conduce una cantidad de corriente elctrica, proporcional a la cantidad de luz que lo ilumina. Esta corriente elctrica fluye en sentido opuesto a la flecha del diodo, y se llama corriente de fuga. El fotodiodo se puede utilizar como dispositivo detector de luz, pues convierte la luz en electricidad, y esta variacin de electricidad, es la que se utiliza para informar que hubo un cambio en el nivel de iluminacin sobre el fotodiodo. Si el fotodiodo quedara conectado, de manera que por l circule la corriente (polarizado en sentido directo), la luz que lo incide no tendr efecto sobre l, y se comportar como un diodo semiconductor normal. La mayora de los fotodiodos vienen equipados con un lente, que concentra la cantidad de luz que lo incide, de manera que su reaccin a la luz sea ms evidente. A diferencia del LDR o fotorresistencia, el fotodiodo responde a los cambios de oscuridad a iluminacin y viceversa, 74 | P g i n a
con mucha ms velocidad, y puede utilizarse en circuitos con tiempo de respuesta ms pequeo. Partiendo de lo anterior, este es el diagrama del sensor de movimiento:
Ilustracin 36 - Diagrama de sensor de presencia
75 | P g i n a
Captulo 5 Diseo del Software
76 | P g i n a
Como ya se mencion en captulos anteriores, nuestro sistema est conformado por un conjunto de sensores y actuadores que por s solos no tienen ningn sentido, hasta que son capaces de interactuar con un usuario final, localizado en cualquier parte de la red local o a travs de Internet. La forma en que se da esta interaccin, es por medio del software, por lo que agruparemos el desarrollo del mismo en los siguientes bloques o etapas:
- Servidor web para hospedaje del nuestra aplicacin. - Programacin general de la aplicacin: Diseo de la Biblioteca de Clases. - Desarrollo de aplicacin Web ASP.NET. - Desarrollo de los objetos Silverlight. - Programacin de microcontrolador MSP430 F2012 para monitoreo y control de condiciones de temperatura, humedad, presencia, entre otros. - Pruebas de funcionamiento
A continuacin, se explicar a detalle cada uno de los puntos mencionados, as como la forma en que se da la interaccin entre los diversos componentes.
77 | P g i n a
5.1 Servidor Web IIS, es el software estndar que soporta comunicaciones Internet en Windows NT. No es el nico, ni proporciona todos los servicios posibles; sin embargo, su importancia es enorme al haberse convertido en uno de los ms extendidos; haciendo fuerte competencia a los servidores basados en plataformas UNIX. El auge viene de la mano de la fuerte penetracin de Windows NT, complementndose muy adecuadamente con ste, desde el punto de vista comercial y tcnico. La razn por la cual se hace uso de IIS, es debido al soporte nativo de ASP.NET y Silverlight, que para el proyecto sern las principales herramientas de desarrollo. Aunque nuestro objetivo es implementar la aplicacin sobre Internet, debido al costo que conlleva la renta de una IP fija, las pruebas e implementacin se harn de manera local por medio de intranet (Red Local), dejando muy en claro el hecho de que la implementacin sobre Internet, no representa diferencia alguna en el diseo del proyecto.
Para hospedar la aplicacin sobre una red local (Intranet), se requiere: Adaptador de red. Un servidor DNS o WINS, si deseamos usar nombres de dominio en lugar de direcciones IP numricas.
Para hospedarla en Internet: Adaptador de red. Conexin a Internet Direccin IP registrada en un DNS
Lo anterior nos lo proporcionan los Proveedores de Servicios Internet (ISP), junto con la direccin IP de Gateway de su servidor, a travs del cual se realizarn los encaminamientos de la informacin.
78 | P g i n a
5.1.1 Configuracin de IIS La configuracin del servidor es relativamente sencilla, por lo que nicamente se mostrar de forma general el proceso: - Creacin de un nuevo sitio Web. - Indicar ubicacin fsica de la aplicacin. - Creacin de directorio virtual. - Convertir el directorio virtual en aplicacin. - Editar el archivo web.config de acuerdo a la configuracin deseada. - Habilitar dentro de Extensiones en la consola de IIS, las requeridas por la aplicacin; por default estn habilitadas las ms comunes; para el proyecto en particular es necesario habilitar las extensiones .xap, las cuales son requeridas para la ejecucin de Silverlight.
Seguridad del sitio web La seguridad del sitio Web es especialmente importante, debido a la necesidad de garantizar su uso por usuarios remotos autorizados. IIS utiliza la seguridad de Windows NT y en algunos casos la ampla de acuerdo a las necesidades. Se recomienda el uso del sistema de archivos NTFS de Windows NT, debido a la seguridad. Windows NT basa su seguridad en el sistema de usuarios y contraseas, el uso adecuado de stas contribuye a mantener el equipo seguro. La mayor parte de las peticiones de pginas Web son realizadas por clientes annimos, en este caso, el servidor Web se encarga de suplantar al usuario final (o remoto), mediante el uso de la cuenta del usuario annimo. Mecanismo de seguridad en una peticin: 1. Comprobacin de la direccin IP del Cliente por IIS. 2. Comprobacin de usuario y contrasea. 3. Comprobacin de los permisos de acceso a archivos establecidos en el sistema NTFS. Si cualquiera de estas comprobaciones es errnea, la peticin no tendr xito. Administracin de la cuenta de usuario annimo. Cuando se instala IIS, se crea automticamente en NT el usuario annimo con el nombre IUSR_Nombre_del_equipo, y con la misma contrasea aleatoria que en IIS y el derecho de Inicio de Sesin en Local. Conviene revisar los derechos de los grupos que tienen los grupos Todos e Invitados, a los que pertenece el usuario annimo. Para que el usuario annimo tenga el acceso adecuado a la aplicacin, debemos habilitar la opcin Permitir Annimos en las propiedades del servicio Web.
79 | P g i n a
Autenticacin Si se desea, se puede restringir el uso de los servicios Web, de tal forma que nicamente los clientes que acceden por medio de un nombre de usuario y una contrasea vlidos, puedan acceder a las pginas solicitadas. En IIS existen 2 formas de autenticacin: o Autenticacin Bsica: El usuario y la clave se transmiten sin cifrar. o Autenticacin Desafo/Respuesta de Windows NT: El usuario y la clave se transmiten cifrados; el usuario debe de estar dado de alta en el dominio de la mquina que ejecuta IIS, y tener derechos de Acceso al equipo desde la red. Este tipo de autenticacin es ms adecuado en redes Locales (Intranet) y aplicaciones pequeas, con la desventaja adems de precisar un cliente Internet Explorer en una versin reciente. Generalmente se permiten de forma simultnea, tanto usuarios Annimos como Mecanismos de autenticacin, en este caso se utiliza por defecto al usuario Annimo, y si esto ocasiona un problema de acceso a un recurso, el cliente recibe una ventana de dilogo solicitndole sus respectivas credenciales. Para nuestra aplicacin, se har uso en primera instancia de las cuentas de usuario annimo.
80 | P g i n a
5.2 Programacin general de la aplicacin: Diseo de la Biblioteca de Clases Debido a la gran extensibilidad y adaptabilidad de la tecnologa .NET es posible programar cualquier aplicacin, encapsular y trasladar el cdigo de la misma a cualquier plataforma que se requiera (Web o Aplicaciones del Sistema Operativo), la transicin de la aplicacin entre plataformas es casi transparente, ya que slo se requiere hacer el mnimo de ajustes y nicamente cambiar la interfaz grfica final, dejando prcticamente igual el cdigo que se encuentra detrs; en este sentido, nuestro objetivo es generar una Biblioteca de Clases a partir de la DLL Bsica proporcionada por el fabricante, de manera que la implementemos en una Aplicacin ASP.NET/Silverlight, eliminando as los problemas de compatibilidad de la primera con los componentes ms recientes del .NET Framework 3.5. El hecho de utilizar un dispositivo cerrado, para establecer la comunicacin entre nuestro microcontrolador y el Servidor Web, normalmente limita un poco la capacidad de desarrollo en cuestiones de comunicacin e implementacin, pero esto puede solucionarse haciendo un poco de programacin extra, complementando la biblioteca de comunicacin bsica proporcionada. El fabricante nos proporciona una DLL (Dynamic Link Library) con las funciones bsicas de comunicacin, entre las cuales encontramos 3 principales: - Establecer IP. - Leer estados (En los mdulos de entrada y salida). - Escribir estados. Las cuales, aunque no es posible modificarlas en su forma bsica, si se pueden aprovechar dentro de funciones mucho ms complejas, moldendolas as acorde a nuestras necesidades e implementarlas en una Biblioteca de Clases, de la siguiente manera: - Crear un una Biblioteca de Clases en VB.NET 3.5 - Incluir como referencia de la Biblioteca a la DLL Proporcionada por el fabricante. - Hacer referencia a las funciones de dicha DLL y asignando adems un Alias para las mismas. - Declarar nuestras Funciones y Constructores incluyendo las funciones referenciadas (del fabricante), y complementarlas con cdigo propio, acorde a nuestras necesidades. - Finalmente generar nuestra DLL propia, compatible con cualquier aplicacin del Framework.
Lo anterior se muestra en el siguiente diagrama (Diagrama 1, Implementacin de la biblioteca de clases): 81 | P g i n a
Diagrama 1 - Implementacin de la Biblioteca de clases Como se puede observar en el esquema anterior, el hecho de implementar las funciones del fabricante dentro de una biblioteca de clases del .NET Framework 3.5, nos brinda un rango mucho ms amplio en cuanto al manejo de la informacin se refiere; adems del hecho de poder implementar dicha Biblioteca de Clases dentro de cualquier aplicacin, desarrollada para el .NET Framework 3.5, sin importar el lenguaje o plataforma sobre la cual se est desarrollando, y al mismo tiempo protegiendo el cdigo bsico de comunicacin. Siendo ms especficos, la forma en que se implementarn las funciones del fabricante en nuestra biblioteca de clases (DLL), ser la siguiente: - Establecer IP (setip) Prototipo: void EstablecerIP (string) Como su nombre lo indica, permite fijar una IP que representa la direccin lgica del dispositivo (IP Power), con el que estableceremos la comunicacin para posteriormente hacer uso de las otras funciones. Toma como parmetro una cadena representando a la IP, la funcin se ejecutar cada vez que se cree una instancia de la clase; de manera tal que si se cuenta con ms de un dispositivo (IP Power), se crear una instancia de la clase por cada uno de ellos, llamando a esta funcin en cada ocasin. - Recibir Estado de Mdulo de entrada (receive)
Prototipo: int RecibirEstado ()
El objetivo de esta funcin es leer el estado actual del mdulo de entrada; al llamar a esta funcin obtenemos como resultado una variable de tipo int (entero), que contiene el valor hexadecimal de los puertos de dicho mdulo.
82 | P g i n a
Cabe sealar adems que sta es una funcin de vital importancia, ya que la informacin que obtendremos como resultado de la misma, nos indica si se genera una alarma en el prototipo, as como tambin el estado actual de las condiciones ambientales a controlar; la manera en que se implementa esta funcin para lo antes mencionado, ser detallada un poco ms adelante.
- Enviar Datos (transfer)
Prototipo: void Enviar (int)
Al ejecutar esta funcin, es posible abrir o cerrar puertos; con lo cual ejecutamos las diferentes acciones de control; consiste en enviar como parmetro de la funcin un valor hexadecimal, que describe el estado que deseamos en los puertos de salida; dicho valor es actualizado cada vez que se realiza alguna accin de control. Un dato interesante, es que estas funciones hacen uso del protocolo UDP (User Datagram Protocol), que al no ser orientado a la conexin, la transferencia es mucho ms rpida, debido a la inexistencia de confirmacin y control de flujo, con lo que el hecho de perder un paquete no representa un gran problema; lo anterior es de gran utilidad, si se tienen un gran nmero de usuarios conectados a la aplicacin, cada uno de los cuales hace constantes solicitudes y envo de informacin al dispositivo (IP Power), aunque de manera indirecta a travs del Servidor Web, por lo que el establecer y cerrar conexiones para cada uno de los clientes, terminara generando una sobrecarga al dispositivo; es en este escenario donde el UDP puede controlar de manera eficiente la transmisin de datos. Entonces la clase implementada para la transferencia de informacin, queda de la siguiente manera (Figura 7):
Tabla 7 Socket IP A partir de esta clase implementada dentro de la aplicacin, podemos manejar n dispositivos simplemente declarando nuevas instancias de la misma. Para ejemplificar las funciones de la Biblioteca de Clases ya implementada en la aplicacin se muestra la siguiente imagen (Diagrama 2, flujo de informacin en la aplicacin): 83 | P g i n a
Diagrama 2 - Flujo de informacin entre Aplicacin-Dispositivo de control
Ahora se describir de manera general, la forma en que se hace uso de las funciones antes mencionadas; es importante sealar que la forma de presentar los datos depender del tipo de aplicacin (Web), y se detallar un poco ms adelante: La aplicacin est compuesta de 4 mdulos (Diagrama 3): Mdulo de Monitoreo. Mdulo de Control. Mdulo de Vigilancia. Mdulo de Seguridad (De acceso a la aplicacin).
Diagrama 3 - Mdulos de la aplicacin
84 | P g i n a
- Al iniciar el Mdulo de Monitoreo se inicia un Temporizador configurable que cada 2 segundos (Valor predeterminado), solicita una actualizacin de los estados de los puertos, haciendo una llamada a la funcin RecibirEstado(); esos datos son aprovechados por la aplicacin para realizar las siguientes acciones:
o Dibujar sobre un conjunto de medidores animados el estado de la temperatura, o una grfica poligonal mostrando el cambio del valor respecto al tiempo.
o Mostrar el estado de puertas y sensor de presencia.
o Verificar el estado de las alarmas (stas son activadas en situaciones crticas detectadas por los sensores) para que en caso de generarse alguna de estas situaciones, mostrarla como un punto de atencin rojo sobre el diagrama virtual del Sitio de Cmputo, especficamente colocado en el lugar donde dicha alarma se ha generado.
- El Mdulo de Control se activa cuando el usuario ejecuta alguna accin de control desde la interfaz; dichas acciones pueden ser: abrir/cerrar puertas, encender/apagar luces o activar/desactivar la ventilacin manualmente; para lo anterior se utiliza la funcin Enviar (), escribiendo los estados de los puertos del mdulo salida, y as llevar a cabo la accin determinada.
- El Mdulo de Vigilancia al igual que el anterior, se habilita a peticin del usuario, y su funcin es la de mostrar la imagen que est siendo visualizada por la Cmara IP, en ese preciso momento.
- El mdulo de seguridad es tambin muy importante, y est orientado a limitar el acceso a la aplicacin, solamente a los usuarios que el administrador permita; como se podr imaginar este mdulo es ms bien un complemento a la aplicacin, ya que en ningn proyecto de este tipo se debe dejar de lado la seguridad.
85 | P g i n a
5.3 Desarrollo de aplicacin Web ASP.NET
Es importante recordar, que dentro de nuestros objetivos incluimos la capacidad de poder acceder a la aplicacin, desde distintos tipos de dispositivos fijos y mviles (Smartphone, Palm, Pocket PC, entre otros), para lo cual es necesario desarrollar una interfaz amigable, extensible y con soporte para stos; se propone entonces lo siguiente: Disear e implementar una aplicacin Web en ASP.NET con complementos en Silverlight; dicha aplicacin ser accesible a todo usuario desde Internet e Intranet (Red Local), con el nico requerimiento de contar con el .NET Framework ms reciente, y un explorador de Internet compatible con la tecnologa Silverlight. La aplicacin estar alojada en un Servidor Web ubicado en la red local del dispositivo a controlar. Al hacer uso de la tecnologa ASP.NET, el control se ejecuta de El lado del servidor; recordando un poco la arquitectura del sistema el Servidor Web, est ubicando en la red local del Sistema de Monitoreo y Control, de manera que las consultas y acciones son llevadas al sistema de control nicamente a travs de la red local, protegiendo as el acceso directo al dispositivo (IP Power), por parte de cualquier usuario desde Internet. Dividiremos el desarrollo de la aplicacin Web en varias etapas:
Comunicacin con el(los) dispositivos a controlar Como se indic anteriormente, la base de la comunicacin entre el Sistema de Monitoreo y Control y la aplicacin, es a partir de la implementacin de la Biblioteca de Clases desarrollada, dentro de la aplicacin el usuario indicar el momento en que la aplicacin se conectar al dispositivo, y es a partir de ah cuando comenzar la interaccin entre el Sistema de Control, la Aplicacin Web y el Usuario.
Interaccin Aplicacin-Usuario Una vez que la comunicacin se ha establecido, toca el turno de los Controles Grficos de la aplicacin presentar de manera eficiente la informacin; para ello haremos uso de la tecnologa Silverlight, creando un conjunto de objetos animados que permitan brindar al usuario final, una experiencia interactiva y agradable con nuestro sistema de monitoreo y control.
Configuracin de la aplicacin Antes de realizar cualquier tipo de accin sobre la aplicacin, debemos configurar ciertos parmetros; primero que nada debemos agregar una nueva interfaz de control, dicha interfaz quedar permanentemente almacenada en una pequea base de datos, y ser visible para todos los usuarios que accedan al sitio; en cuanto al cdigo, se crear una nueva instancia de la clase por cada interfaz agregada, cada una de ellas con su respectiva IP.
86 | P g i n a
Seguridad No podemos dejar de lado el aspecto de la seguridad en una aplicacin de monitoreo/control; la forma de implementarla se refiere a limitar el acceso a dicha aplicacin, slo a las personas previamente autorizadas.
87 | P g i n a
5.3.1 Desarrollo de los objetos Silverlight Estos objetos son los que proporcionarn la interactividad entre la aplicacin y el usuario; sern un conjunto de indicadores de las condiciones ambientales del centro de cmputo a monitorear, as como una abstraccin virtual del mismo; la forma de operar de los mismos se indica a continuacin:
Indicadores de Sensores Estos indicadores se actualizarn de acuerdo a un temporizador configurable; en cada actualizacin el servidor solicitar la informacin al dispositivo (IP Power), que dirigir la solicitud al microcontrolador y ste responder con la magnitud respectiva al sensor indicado. El hacer uso de Silverlight para ste y los dems objetos, har parecer que la informacin se actualiza de manera casi inmediata, ya que la transicin de un estado a otro se realiza de forma animada, y las formas ya estn cargadas previamente en la cach del explorador.
Plataforma virtual del centro de cmputo La forma de indicar el estado de puertas, luces, ventilacin y alarmas dentro de la aplicacin, ser por medio de una abstraccin virtual del centro de cmputo real; en ella podremos observar los componentes de dicho centro, as como indicadores de los estados crticos mostrados por los sensores, por lo que ser muy fcil detectar, el lugar exacto donde se producen los desencadenadores de las alarmas.
Procedimiento de diseo Recordando un poco el marco terico, en Silverlight tenemos una clara separacin entre cdigo y presentacin (C# y XAML en este caso); por un lado definimos la interfaz y asignamos eventos a ciertas figuras o controles, y por el otro editamos el cdigo referente a cada uno de dichos eventos. La forma en que se crean estos objetos, lleva el siguiente procedimiento: Creacin de formas y colores. Asignacin de identificadores (ID) a dichas formas. Establecer parmetros predeterminados (longitud, coordenadas, tipo de transicin). Definicin del tipo de Animacin. Definicin del Storyboard (Lnea del tiempo) para la transicin de la animacin. Definir el cdigo que por detrs manipular la animacin.
88 | P g i n a
5.3.2 Ejemplo: Indicador de Barras de Temperatura Definiendo formas La forma bsica de dibujar una grfica de comportamiento de temperatura, es a partir de un grfico de barras, cuyo tamao cambiar de acuerdo al valor identificado; procedemos entonces a definirlas por medio de rectngulos, asignando adems los parmetros de color, tamao inicial, etc. <Rectangle x:Name="Temperatura" Visibility="Collapsed" Width="100"> <Rectangle.Fill> <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0"> <GradientStop Color="Black" Offset="0"/> <GradientStop Color="White" Offset="1"/> </LinearGradientBrush> </Rectangle.Fill> </Rectangle>
Animando el control Para animar el control creado, debemos asignar al mismo un Storyboard, al cual que le colocaremos los parmetro referentes a la manera en que dicho control ser modificado; posteriormente a partir del nombre del mismo, es posible referenciarlo dentro del cdigo.
<Rectangle x:Name="Temperatura" Visibility="Collapsed" Width="100"> <Rectangle.Fill> <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0"> <GradientStop Color="Black" Offset="0"/> <GradientStop Color="White" Offset="1"/> </LinearGradientBrush> </Rectangle.Fill> <Rectangle.Resources> <Storyboard x:Name="AnimTemp"> <DoubleAnimation Storyboard.TargetName="GTemp" Storyboard.TargetProperty="Height" From="10" To="300" Duration="0:0:5"> 89 | P g i n a
Finalmente dentro de la programacin, podemos iniciar dicha animacin simplemente haciendo referencia al nombre de la misma y al evento; adems de poder modificar sus parmetros desde el mismo cdigo: AnimTemp.Begin (); Y esa es la forma bsica de animar los controles, debido a la complejidad de algunos de los controles no se describirn a detalle en este momento.
90 | P g i n a
5.4 Programacin del microcontrolador MSP430 F2012 Como se menciona en un captulo anterior, en el caso de la temperatura, tenemos valores analgicos los cuales no podemos captar directamente en nuestro mdulo, ya que sus entradas son nicamente digitales, por esta razn es que utilizaremos este microcontrolador, ya que cuenta con un convertidor analgico-digital, este microcontrolador est programado de tal forma que cuando se rebasa el nivel permitido, ste enviar una seal digital a nuestro mdulo y este a su vez nos informar del suceso. Para lograr este objetivo fue necesario la elaboracin del siguiente programa: 5.4.1 Programa sensor de temperatura #include "msp430x20x2.h"
//Configuracin de las lneas de salida P2SEL &= ~0xC0; P2DIR |= BIT7+BIT6; //P2.6, P2.7 configuradas como salidas
//P1OUT &= ~0xF9; //Borrado de las lneas que ocupa el LCD int i; int s; s = 5; while(--s) vfDelay(0xFFFF); ADC10CTL0 |= ENC + ADC10SC; // Sampling and conversion start Ini_LCD(); Comando_LCD(0x0C); P2OUT = 0x00; for(i = 0; i <= 15; i++) Datos_LCD(Letrero1[i]); //Impresin del Letrero1 Comando_LCD(0xC0); for(i = 0; i <= 15; i++) Datos_LCD(Letrero2[i]); //Impresin del Letrero2 s = 20; while(--s) vfDelay(0xFFFF); //Pausa para poder visualizar los caracteres
Comando_LCD(0x01); //Comando para limpiar la pantalla del LC
Comando_LCD(0xC5); Datos_LCD(UnidadMillar); Datos_LCD(Centena); Datos_LCD(Decena); Datos_LCD(0x2E); Unidad = Unidad + 0x30; Datos_LCD(Unidad); s = 10; while(--s) vfDelay(0xFFFF); //Pausa para poder visualizar los caracteres } }
//Rutinas para el LCD 92 | P g i n a
void Ini_LCD() { P1SEL &= ~0xF9; P1DIR |= BIT7+BIT6+BIT5+BIT4+BIT3+BIT0; //P1.0, P1.3 a P1.7 configuradas como salidas
P1OUT &= ~0xF9; //Borrado de las lneas que ocupa el LCD
P1OUT |= 0x20; //Funtion SET Enable_LCD(); vfDelay(19); //Pausa de 120us Enable_LCD(); P1OUT &= 0x0F; P1OUT |= 0xC0; Enable_LCD(); vfDelay(19); //Pausa de 120us
Comando_LCD(0x0F); //Set ON/OFF of entire display (D),dresser ON/OFF(C), //and blinking of cursor position B Comando_LCD(0x01); //Clear display and return cursor to home position (Address 0). }
//Rutina de Envio de Comandos al LCD void Comando_LCD(char CMD) { P1OUT &= ~BIT0; //RS = 0 Envio_4bits(CMD); if (CMD <= 0x02) vfDelay(815); //Pausa de 4.9ms
else vfDelay(19); //Pausa de 120us }
//Rutina de Envio de Datos al LCD void Datos_LCD(char DAT) { P1OUT |= BIT0; //RS = 1 Envio_4bits(DAT); vfDelay(19); //Pausa de 120us
}
//Rutina de Envio de 4-bits al LCD void Envio_4bits(char BIT) { int Q; Q = BIT & 0xF0; P1OUT &= 0x0F; P1OUT |= Q; Enable_LCD(); Q = BIT << 4; P1OUT &= 0x0F; 93 | P g i n a
P1OUT |= Q; Enable_LCD();
}
//Envio del un pulso para la terminal E del LCD void Enable_LCD() { P1OUT |= BIT3; // E = 1 vfDelay(1); P1OUT &= ~BIT3; // E = 0 }
//Rutina de Tiempo void vfDelay(unsigned int T) {while(--T);} //------------------------------------------------------------------------------ //Rutina de conversin de Binario a BCD void vfBCD(long D) { UnidadMillar = 0x30; Centena = 0x30; Decena = 0x30;
if ( D >= 1000 ) { do { D-=1000; UnidadMillar++; } while ( D >= 1000 ); }
if ( D >= 100 ) { do { D-=100; Centena++; } while ( D >= 100 ); }
if ( D >= 10 ) { do { D-=10; Decena++; 94 | P g i n a
} while ( D >= 10 ); }
Unidad = D; }
95 | P g i n a
Captulo 6 Estudio Econmico
96 | P g i n a
Para la realizacin de este proyecto se requiere del material y equipo que a continuacin se presenta, en este apartado presentamos las caractersticas y costos de cada uno de los elementos a utilizar, sin embargo, existe la posibilidad de buscar algunas otras alternativas, si la persona interesada en el proyecto as lo solicitara. -Equipo de cmputo Es necesario un equipo de cmputo para realizar toda la programacin, pero al final ste tambin ser requerido, ya que ser el encargado de procesar la informacin que se obtiene de los distintos eventos, que sucedan dentro del Cuarto de Cmputo. Componentes Procesador Intel Core2 Duo E7400 (3MB L2 Cache,2.80GHz,1066 FSB)
Memoria 2GB Dual Channel DDR2 SDRAM at 800MHz- 2DIMMs
Disco Duro 250GB Serial ATA Hard Drive (7200RPM) w/DataBurst Cache
Monitor 20 inch S2009WFP Widescreen Digital Flat Panel Monitor
Dispositivo ptico 16X DVD+/-RW Drive
Teclado
Tarjeta de Video
Tarjeta de Sonido
Mouse
Costo : $6,000-$7,000
-Software Visual Studio 2008 ofrece avances clave para desarrolladores en funcin de los siguientes tres pilares:
Desarrollo rpido de aplicaciones Colaboracin eficiente entre equipos Innovacin en experiencias de usuario
Costo : $2500.00
97 | P g i n a
-Cmara Web
Esta cmara presenta las siguientes caractersticas:
Diseo de cuello flexible 350K pxeles 640 x 480 pxeles formato VGA Interfaz USB 1.1 Construido en 3 LEDs infrarrojos de alta potencia para la luz baja Construido en 3 LEDs de alto brillo para el cuarto oscuro Lente de foco ajustable
Cmara de sensor: 1/4 de pulgada color CMOS sensor Pxel: VGA Formato 640 X 480 Resolucin: 1280 x 960, 800 x 600, 640 x 480, 352 x 288, 320 x 240, 176 x 144, 160 x 120 fotogramas por segundo: 30 FPS @ 352 x 288, 15 FPS @ 640 x 480 Mximo de Captura Resolucin: Hasta 1280 x 960 (por software) Distancia de Foco: 3 cm ~ infinito Lente de ngulo ancho: 56 grados Diagonal Color: hasta 16.8 millones de color verdadero (24-bit) Duracin: Aproximadamente 17-pulgadas COSTO $500.00 -Actuador universal para seguros El actuador universal deber ser instalado en la puerta del centro de cmputo para ser conectada al IP Power, y as poder controlar el acceso al lugar. Caracteristicas
- Alimentacin: 12 Vcc - Fuerza de desplazamiento: hasta 2,5 Kg. - Distancia de desplazamiento: 1,9 cm. - Tiempo de vida: hasta 100,000 operaciones - Dimensiones: 16 x 6 x 3 cm. 98 | P g i n a
Costo: $100.00
-Sensores de temperatura Se requiere de estos sensores para saber si el cuarto de cmputo est a la temperatura adecuada, y de no ser as, accionar el aire acondicionado, los sensores a utilizar sern los LM35, ya que nos ofrece una precisin de 1C que va desde -55 a 150 , se presenta en diferentes encapsulados, tiene una salida lineal y equivale a 10mV/C. Se podra colocar un slo sensor, pero para tener una mayor eficiencia se planea poner uno en cada esquina del cuarto de cmputo, y realizar un promedio de las temperaturas de cada uno de stos, para as obtener un valor ms real.
COSTO: $30.00
-Cables para conexiones Se requerir de diversos tipos de cables para realizar conexiones entre los diferentes dispositivos, como lo pueden ser cables seriales, UTP, USB, etc.
COSTO: $100.00
Existen otros elementos que implican ms costos de produccin y deben ser considerados:
99 | P g i n a
-Instalacin y mantenimiento Esto consiste en realizar la instalacin del todo el sistema y proporcionar mantenimiento durante un periodo de tiempo an por definir.
Costo: $3000.00
-IP Power Aviosys 9212
Es la parte central del proyecto, debido a que es el encargado de realizar la conexin por medio de la red entre los dispositivos y la interfaz de control, a travs de sus entradas y salidas digitales, sern conectados los sensores y actuadores que ya se mencionaron anteriormente.
Costo: $1500.00
-Microcontrolador F2012 de Texas Instruments Este microcontrolador ser utilizado para realizar los sensores de temperatura y presencia, con la finalidad de que a la salida nicamente tengamos estados altos o bajos, dependiendo de las condiciones en las que se encuentre el centro de cmputo.
Costo: $300.00
100 | P g i n a
-Otros componentes electrnicos Para la realizacin de los sensores de temperatura y presencia, son necesarios algunos componentes electrnicos, como reguladores de voltaje , capacitores , resistores, transistores, etc. De los cuales se describir su funcin en el captulo dedicado a hardware.
Costo: $100.00
-Ventilador
Este tipo de ventiladores tienen las siguientes caractersticas: Alimentacin de 12 VCD 60 mA. 700 mW de potencia 7000 a 10000 RPM. 25 dBA de ruido Dimensiones de 40 x 40 x 10 mm (2 pulgadas). Costo: $40
101 | P g i n a
-Foco miniatura de bayoneta
Alimentacin: 12 VDC -Ruteador Inalmbrico D-Link
Principales Caractersticas y Facilidades:
Rendimiento 5 x veces superior que el de un producto Wireless 15 11b Ancho de Banda de 54Mbps, en 2.4GHz Compatible con productos que operen bajo el estndar 802.11b y 802.11g, y todos los productos Wireless de D-Link Seguridad Avanzada, WPA Funcionalidades de Firewall, DMZ hots y Soporte VPN Pass-through Control de acceso hacia Interne Antena desmontable con conector RSMA Servidor DHCP Fcil Instalacin gracias al Soporte de UPnP Alto Rendimiento Fcil integracin en red Costo: $1800
15 Wireless significa en espaol inalmbrico 102 | P g i n a
Conclusiones
Despus de realizar un extenso trabajo de desarrollo de software y de hardware, nuestro prototipo finalmente est terminado y listo para utilizarse.
Luego de las pruebas realizadas, tanto en la parte de hardware, como de software, pudimos corroborar y demostrar que nuestro prototipo es un sistema confiable, eficiente y fcil de utilizar para cualquier persona.
Entre estas pruebas destacan las realizadas a los sensores, ya que es de vital importancia que stos, funcionen en tiempo real para que nuestro monitoreo sea lo ms eficiente posible, este objetivo se cumpli y se puede apreciar fcilmente, cuando rebasamos el nivel de temperatura recomendado, cuando hay humo o cuando hay movimiento, ya que inmediatamente que es detectado algn cambio, ste es registrado por nuestra Aplicacin Web, visible desde cualquier parte del mundo. De igual forma, las pruebas realizadas con los actuadores resultaron satisfactorias. Podemos observar que desde diferentes equipos de cmputo de diferentes reas, nuestro equipo se puede controlar sin ningn problema, esto se comprob al activar los diferentes actuadores que tenemos conectados en nuestra maqueta, como lo son: el ventilador, el actuador elctrico para puertas y el encendido de focos. La parte ms destacable de este sistema, es el software, el cual cuenta con un ambiente virtual muy amigable para el usuario, lo cual le permite a cualquier persona (aunque tenga conocimientos limitados en computacin), la operacin de ste de manera sencilla y eficiente. Como se ejecuta por medio de una pgina de Internet, no necesitamos de instaladores ni bibliotecas, ya que todo se encuentra almacenado en nuestro servidor Web. Uno de los problemas a los que nos enfrentamos ocurri al leer las seales de nuestros sensores, ya que aunque se contaba con el voltaje necesario, pero la corriente era insuficiente, por esta razn se utiliz un arreglo de transistor-relevador-resistor polarizado por base. Este dispositivo se recomienda para la industria, para oficinas y para el hogar, para la industria como se requiere de procesos monitoreo y control ms precisos, se requiere afinar an ms este prototipo, en cambio para el uso en oficinas y el hogar este producto resulta recomendable ampliamente.
103 | P g i n a
Bibliografa
1. Redes de Datos y Convergencia IP; Jos Manuel Huidobro Moya, Ramn Jess Milln Tejedor; Editorial Alfaomega; Primera Edicin; Mxico, Julio 2007.
2. Comunicaciones y Redes de Computadoras; William Stallings; Editorial Prentice Hall; Sexta Edicin; Espaa.
3. Ingeniera del Software; Ian Sommerville; Editorial Pearson Addison Wesley; Sptima Edicin.
4. Redes de computadoras; Andrew S. Tanenbaum; Editorial Pearson; Cuarta edicin.
5. Internet, Redes de Computadoras y Sistemas de Informacin; Sergio Talens Oliag, Jos Hernndez Orallo; Editorial Paraninfo.
6. Domine TCP/IP; Jos Luis Raya, Vctor Rodrgo; Editorial Alfaomega, Mxico D.F., 1998. . 7. Redes Globales de Informacin con Internet y TCP/IP, Principios bsicos, Protocolos y Arquitectura; Douglas E. Comer; Editorial Prentice Hall Hispanoamericana, S.A.; Tercera Edicin; Mxico.
104 | P g i n a
8. Programacin Segura con .NET Framework Marino Posadas Netalia Ediciones S.L. Segunda Edicin
9. Aplicaciones .NET Multiplataforma Francisco Javier Ceballos Sierra Editorial Ra-Ma Primera Edicin; Mxico.
Anexo 3 Biblioteca de clases para comunicarse con el IP Power
Public Class ConexionIP 'Funciones de Comunicacin' Declare Function Inicializar Lib "socket.dll" Alias "receivep6" () As Integer Declare Function RecepcionDatos Lib "socket.dll" Alias "receive" () As Integer Declare Function Transferir Lib "socket.dll" Alias "transfer" (ByVal variable As Integer) As Integer Declare Function EstablecerEstado Lib "socket.dll" Alias "setdata" (ByVal variable As Integer) As Integer Declare Function Limpiar Lib "socket.dll" Alias "cleandata" (ByVal variable As Integer) As Integer Declare Sub Setip Lib "socket.dll" Alias "setip" (ByVal variable As String) Dim StatusPuertos As Object
Public IP As String Public Sub ConexionIP(ByVal MiIP As String) IP = MiIP.Trim() Console.WriteLine("La IP es: {0}", IP) End Sub
Public Function GetIP() Return IP End Function
Public Sub New(ByVal MiIP As String) IP = MiIP.Trim() 'Console.WriteLine("La IP es: {0}", IP)' Setip(IP) Dim P6 As Object 108 | P g i n a
P6 = Inicializar
End Sub
Public Sub Controlar(ByVal Elemento As String, ByVal Accion As String) If (Elemento = "Puerta") Then StatusPuertos = EstablecerEstado(&H10) If (Accion = "Off") Then StatusPuertos = Limpiar(&HEF) End If End If
If (Elemento = "Ventilacion") Then StatusPuertos = EstablecerEstado(&H20) If (Accion = "Off") Then StatusPuertos = Limpiar(&HDF) End If End If
If (Elemento = "LucesExt") Then StatusPuertos = EstablecerEstado(&H40) If (Accion = "Off") Then StatusPuertos = Limpiar(&HBF) End If End If
109 | P g i n a
If (Elemento = "LucesInt") Then StatusPuertos = EstablecerEstado(&H80) If (Accion = "Off") Then StatusPuertos = Limpiar(&H7F) End If End If
Dim J As Object
J = Transferir(StatusPuertos)
End Sub
Public Function Monitorear() Dim I As Object I = RecepcionDatos Return I End Function
End Class
110 | P g i n a
Anexo 4 Hojas de Datos Diodo 1N47
111 | P g i n a
Diodo 1N4004
112 | P g i n a
113 | P g i n a
Transistor 2N3904
114 | P g i n a
115 | P g i n a
Optoacoplador LA213
116 | P g i n a
Optoacoplador PC817
117 | P g i n a
118 | P g i n a
Sensor LM35
119 | P g i n a
120 | P g i n a
121 | P g i n a
Circuito Integrado LM555
122 | P g i n a
123 | P g i n a
124 | P g i n a
125 | P g i n a
Anexo 5 ndice de Ilustraciones Ilustracin 1 - Mando a distancia de un televisor ..................................................................... vii Ilustracin 2 - Ejemplo de Domtica en un hogar ...................................................................... 3 Ilustracin 3 - Microcontrolador de montaje superficial .......................................................... 10 Ilustracin 4 - Esquema de un microcontrolador ..................................................................... 10 Ilustracin 5 - Capas de .Net .................................................................................................... 26 Ilustracin 6 - Jerarqua de los objetos Web ............................................................................ 30 Ilustracin 7 - Arquitectura de Silverlight ................................................................................ 33 Ilustracin 8 - Diagrama a bloques del sistema ........................................................................ 49 Ilustracin 9 - Controlador de red IP Power (www.aviosys.com) .............................................. 49 Ilustracin 10 - IP Power mdulo 9200 (www.aviosys.com) ..................................................... 51 Ilustracin 11 - IP Power mdulo 9202 (www.aviosys.com) ..................................................... 51 Ilustracin 12 - IP Power mdulo 9201 (www.aviosys.com) .................................................... 52 Ilustracin 13 - Comportamiento de entradas por voltaje positivo .......................................... 52 Ilustracin 14 - Comportamiento de entradas por voltaje negativo ......................................... 52 Ilustracin 15 - Composicin del IP Power 9200 (www.aviosys.com) ....................................... 53 Ilustracin 16 - Diagrama del controlador 18F97J60 (www.microchip.com) ............................ 55 Ilustracin 17 - Diagrama en bloques del controlador 18F97J60 (www.microchip.com) ........... 56 Ilustracin 18 - Diagrama a bloques del mdulo de Ethernet ................................................... 57 Ilustracin 19 - Optoacoplador 4N35 formado por un LED y un fototransistor ......................... 58 Ilustracin 20 - Circuito integrado con disparadores tipo Schmitt ............................................ 59 Ilustracin 21 - Diodos de Germanio y Silicio ........................................................................... 59 Ilustracin 22 - Composicin del IP Power 9201 (www.aviosys.com) ....................................... 60 Ilustracin 23 - Configuracin de las polarizaciones de un diodo ............................................ 61 Ilustracin 24 -Composicin del IP Power 9202 (www.aviosys.com) ........................................ 62 Ilustracin 25 - Diagrama elctrico del mdulo de salidas ....................................................... 64 Ilustracin 26 - Actuador para seguros elctricos (www.steren.com.mx) ................................ 65 Ilustracin 27 - Conexin del actuador de seguros................................................................... 65 Ilustracin 28 - Ventilador VN2 (www.steren.com.mx) ............................................................ 66 Ilustracin 29 - Conexin de ventilador ................................................................................... 66 Ilustracin 30 - Foco miniatura de bayoneta (www.steren.com.mx) ....................................... 67 Ilustracin 31 - Conexin de foco miniatura ............................................................................ 67 Ilustracin 32 - Cmara Web (www.hp.com.mx)..................................................................... 68 Ilustracin 33 - Ruteador Inalmbrico (www.d-link.com) ......................................................... 69 Ilustracin 34 - Diagrama del sensor de humo ........................................................................ 70 Ilustracin 35 - Circuito de sensor de temperatura ................................................................. 73 Ilustracin 36 - Diagrama de sensor de presencia .................................................................... 74
126 | P g i n a
Anexo 6 ndice de Tablas y Diagramas Tabla 1 Familias de microprocesadores ................................................................................... 23 Tabla 2 - Componentes de Silverlight ...................................................................................... 32 Tabla 3 - Caractersticas de presentacin de Silverlight............................................................ 34 Tabla 4 - Caractersticas Net Framework de Silverlight ............................................................ 35 Tabla 5 - Caractersticas de programacin en Silverlight .......................................................... 36 Tabla 6 - Clases de direcciones IP ............................................................................................ 44 Tabla 7 Socket IP .................................................................................................................... 82
Diagrama 1 - Implementacin de la Biblioteca de clases .......................................................... 81 Diagrama 2 - Flujo de informacin entre Aplicacin-Dispositivo de control ............................. 83 Diagrama 3 - Mdulos de la aplicacin .................................................................................... 83