You are on page 1of 0

2

Instituto Politcnico Nacional


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

</DoubleAnimation>
</Storyboard>
</Rectangle.Resources>
</Rectangle>

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"

void Ini_LCD();
void Enable_LCD();
void Envio_4bits(char);
void Comando_LCD(char);
void Datos_LCD(char);
void vfDelay(unsigned int);

const unsigned char Letrero1[17] = {"MSP430F2012 "};
const unsigned char Letrero2[17] = {" Termometro "};
const unsigned char Letrero3[17] = {" Temperatura. "};
const unsigned char Letrero4[17] = {" +123.4C "};

long temp;
long IntDegC;
long error;
int k = 1;

char UnidadMillar, Centena, Decena, Unidad;

void vfBCD(long);

int main( void )
{
// Stop watchdog timer to prevent time out reset
WDTCTL = WDTPW + WDTHOLD;

//DCO Trabajando a 1MHz aprox.
BCSCTL1 = CALBC1_1MHZ;
DCOCTL = CALDCO_1MHZ;

//Configuracin del ADC10
ADC10CTL0 = SREF_1 + ADC10SHT_1 + MSC + REFON + ADC10ON;
ADC10CTL1 = INCH_1 + ADC10SSEL_0 + CONSEQ_2;
ADC10AE0 |= BIT1;


91 | P g i n a

//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


for(;;)
{
temp = ADC10MEM;
IntDegC = ((temp * 1500)/1023);
vfBCD(IntDegC);

error = k*(250 - IntDegC); // clculo del error


if(error <= -10) // rango de error
P2OUT = 0x40;

if(error >= 10)
P2OUT = 0x80;


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.

10. Silverlight 2.0
Laurence Moroney
Editorial Anaya Multimedia
Segunda Edicin
Mxico.

11. http://es.wikipedia.org/wiki/Control_remoto
12. http://www.adrformacion.com/curso/puntonet/leccion1/tecnologia_punto_net.htm














105 | P g i n a

Anexo 1 Conexiones del Prototipo

Diagrama elctrico del mdulo de salidas


106 | P g i n a

Anexo 2 Conexin de la Red


107 | P g i n a

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

You might also like