Sei sulla pagina 1di 23
ESCUELA SUPERIOR POLITÉCNICA DEL LITORAL FACULTAD DE INGENIERIA EN ELECTRICIDAD Y COMPUTACIÓN Redes de Datos
ESCUELA SUPERIOR POLITÉCNICA DEL LITORAL FACULTAD DE INGENIERIA EN ELECTRICIDAD Y COMPUTACIÓN Redes de Datos

ESCUELA SUPERIOR POLITÉCNICA DEL LITORAL

FACULTAD DE INGENIERIA EN ELECTRICIDAD Y COMPUTACIÓN

Redes de Datos I

Casa Inteligente (IOT)

Integrantes:

Zambrano Bonilla Emilio Alejandro López Rosado Juan José

Paralelo # 1

Fecha de presentación:

08 de febrero del 2017

2016-2017 2° TÉRMINO

INTRODUCCION

En los últimos años con el continuo avance en la tecnología y las telecomunicaciones, el desarrollo de lo que se espera en los próximos 20 años represente la interconexión de más de 50 millones de aparatos electrónicos a la red, ha tenido lugar y recibe el nombre de Internet de Las Cosas o IoT, por sus siglas en inglés.

Básicamente se trata de un nuevo esquema en el cual los dispositivos que anteriormente se encontraban comunicados entre sí en un circuito cerrado, puedan intercambiar información y comunicarse a una escala global utilizando las redes, así millones de personas en todo el mundo podrán controlar o monitorear en tiempo real sus dispositivos de forma remota.

El Internet de las Cosas puede llegar a optimizar múltiples tareas, así como crear una nueva forma de obtener información en tiempo real en hogares, centros de diversión, oficinas y en todo lugar con acceso a la red.

El futuro de la automatización del hogar va de la mano con el Internet de las Cosas, imagina que las luces se apagan porque no detectan a nadie en la habitación, o que las persianas se abren dependiendo de la cantidad de luz que hay al amanecer, existen muchas aplicaciones que pueden crearse para el hogar, imagina ahora a una empresa o en la industria.

La sociedad actual está cada vez más interconectada a las redes en todo momento, la llegada del Internet de las Cosas representa una revolución en la forma en cómo nos relacionamos con los objetos que se encuentran presentes en nuestra casa, nuestro trabajo.

El diseño de un Sistema de Automatización del Hogar basado en el internet de las cosas representa no solamente un paso hacia el futuro, también representa mejor aprovechamiento de los recursos, una distribución equitativa e inteligente de las tareas asignadas a cada dispositivo y por supuesto una mejora en la calidad de vida de las personas que decidan adquirir uno de ellos.

OBJETIVO GENERAL

Implementar, controlar y monitorear un sistema domótico de hogares que mediante las variables involucradas (iluminación, temperatura, movimiento, proximidad, etc…) permita realizar el encendido y apagado de dispositivos en lugares remotos, bloqueo y desbloqueo de puertas o ventanas, así como también activación y desactivación de alarmas.

OBJETIVOS ESPECÍFICOS

Elegir los protocolos de comunicación que permitan un canal bidireccional de

intercambio de datos de los dispositivos utilizados.

Elaborar un programa idóneo para controlar un ARDUINO UNO que es el

encargado del manejo de los datos que obtiene de los sensores del sistema.

Seleccionar y examinar la información imprescindible para la parametrización del

sistema.

MARCO TEÓRICO

El internet ha causado un gran impacto en la comunicación, la educación, los negocios, la ciencia y en la humanidad. El Internet de las cosas (IOT) será la próxima evolución de Internet, aunque existen ciertas barreras que hacen retrasar un poco este avance tecnológico como la transición de IPv4 a IPv6, el establecimiento de reglas en común y

el avance de fuentes de energías miles de millones de sensores microscópicos.

Según IBSG (Internet Business Solutions Group) de CISCO, IOT se producirá en el momento en que se conecten a Internet más “cosas u objetos” que personas.

En 2003 la población mundial era de 6,3 mil millones de personas aproximadamente y

la cantidad de equipos conectados a Internet era de 500 millones, lo que equivale a 0,08

dispositivos conectados por persona. El impresionante incremento de los smartphones

y las Tablet PC, los dispositivos conectados a Internet aumentaron de 500 millones a

12,5 mil millones en 2010 y la población mundial ascendió a 6,8 millones, por lo que los

dispositivos conectados por persona ascienden a 1,84. CISCO IBSG estima que IOT nació entre 2008 y 2009.

Estas cifras se calcularon en base al total de la población mundial, gran parte de la cual no está aún conectada a Internet. Si se toma como muestra solamente a las personas que están conectadas a Internet, el número de dispositivos conectados por persona incrementa considerablemente.

En la actualidad IOT está conformada por colecciones de distintas redes con propósitos diferentes. Con la evolución de IOT, muchas redes estarán conectadas con la integración de competencias de administración, análisis y seguridad.

de competencias de administración, análisis y seguridad. IOT ha conseguido que Internet sea sensorial (luz, presión,

IOT ha conseguido que Internet sea sensorial (luz, presión, humedad, temperatura, vibración, etc…), lo que nos permite ser más proactivos y menos reactivos.

Red de Sensores Inalámbricos (WSN)

El concepto de WSN (Wireless Sensor Network) está basado en una serie de dispositivos electrónicos diminutos que acceden al mundo externo a través de sensores. Estos pequeños dispositivos pueden colocarse en cualquier sitio.

pequeños dispositivos pueden colocarse en cualquier sitio. Los motivos principales mediante los cuales consiguen esta

Los motivos principales mediante los cuales consiguen esta ubiquidad de instalación y funcionamiento son:

Son dispositivos autónomos que trabajan con baterías, las cuales pueden recargarse a través de placas solares si se requiere

Todas las comunicaciones realizadas se encuentran basadas en protocolos inalámbricos de bajo consumo como ZigBee, lo que les proporciona pasar a ejecutar la transferencia indispensable y regresar de manera rápida a ese estado de mínimo consumo energético.

manera rápida a ese estado de mínimo consumo energético. Los sensores que utilizaremos para nuestro proyecto

Los sensores que utilizaremos para nuestro proyecto son:

Sensores de luz

Sensores de temperatura

Sensores de proximidad

Sensores de movimiento

Sensores de apertura (puertas/ventanas)

Sistemas Domóticos

La domótica es el conjunto de sistemas competentes para la automatización de un hogar, contribuyendo servicios de comunicación, bienestar, seguridad y gestión energética, y además pueden encontrarse integrados mediante redes interiores y exteriores de comunicación, guiadas por cables o no guiadas de manera inalámbrica, y cuyo control se caracteriza por su ubicuidad, desde dentro y fuera de la vivienda.

La principal ventaja de la domótica inalámbrica es que puede instalarse fácilmente, sin obras y con unos pequeños conocimiento de electricidad y electrónica. Son sistemas escalables, que pueden ir creciendo poco a poco.

En un sistema domótico es indispensable contar con un equipo que controle los dispositivos, un equipo central, y con dispositivos que funcionen bajo órdenes predeterminadas.

El dispositivo central permite unificar todos los dispositivos en una sola red para poder monitorear y controlar las funciones que necesitamos o deseamos.

La central domótica en nuestro caso es un programa específico para nuestro computador o celular (Una aplicación).

La central domótica es la inteligencia del sistema. Los dispositivos controlados por la central a veces trabajan con baterías para no depender de tomas de corriente y así eludir costos de obras, o se incorporan dentro de la red eléctrica del hogar, como los dimmers que se incluyen dentro de los interruptores manteniendo la estética de estos.

Los principales tipos de dispositivos son:

Sensores de luz, apertura, movimiento, proximidad, temperatura

Actuadores y termostatos para calefacción y calderas

Interruptores para el control de puntos de luz, intensidades y persianas

Enchufes para controlar el encendido/apagado y consumo energético

Sistemas de control de riego automático

Arduino Mega2560

[5] El Arduino Mega está basado en el microcontrolador ATMega2560. Tiene 54 pines de entradas/salidas digitales (14 de las cuales pueden ser utilizadas como salidas PWM), 16 entradas analogas, 4 UARTs (puertos serial por hardware), cristal oscilador de 16 Mhz, conexión USB, jack de alimentación, conector ICSP y botón de reset. Incorpora todo lo necesario para que el microcontrolador trabaje; simplementa conectalo a tu PC por medio de un cable USB o con una fuente de alimentación externa. El Arduino Mega es compatible con la mayoría de los shields diseñados para Arduino Duemilanove, diecimila o UNO.

Características:

Microcontrolador ATmega2560.

Voltaje de entrada de 7-12V.

54 pines digitales de Entrada/Salida (14 de PWM).

16 entradas análogas.

256k de memoria flash.

Velocidad de reloj de 16MHz.

Fig3. Placa Arduino Mega2560 Rr3

 16 entradas análogas.  256k de memoria flash.  Velocidad de reloj de 16MHz. Fig3.

SENSOR DE DISTANCIA DE ULTRASONIDO HC-SR04

El HC-SR04 es un sensor de distancias por ultrasonidos capaz de detectar objetos y calcular la distancia a la que se encuentra en un rango de 2 a 450 cm. El sensor funciona por ultrasonidos y contiene toda la electrónica encargada de hacer la medición. Su uso es tan sencillo como enviar el pulso de arranque y medir la anchura del pulso de retorno. De muy pequeño tamaño, el HC-SR04 se destaca por su bajo consumo, gran precisión y bajo precio por lo que está reemplazando a los sensores polaroid en los robots más recientes.

De fácil uso y programación con las placas de Arduino y microcontroladores.

Características:

Dimensiones del circuito: 43 x 20 x 17 mm Tensión de alimentación: 5 Vcc Frecuencia de trabajo: 40 KHz Rango máximo: 4.5 m Rango mínimo: 1.7 cm Duración mínima del pulso de disparo (nivel TTL): 10 μS. Duración del pulso eco de salida (nivel TTL): 100-25000 μS. Tiempo mínimo de espera entre una medida y el inicio de otra 20 mS. Pines de conexión:

VCC Trig (Disparo del ultrasonido) Echo (Recepción del ultrasonido) GND

del ultrasonido) Echo (Recepción del ultrasonido) GND MÓDULO AMS1117 3.3V Características: Es un pequeño

MÓDULO AMS1117 3.3V

Características:

Es un pequeño módulo de AMS1117-3.3 adaptador regulador de voltaje de 3.3 V con salida de CC. Fáciles de instalar y utilizar, y también tienen un consumo de energía reducido Entrada: 4.5-7 V DC. Salida: 3.3 V DC con corriente máxima de 800mA.

y también tienen un consumo de energía reducido Entrada: 4.5-7 V DC. Salida: 3.3 V DC

ESP8266 MODULO WIFI

Descripción:

De todos los productos hoy en día en mercado pensados para IOT, este es sin dudas el mejor. Cabe mencionar que el Esp8266 ya es un micro en si con 16 pines GPIO pero de esto vamos a hablar más adelante. Otra característica en la teoría es su bajo consumo de energía, en modo sleep estamos hablando de uA. Digo en teoría, porque para iniciar, el modulo llega a consumir unos 200mA y mas también, corriente que el arduino no puede brindarle, y esto puede convertirse en un problema, aunque solucionable de momento con una fuente para proto. Este módulo incluye todo lo necesario para conectarse a un punto de acceso WIFI mediante comandos de texto AT, vía una puerta serie, que puede ser configurada a diferentes velocidades. Una vez que lo programamos para conectarse a nuestra red WIFI, el modulo es capaz de enviar información que le remitimos vía la puerta serie a una dirección IP y puerto que deseemos. Cuando se trata de recibir, limpia todo el empaquetado TCPIP y nos reenvía por la puerta serie la información de datos limpia de polvo y paja, con lo que tiene la enorme virtud de permitirnos olvidarnos de la gestión del TCPIP y de las demandas de procesador y memoria que suponen. A cambio no es exactamente una conexión WIFI, porque no tenemos acceso al stack o al socket IP pero para el Arduino esto es casi una ventaja. Con una experiencia bastante más avanzada, más que nada en programación se puede hacer uso del microcontrolador que tiene integrado este poderoso modulo, el cual posee 16 GPIO (General Purpose Input Output), los cuales se pueden configurar como entradas o salidas, al igual que con Arduino, como interrupciones para sacar al módulo de modo sleep, y hasta posee un ADC. Los 16 pines, son en total los que posee este microcontrolador, por lo tanto por más que podemos darles las funciones antes mencionadas, en algunos de ellos también se encuentran la comunicaciones SPI, UART, entre otras funciones.

Características Técnicas

Protocolos soportados: 802.11 b/g/n Wi-Fi Direct (P2p), Soft Access Point Stack TCP/IP integrado PLL, reguladores y unidades de manejo de energía integrados Potencia de salida: +19.5dBm en modo 802.11b Sensor de temperatura integrado Consumo en modo de baja energía: <10 uA Procesador integrado de 32 bits, puede ser utilizado como procesador de aplicaciones Wi-Fi 2.4 GHz, soporta WPA/WPA2 Tamaño ultra reducido (11.5mm x 11.5mm) Conversor analógico a digital de 10-bit Soporta variedad de antenas Integrated low power 32-bit MCU SDIO 2.0, SPI, UART, I2C Encendido y transmisión de datos en menos de 2ms Rango de operación -40C° ~ 125C°

32-bit MCU SDIO 2.0, SPI, UART, I2C Encendido y transmisión de datos en menos de 2ms

SENSOR MINI PIR(HC-SR505)

Este producto está diseñado con aspecto pequeño, la inducción totalmente automático, una excelente sensibilidad, fiabilidad y estabilidad, puede ser ampliamente utilizado en muchos tipos de equipos eléctricos de inducción automática.

Características:

Adecuado para la detección de movimiento, control automático, sensor de proximidad, prevención de robo electrónico, la seguridad, etc

prevención de robo electrónico, la seguridad, etc Especificaciones: Color: blanco Voltaje de funcionamiento:

Especificaciones:

Color: blanco Voltaje de funcionamiento: CC 4.5-20V Nivel de salida: Alto 3.3V / Bajo 0V Corriente estática: <55uA modo de activación: activación repetida Tiempo de bloqueo: 2.5S El tamaño de PCB: 10 * 23mm Ángulo Detective: <100 ° Temperatura de trabajo: -20 --- 80 Peso del paquete: 4g

SERVIDOR WEB

Es un programa que gestiona cualquier aplicación en el lado del servidor realizando conexiones bidireccionales y/o unidireccionales y síncronas o asíncronas con el cliente generando una respuesta en cualquier lenguaje o aplicación en el lado del cliente. El código recibido por el cliente suele ser compilado y ejecutado por un Navegador Web. Para la transmisión de todos estos datos se utiliza algún protocolo. Generalmente se utiliza el protocolo HTTP para estas comunicaciones, perteneciente a la capa de aplicación del Modelo OSI. El término también se emplea para referirse al ordenador que ejecuta el programa. Servicios Internet: Internet es una Red de Ordenadores conectados en toda la extensión del Globo Terráqueo, que ofrece diversos servicios a sus usuarios como pueden ser el Correo electrónico, el Chat o la Web. Todos los servicios que ofrece Internet son llevados a cabo por miles de ordenadores que están permanentemente encendidos y conectados a Internet, esperando que los usuarios les soliciten los servicios y sirviéndolos una vez son solicitados. Página Web: Documento o fuente de información, generalmente en formato HTML y que puede contener hiperenlaces a otras Páginas Web. Dicha página , podrá ser accesible desde un dispositivo físico, una intranet, o Internet. Navegador Web: Para establecer conexiones con los servidores Web, y obtener la información y los servicios que estos prestan, el usuario necesita tener instalado en su equipo un programa cliente capaz de comunicarse con ellos. Estos programas son los llamados Navegadores Web. Los Navegadores Web, también llamados Visores de Web o Browsers, son aplicaciones que permiten ver en pantalla texto con formato (con

palabras en negrita, y con distintas fuentes tipográficas, tamaños y colores) y presentar imágenes en línea. También permiten visualizar secuencias de vídeo y escuchar ficheros de sonido. Servidor: Un Servidor es un tipo de Software que suministra servicios a los usuarios o terminales que lo solicitan. Por ejemplo, en una típica Arquitectura Cliente-servidor, el cliente podría ser un ordenador que realiza peticiones de información a través de un programa de correo (Outlook Express por ejemplo) y, el servidor le entrega los datos en forma de correos electrónicos en respuesta a su solicitud. Un servidor no es necesariamente una máquina de última generación de grandes proporciones, no es necesariamente un superordenador; un servidor puede ser desde una computadora vieja, hasta una máquina sumamente potente (ej. Servidores web, bases de datos grandes, etc., procesadores especiales y hasta varios gigabytes de memoria). Todo esto depende del uso que se le dé al servidor. Si usted lo desea, puede convertir al equipo desde el cual se está trabajando en un servidor instalando un programa que trabaje por la Red y a la que los usuarios de su red ingresen a través de un programa de servidor web como Apache. Por lo cual podemos llegar a la conclusión de que un servidor también puede ser un proceso que entrega información o sirve a otro proceso.

El modelo Cliente-Servidor no necesariamente implica tener dos ordenadores, ya que un proceso cliente puede solicitar algo como una impresión a un proceso servidor en un mismo ordenador. Cliente/servidor: Esta Arquitectura consiste básicamente en un programa cliente que realiza peticiones a otro programa el servidor que le da respuesta. Aunque esta idea se puede aplicar a programas que se ejecutan sobre una sola computadora es más ventajosa en un Sistema Operativo multiusuario distribuido a través de una red de computadoras.

En esta Arquitectura la capacidad de proceso está repartida entre los Clientes y los Servidores, aunque son más importantes las ventajas de tipo organizativo debidas a la centralización de la gestión de la información y la separación de responsabilidades, lo que facilita y clarifica el diseño del sistema. La separación entre Cliente y servidor es una separación de tipo lógico, donde el servidor no se ejecuta necesariamente sobre una sola máquina ni es necesariamente un sólo programa.

Los tipos específicos de servidores que incluyen son los Servidores Web, los Servidores de archivo, los Servidores del correo, etc. Mientras que sus propósitos varían de unos servicios a otros, la arquitectura básica seguirá siendo la misma. Una disposición muy común son los Sistemas multicapa en los que el servidor se descompone en diferentes programas que pueden ser ejecutados por diferentes computadoras aumentando así el grado de distribución del sistema.

Protocolos del Servidor Web Un servidor web es un programa que sirve datos en forma de Páginas Web, hipertextos o páginas HTML (HyperText Markup Language): textos complejos con enlaces, figuras, formularios, botones y objetos incrustados como animaciones o reproductores de sonidos. La comunicación de estos datos entre cliente y servidor se hace por medio un protocolo, concretamente del protocolo Http. Con esto, un servidor Web se mantiene a la espera de peticiones HTTP, que son ejecutadas por un cliente HTTP; lo que solemos conocer como un Navegador Web. A modo de ejemplo: al teclear (http://www.cnice.mec.es) en un navegador, éste realizará una petición HTTP al servidor que tiene asociada dicha URL.

El servidor responde al cliente enviando el código HTML de la página; el navegador cuando recibe el código, lo interpreta y lo muestra en pantalla. El Cliente es el encargado de interpretar el código HTML, es decir, de mostrar las fuentes, los colores

y la disposición de los textos y objetos de la página. El servidor se encarga de

transferir el código de la página sin llevar a cabo ninguna interpretación de la misma.

Servidor Web Local

Tener un servidor Web local debería ser fundamental para todas aquellas personas que no disponen de un Sitio Web online. ¿Por qué? La respuesta es muy sencilla. El Servidor local nos va a permitir comprobar que todas las modificaciones que se van a realizar en nuestro diseños Web, no provoquen algún error que pueda afectar a todos aquellos usuarios que naveguen por la red. Otro aspecto positivo de un Servidor local, es que no hará falta tener que subir ficheros al servidor Ftp para hacer nuestras pruebas con lo cual, la espera se hace más corta.

Como es de suponer, también se permite el acceso a nuestro servidor a cualquier usuario de Internet. Para ello, se configura correctamente el Router y sería de mucha ayuda tener una dirección IP estática, mediante la cual cualquier usuario podría conectarse a nuestro servidor desde un navegador.

Protocolo: Conjunto de reglas que gobiernan el intercambio de datos entre entidades dentro de una red. Es el lenguaje común “que utilizan” los ordenadores para “hablar” y entenderse entre sí. Existen muchos tipos de protocolos cada uno con sus reglas bien definidas, como por ejemplo: FTP, POP3, SMTP, ICMP, etc.

Protocolo HTTP: Una de las características del Protocolo Http es que no es permanente, es decir, cada operación HTTP implica una conexión con el servidor, que es liberada al término de la misma. Por ejemplo, un documento HTML con 10 imágenes son necesarias 11 conexiones distintas (10 imágenes más la página HTML en sí).

Servidores de aplicaciones

Un Servidor de Aplicaciones no es más que un cambio de nombre, para algunos Servidores Web de nueva generación que proporcionan la lógica de negocio sobre la que construir aplicaciones. Suelen asociarse con servidores de alto rendimiento pensados para dar servicio a sitios Web (Web Sites) con grandes necesidades:

afluencia de visitas, movimiento de datos, atención de transacciones hacia bases de datos, etc. Generalmente los fabricantes del sector tienen a disposición del público un servidor Web básico y otro con multitud de extensiones fuertemente integradas al que llaman Servidor de Aplicaciones.

Pasos para la petición de una página Web Primero, el navegador solicita como Cliente DNS la traducción de una URL (por ejemplo http://www.mec.es) a una IP y segundo, una vez que ha recibido la traducción del Servidor DNS, se realiza la petición HTTP al servidor que tenga la IP concreta. Fijémonos que si ponemos la IP en vez de la dirección en el Navegador, también funciona. Además, carece de estado. Cada petición de un cliente a un servidor no es influida por las transacciones anteriores.

El Servidor trata cada petición como una operación totalmente independiente del resto.

A partir de la versión 1.1 del Protocolo http, se pueden habilitar conexiones

persistentes (permiten enviar más objetos con un menor número de conexiones.

Funcionamiento de un Servidor Web

La Web funciona siguiendo el Modelo cliente-servidor. Un Servidor se encarga de prestar el servicio, y un cliente que es quien recibe dicho servicio.

Cliente Web: Es un programa mediante el cual el usuario solicita a un Servidores Web el envío de información. Esta información se transfiere mediante el Protocolo HTTP. Información que recibe: La información que se recibe es un conjunto de documentos de texto codificados en lenguaje HTML.

El Cliente Web debe interpretar estos documentos para mostrárselos al usuario en el formato correspondiente. Cuando la información recibida no es un documento de texto, sino un objeto multimedia que el cliente no sabe interpretar, el propio cliente Web debe activar una aplicación externa encargada de gestionarlo. Clientes Web más habituales:

Los clientes Web más habituales son Microsoft Internet Explorer, Mozilla Firefox y Netscape Navigator.

Arquitectura Modelo Cliente Servidor

Diversas aplicaciones se ejecutan en un entorno Cliente/servidor. Esto significa que los equipos clientes (equipos que forman parte de una red) contactan a un servidor, un equipo generalmente muy potente en materia de capacidad de entrada/salida, que proporciona servicios a los equipos clientes. Estos servicios son programas que proporcionan datos como la hora, archivos, una conexión, etc.

Los servicios son utilizados por programas denominados programas clientes que se ejecutan en equipos clientes. Por eso se utiliza el término "cliente" (cliente FTP, cliente de correo electrónico, etc.) cuando un programa que se ha diseñado para ejecutarse en un equipo cliente, capaz de procesar los datos recibidos de un servidor (en el caso del cliente FTP se trata de archivos, mientras que para el cliente de correo electrónico se trata de correo electrónico).

En la manera de describir la forma de trabajo entre los clientes y los ordenadores se define:

Cliente: Es el ordenador que pide información a otro, mediante la aplicación de un programa llamado cliente. Este contacta con el servidor y Da formato a la petición de la información y da formato a la respuesta.

Servidor: Es el ordenador que ofrece la información mediante la aplicación de un programa llamado servidor que: Recibe la información y la procesa y responde enviando la petición al cliente.

El servidor Web se ejecuta en un ordenador manteniéndose a la espera de peticiones por parte de un cliente (un navegador Web) y que responde a estas peticiones, mediante una Página Web que se exhibirá en el navegador o mostrando el respectivo mensaje si se detectó algún error. A modo de ejemplo, al escribir la siguiente dirección en el navegador, [www.ecured.cu], éste realiza una petición al servidor de dicha dirección. El servidor responde al cliente enviando el código HTML de la página; el cliente, una vez recibido el código, lo interpreta y lo muestra en pantalla. Como observamos en este ejemplo, el cliente es el encargado de compilar y ejecutar el código HTML, es decir, de mostrar las fuentes, los colores y la disposición de los textos y objetos de la página Web; el servidor tan sólo se limita a transferir el código de la página sin realizar ninguna interpretación de la misma. Además de la transferencia de código HTML, los servidores Web pueden entregar aplicaciones Web. Éstas son bloques de código que se ejecutan cuando se realizan ciertas peticiones o respuestas. Se distinguen entre:

Aplicaciones en el lado del cliente: el cliente Web es el encargado de ejecutarlas en la máquina del usuario. Son las aplicaciones tipo Java "applets" o Javascript. El servidor proporciona el código de las aplicaciones al cliente y éste las ejecuta mediante el navegador Web. Por tanto, es necesario que el cliente disponga de un navegador con capacidad para ejecutar aplicaciones (también llamadas Scripts). Generalmente, los navegadores permiten ejecutar aplicaciones escritas en lenguaje Javascript y Java, aunque pueden añadirse más lenguajes mediante el uso de plugins. Aplicaciones en el lado del servidor: el servidor Web ejecuta la aplicación; ésta, una vez ejecutada, genera código HTML; el servidor envía al cliente este código recién creado por medio del protocolo HTTP. Las aplicaciones en el lado del servidor mayormente suelen ser la mejor opción para desarrollar aplicaciones Web. La razón es que, al ejecutarse ésta en el servidor y no en la máquina del cliente, éste último no necesita ninguna capacidad añadida para ejecutar la aplicación, como sí ocurre en el caso de querer ejecutar aplicaciones que incluyan scripts con javascript o java. Así pues, cualquier cliente que disponga de un navegador Web básico puede utilizar este tipo de aplicaciones.

TCP/IP

TCP/IP es un conjunto de protocolos. La sigla TCP/IP significa "Protocolo de control de transmisión/Protocolo de Internet" y se pronuncia "T-C-P-I-P". Proviene de los nombres de dos protocolos importantes del conjunto de protocolos, es decir, del protocolo TCP y del protocolo IP.

En algunos aspectos, TCP/IP representa todas las reglas de comunicación para Internet y se basa en la noción de dirección IP, es decir, en la idea de brindar una dirección IP a cada equipo de la red para poder enrutar paquetes de datos. Debido a que el conjunto de protocolos TCP/IP originalmente se creó con fines militares, está diseñado para cumplir con una cierta cantidad de criterios, entre ellos:

dividir mensajes en paquetes;

usar un sistema de direcciones;

enrutar datos por la red;

detectar errores en las transmisiones de datos.

El conocimiento del conjunto de protocolos TCP/IP no es esencial para un simple usuario, de la misma manera que un espectador no necesita saber cómo funciona su red audiovisual o de televisión. Sin embargo, para las personas que desean administrar o brindar soporte técnico a una red TCP/IP, su conocimiento es fundamental.

La diferencia entre estándar e implementación

En general, TCP/IP relaciona dos nociones:

la noción de estándar: TCP/IP representa la manera en la que se realizan las comunicaciones en una red;

la noción de implementación: la designación TCP/IP generalmente se extiende a software basado en el protocolo TCP/IP. En realidad, TCP/IP es un modelo cuya aplicación de red utilizan los desarrolladores. Las aplicaciones son, por lo tanto, implementaciones del protocolo TCP/IP. TCP/IP es un modelo de capas

Para poder aplicar el modelo TCP/IP en cualquier equipo, es decir, independientemente del sistema operativo, el sistema de protocolos TCP/IP se ha dividido en diversos módulos. Cada uno de éstos realiza una tarea específica.

Además, estos módulos realizan sus tareas uno después del otro en un orden específico, es decir que existe un sistema estratificado. Ésta es la razón por la cual se habla de modelo de capas.

El término capa se utiliza para reflejar el hecho de que los datos que viajan por la red atraviesan distintos niveles de protocolos. Por lo tanto, cada capa procesa sucesivamente los datos (paquetes de información) que circulan por la red, les agrega un elemento de información (llamado encabezado) y los envía a la capa siguiente.

El modelo TCP/IP es muy similar al modelo OSI (modelo de 7 capas) que fue desarrollado por la Organización Internacional para la Estandarización (ISO) para estandarizar las comunicaciones entre equipos.

PLANTEAMIENTO DEL PROBLEMA

Para el desarrollo del Sistema de Automatización del Hogar se van a utilizar los siguientes elementos:

Arduino MEGA2560

Módulo WIFI ESP8266

Sensores (proximidad, movimiento,)

Componentes electrónicos (leds, cables, fuentes de alimentación)

El sistema consiste en un controlador principal que será el Arduino, el cual se encargará de procesar en todo momento las distintas señales obtenidas por la red de sensores, así como la señal enviada por los usuarios. El modulo ESP8266 nos permite darle conectividad, así toda la comunicación se realizará de manera inalámbrica tanto entre controlador y dispositivos como entre el usuario final y el sistema completo.

Los sensores de proximidad serán colocados en los exteriores de la vivienda para que detecten si alguien se encuentra en las cercanías y así encender solamente en esos momentos la iluminación, así se pretende disminuir el consumo eléctrico.

La integración de un control para iluminación interna formado por dos tipos diferentes:

el primero, controlado por el usuario mediante la aplicación, así podrá encender o apagar una habitación desde cualquier lugar del hogar, el segundo, consiste en sensores de movimiento que esperan cierta cantidad de tiempo, y al no detectar movimiento alguno, asumirá que no hay nadie en la habitación y procederá a apagar las luces.

Este sistema contará con un control de apertura y cerradura de las persianas en las ventanas, así como indicadores de la seguridad en las puertas. Adicional a esto, contará con un sistema integrado de alarma que de dar un aviso de alguno de los sensores colocados en las puertas, procederá a activar una alarma.

Finalmente, pensando siempre en los casos donde realmente es necesaria la automatización de las cosas en los hogares, se van a colocar sensores de movimiento en las proximidades de la vivienda, los cuales serán activados únicamente cuando la familia se encuentre de viaje, si llegase a detectar movimientos sospechosos, enviará vía e-mail un mensaje de alerta al usuario.

encuentre de viaje, si llegase a detectar movimientos sospechosos, enviará vía e-mail un mensaje de alerta

Diagrama de bloques

Diagrama de bloques Conclusiones #include <SoftwareSerial.h> #define DEBUG true #define Pecho1 6 #define Ptrig1 7

Conclusiones

#include <SoftwareSerial.h>

#define DEBUG true #define Pecho1 6 #define Ptrig1 7 #define Pecho2 8 #define Ptrig2 9 long duracion1 , distancia1 ; long duracion2 , distancia2 ;

int LEDFACHADA1 = 31 ; int LEDFACHADA2 = 33 ; int LEDFACHADA3 = 35 ; int LEDSALA = 37 ; int LEDCOMEDOR = 39 ; int LEDBANO = 41 ; int LEDESTUDIO = 43 ; int LEDCOCINA = 45 ; int LEDTRASERO1 = 47 ; int LEDTRASERO2 = 49 ; int LEDLATERAL1 = 51 ;

//El manejo del buzzer para la alarma int BUZZER = 4 ; //Para los sensores de movimiento conectaremos a cualquier pin digital int SENS_MOV1 = 30 ; int SENS_MOV2 = 32 ; int SENS_MOV3 = 34 ;

//variables para manejo de sensores

boolean sensoresactivos = false;

boolean alarma = false ;

void setup ()

{

Serial.begin(9600);

Serial1.begin(9600); // velocidad de transmisión podria ser diferente aunque genralmente es la que usa el el modulo modulo

pinMode(LEDFACHADA1,OUTPUT);

pinMode(LEDFACHADA2,OUTPUT);

pinMode(LEDFACHADA3,OUTPUT);

pinMode(LEDSALA,OUTPUT); pinMode(LEDCOMEDOR,OUTPUT); pinMode(LEDBANO,OUTPUT); pinMode(LEDESTUDIO,OUTPUT); pinMode(LEDCOCINA,OUTPUT);

pinMode(LEDTRASERO1,OUTPUT);

pinMode(LEDTRASERO2,OUTPUT);

pinMode(LEDLATERAL1,OUTPUT);

pinMode(SENS_MOV1,INPUT);

pinMode(13,OUTPUT);

pinMode(Pecho1, INPUT); pinMode(Ptrig1, OUTPUT); pinMode(Pecho2, INPUT); pinMode(Ptrig2, OUTPUT);

// define el pin 6 como entrada (echo)

// define el pin 7 como salida

(triger)

// define el pin 8 como entrada (echo)

// define el pin 9 como salida

(triger)

//sendData("AT+RST\r\n",2000,DEBUG); // resetea el modulo sendData("AT+CWMODE=3\r\n",1000,DEBUG); // configure el modulo con AP y Estación al mismo tiempo sendData("AT+CWJAP=\"Smart Home\",\"12345678\"\r\n",1000,DEBUG);// cambiar estos datos por los de tu red

delay(8000);

sendData("AT+CIFSR\r\n",1000,DEBUG); // Este comandos nos indica la configuración ip que ha tomado nuestro módulo sendData("AT+CIPMUX=1\r\n",1000,DEBUG); // Configura multiples coneciones sendData("AT+CIPSERVER=1,80\r\n",1000,DEBUG); // Inicializa el servidor web

}

void loop()

{

if(Serial1.available()) // Verifica si el modulo está disponible

{

if(Serial1.find("+IPD,")) //Busca el campo de texto +IPD

{

delay(1000); //Espera un segundo para leer todos los datos del puerto

serie int connectionId = Serial1.read()-48;

Serial1.find("pin="); // avanza el cursor a "sal="

int pinNumber = (Serial1.read()-48)*10; // conseguir primer número, si el pin es 13, entonces el primer número es 1, entonces se multiplican para obtener 10

pinNumber += (Serial1.read()-48); // consegue el segundo número, si el número de pin es 13, entonces el segundo número es 3, a continuación, le añade al primero

if(pinNumber==11){

digitalWrite(LEDFACHADA1,HIGH);

digitalWrite(LEDFACHADA2,HIGH);

}

else if(pinNumber==12){

digitalWrite(LEDFACHADA1,LOW);

digitalWrite(LEDFACHADA2,LOW);}

//Luces garaje else if(pinNumber==13){

digitalWrite(LEDFACHADA3,HIGH);

}

else if(pinNumber==14){

digitalWrite(LEDFACHADA3,LOW);}

//Luces de Sala else if(pinNumber==15){

digitalWrite(LEDSALA,HIGH);

}

else if(pinNumber==16){

digitalWrite(LEDSALA,LOW);

}

//Luces Comedor else if(pinNumber==17){ digitalWrite(LEDCOMEDOR,HIGH);} else if(pinNumber==18){ digitalWrite(LEDCOMEDOR,LOW);} //Luces baño

else if(pinNumber==19){ digitalWrite(LEDBANO,HIGH);} else if(pinNumber==20){ digitalWrite(LEDBANO,LOW);} //Luces Estudio else if(pinNumber==21){ digitalWrite(LEDESTUDIO,HIGH);

}

else if(pinNumber==22){

digitalWrite(LEDESTUDIO,LOW);} //Luces Cocina else if(pinNumber==23){ digitalWrite(LEDCOCINA,HIGH);

}

else if(pinNumber==24){ digitalWrite(LEDCOCINA,LOW);} //Luces traseras else if(pinNumber==25){

digitalWrite(LEDTRASERO1,HIGH);

digitalWrite(LEDTRASERO2,HIGH);}

else if(pinNumber==26){

digitalWrite(LEDTRASERO1,LOW);

digitalWrite(LEDTRASERO2,LOW);}

//Luces Laterales else if(pinNumber==27){

digitalWrite(LEDLATERAL1,HIGH);

else if(pinNumber==28){

digitalWrite(LEDLATERAL1,LOW);

//Activacion de Sensores de Movimiento else if(pinNumber==29){

//para controlar iluminacion de sala y cocina sensoresactivos=true;

}

//Desactivacion de Sensores de Movimiento else if(pinNumber==30){

sensoresactivos=false;

}

//Activacion y desactivacion de sensores de proximidad alarma else if(pinNumber==31){ alarma=true;} else if(pinNumber==32){ alarma=false;}

String closeCommand = "AT+CIPCLOSE="; closeCommand+=connectionId; closeCommand+="\r\n";

sendData(closeCommand,1000,DEBUG); // cierra la conección

}

}

if(sensoresactivos){

if(digitalRead(SENS_MOV1)==HIGH){

digitalWrite(LEDFACHADA1,HIGH);

digitalWrite(LEDFACHADA2,HIGH);

}

else{

digitalWrite(LEDFACHADA1,LOW);

digitalWrite(LEDFACHADA2,LOW);

}

if(digitalRead(SENS_MOV2)==HIGH){

digitalWrite(LEDFACHADA3,HIGH);

}else{

digitalWrite(LEDFACHADA3,LOW);

}

if(digitalRead(SENS_MOV3)==HIGH){

digitalWrite(LEDLATERAL1,HIGH);

digitalWrite(LEDLATERAL2,HIGH);

}else{

digitalWrite(LEDLATERAL1,LOW);

digitalWrite(LEDLATERAL2,LOW);

}

delay(200);

}

delay(1000);

if (alarma) {digitalWrite(Ptrig1, LOW);

delayMicroseconds(2);

digitalWrite(Ptrig1, HIGH);

delayMicroseconds(10);

digitalWrite(Ptrig1, LOW);

// genera el pulso de triger por 10ms

duracion1 = pulseIn(Pecho1, HIGH); distancia1 = (duracion1/58.2); centimetros digitalWrite(Ptrig2, LOW);

// calcula la distancia en

delayMicroseconds(2);

digitalWrite(Ptrig2, HIGH);

delayMicroseconds(10);

digitalWrite(Ptrig2, LOW);

// genera el pulso de triger por 10ms

duracion2 = pulseIn(Pecho2, HIGH); distancia2 = (duracion2/58.2);

// calcula la distancia en

centimetros if ((distancia1 <= 15 && distancia1 >= 1)||(distancia2 <= 15 && distancia2 >= 1)){

alerta();

//

}

delay(400);

// espera 400ms para que

se logre ver la distancia en la consola

}

}

String sendData(String command, const int timeout, boolean debug)

{

String cadena = "";

Serial1.print(command); // enviar el carácter leído al modulo

long int time = millis();

while( (time+timeout) > millis())

{

while(Serial1.available())

{

// Muestra los Datos de salida del modulo por el seguimiento de la serie char c = Serial1.read(); //Lee el proximo caracter cadena+=c;

}

}

if(debug)

{

Serial.print(cadena);

}

return cadena;

}

//Rutina para sonar una alerta en caso de que alguien se este aproximando a la casa void alerta(){

tone(BUZZER,293.66,200);

delay(200);

tone(BUZZER,293.66,100);

delay(100);

tone(BUZZER,293.66,200);

delay(200);

tone(BUZZER,293.66,100);

delay(100);

tone(BUZZER,293.66,200);

delay(200);

tone(BUZZER,293.66,100);

delay(100);

tone(BUZZER,293.66,100);

delay(100);

tone(BUZZER,293.66,100);

delay(100);

tone(BUZZER,293.66,100);

delay(100);}

Conclusiones

El Internet De Las Cosas será dentro de muy poco el término de moda aunque muchas personas ya lo utilizan a diario sin apenas darse cuenta, pero en muy poco tiempo se convertirá en un hecho, un arma de conexión masiva, un filón para cualquier tipo de negocio. Ahora mismo podemos imaginarnos qué es esto del Internet De Las Cosas pero cuando sea un hecho tendrá un impacto global brutal, tendremos que ser muy inteligentes para movernos en ese nuevo mundo que nos espera a la vuelta de la esquina, pues nos vamos a encontrar con un mundo en que LO REAL y LO DIGITAL será UNO.

El número de cosas conectadas a internet sobrepasó en 2008 el número de habitantes del planeta. Se estima que habrá 50.000 millones de dispositivos conectados en 2020.

El Internet De Las Cosas será dentro de muy poco el término de moda aunque muchas personas ya lo utilizan a diario sin apenas darse cuenta, pero en muy poco tiempo se convertirá en un hecho, un arma de conexión masiva, un filón para cualquier tipo de negocio. Ahora mismo podemos imaginarnos qué es esto del Internet De Las Cosas pero cuando sea un hecho tendrá un impacto global brutal, tendremos que ser muy inteligentes para movernos en ese nuevo mundo que nos espera a la vuelta de la esquina, pues nos vamos a encontrar con un mundo en que LO REAL y LO DIGITAL será UNO.

Con el Internet de las cosas todos los dispositivos se volverían inteligentes siendo capaces de enviar y recibir información de todo tipo. Esta información sería procesada en la nube donde se interpretarían las enormes cantidades de datos (de ahí lo de big data) generadas y al tiempo se compartiría la información en tiempo real y a través de sistemas expertos.

Bibliografía

Doutel, F. (2016). Guía del Arduinomaníaco: todo lo que necesitas saber sobre Arduino. Xataka.com. Retrieved 14 December 2016, from http://www.xataka.com/especiales/guia-del- arduinomaniaco-todo-lo-que-necesitas-saber-sobre-arduino

(2016).

Retrieved

14

December

2016,

from

(2016).

Retrieved

14

December

2016,

from

CdA,

P.

(2016).

Domótica

inalámbrica

para

todos

los

hogares

y

sin

obras.

COSAS

de

ARQUITECTOS.

Retrieved

14

December

 

2016,

from