tesistesis.ipn.mx/jspui/bitstream/123456789/12478/1/diseñoprototipo.pdf · a mi abuela maría de...

114
INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ELÉCTRICA UNIDAD ZACATENCO Diseño e implementación de un prototipo para monitoreo remoto con un robot móvil, a través de una cámara controlado vía Internet por WiFi” TESIS Que para obtener el título de Ingeniero en Comunicaciones y Electrónica Presentan: Alejandro Aranda Arzaluz Juan Pablo Cruz Gutiérrez Asesores Técnicos: Ing. Armando Mancilla León M. en C. Roberto Galicia Galicia Asesor Metodológico: M. en C. Genaro Zavala Mejia México D.F. 2012

Upload: others

Post on 11-Mar-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: TESIStesis.ipn.mx/jspui/bitstream/123456789/12478/1/diseñoprototipo.pdf · A mi abuela María de la Luz Nava Martínez, por su apoyo, consejos, comprensión y ayuda en los momentos

INSTITUTO POLITÉCNICO NACIONAL

ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ELÉCTRICA UNIDAD ZACATENCO

” Diseño e implementación de un prototipo para monitoreo remoto con

un robot móvil, a través de una cámara controlado vía Internet por WiFi”

TESIS

Que para obtener el título de Ingeniero en Comunicaciones y Electrónica

Presentan:

Alejandro Aranda Arzaluz Juan Pablo Cruz Gutiérrez

Asesores Técnicos:

Ing. Armando Mancilla León M. en C. Roberto Galicia Galicia

Asesor Metodológico:

M. en C. Genaro Zavala Mejia

México D.F. 2012

Page 2: TESIStesis.ipn.mx/jspui/bitstream/123456789/12478/1/diseñoprototipo.pdf · A mi abuela María de la Luz Nava Martínez, por su apoyo, consejos, comprensión y ayuda en los momentos
Page 3: TESIStesis.ipn.mx/jspui/bitstream/123456789/12478/1/diseñoprototipo.pdf · A mi abuela María de la Luz Nava Martínez, por su apoyo, consejos, comprensión y ayuda en los momentos

Sistema de Monitoreo Remoto Vía Internet por WiFi

ii

Dedicatoria y Agradecimientos:

Esta Tesis se la dedico a mi madre Rosalba Arzaluz Nava, por ser el pilar más

importante y por demostrarme siempre su cariño y apoyo incondicional sin importar

nuestras diferencias de opiniones. A quien nunca podre pagar todos sus desvelos, ni

aún con las riquezas más grandes del mundo. A quien han heredado el tesoro más

valioso que puede dársele a un hijo.

A mi padre Gonzalo Arzaluz Gutiérrez, a pesar de nuestra distancia física, siento que

está conmigo siempre y aunque nos faltaron muchas cosas por vivir juntos, sé que este

momento hubiera sido tan especial para ti como lo es para mí.

A mi abuela María de la Luz Nava Martínez, por su apoyo, consejos, comprensión y

ayuda en los momentos difíciles, y por ayudarme con los recursos necesarios para

estudiar.

A mi familia, quienes sin escatimar esfuerzo alguno han sacrificado gran parte de su

vida para formarme y educarme. A quienes la ilusión de su vida ha sido convertirme en

persona de provecho.

A mis amigos Cesar Gutiérrez, Juan Carlos Castillo, Eduardo Huerta y a los Lobos

(Yahveh Cureño Martínez, Gustavo Antonio Bautista, Juan Pablo Cruz Gutiérrez,

Gerardo Nieves Díaz), por haber hecho tan ameno cada momento en esta etapa de mi

vida, por ser tan chidos y prometieron que nunca cambiarían, a pesar del tiempo y la

distancia, el momento o el lugar siempre serán mis amigos.

A mis hermanos Juan Gustavo Mendoza Arzaluz, Karina Mendoza Arzaluz, Mario

Ortuño Mendoza, Monica Martínez Mendoza, Álvaro Martínez Mendoza, Marilyn

Martínez Mendoza, Ricardo Iturbide García, Alejandra Iturbide García, Jessica Ángeles

Arzaluz, Vanessa Ángeles Arzaluz, Jesús Muciño Arzaluz, Arely Ángeles Arzaluz por el

simple hecho de tenerlos a mi lado, conocerlos y vivir día a día momentos de felicidad,

tristezas y alegrías sin condición alguna.

A mis asesores Roberto Galicia Galicia, Armando Mancilla León, agradezco

infinitamente toda su confianza y apoyo, por compartir desinteresadamente sus

conocimientos, experiencias, consejos para realizar con éxito este proyecto.

Por esto y más….Gracias.

Alejandro Aranda Arzaluz

A mi familia

Page 4: TESIStesis.ipn.mx/jspui/bitstream/123456789/12478/1/diseñoprototipo.pdf · A mi abuela María de la Luz Nava Martínez, por su apoyo, consejos, comprensión y ayuda en los momentos

Sistema de Monitoreo Remoto Vía Internet por WiFi

iii

Mis padres Julio Cruz Cruz y María Elena Gutiérrez Jiménez así como mis hermanos

Julio Cruz Gutiérrez y Marlene Cruz Gutiérrez, gracias a su apoyo comprensión y

enseñanzas a lo largo de mi vida, que fueron parte indispensable para esta etapa de mi

vida, así como un ejemplo a seguir de superación y perseverancia constante, para

lograr mis metas en la vida.

A mis asesores

Ya que gracias a sus enseñanzas, ayuda y paciencia, fue posible aprender a manejar,

los dispositivos utilizados para desarrollar el prototipo, pues sin estos valiosos

conocimientos nada de esto habría sido posible, y en especial quiero agradecer a

nuestro asesor Roberto Galicia Galicia por su disposición y paciencia para resolver

dudas o darnos explicaciones.

A mis amigos

Los lobos (Alejandro Aranda, Gerardo Nieves, Gustavo Antonio, Yahveh Cureño),

porque fueron parte importante para mi desarrollo como persona y como estudiante y

por el apoyo, los consejos y la confianza que me brindaron.

A todos los aquí mencionados gracias por ser parte de este logro.

Juan Pablo Cruz Gutiérrez

Page 5: TESIStesis.ipn.mx/jspui/bitstream/123456789/12478/1/diseñoprototipo.pdf · A mi abuela María de la Luz Nava Martínez, por su apoyo, consejos, comprensión y ayuda en los momentos

Sistema de Monitoreo Remoto Vía Internet por WiFi

iv

Índice de contenido

Dedicatoria y Agradecimientos: ........................................................................................ ii

Índice de contenido .......................................................................................................... iv

Tabla de Figuras .............................................................................................................. viii

Índice de Tablas ................................................................................................................. x

Objetivos ........................................................................................................................... xi

Objetivo General ........................................................................................................... xi

Objetivos Particulares ................................................................................................... xi

Descripción Breve ............................................................................................................ xii

Antecedentes .................................................................................................................. xiii

Justificación ..................................................................................................................... xv

Estado del Arte ............................................................................................................... xvi

Sistemas de Telepresencia .......................................................................................... xvi

Videovigilancia IP ....................................................................................................... xvii

Cámara de Vigilancia GSM ........................................................................................ xviii

WiMAX ...................................................................................................................... xviii

LTE ................................................................................................................................ xx

Capítulo I Marco Teórico y de Referencia ....................................................................... 2

1.1 Introducción ....................................................................................................... 2

1.2 Imagen y su formación....................................................................................... 3

i Resolución y tamaño de una Imagen en una cámara digital ............................. 4

1.3 Comunicaciones Periféricas ............................................................................... 4

i Comunicación UART ........................................................................................... 4

ii Comunicación SPI ............................................................................................... 5

1.4 Redes .................................................................................................................. 6

i Modelo OSI ........................................................................................................ 6

ii Modelo TCP/IP ................................................................................................... 8

iii Protocolo TCP ................................................................................................... 10

iv Establecimiento de una conexión TCP ............................................................. 11

v Cierre de la conexión TCP ................................................................................ 12

vi Protocolo UDP .................................................................................................. 13

Page 6: TESIStesis.ipn.mx/jspui/bitstream/123456789/12478/1/diseñoprototipo.pdf · A mi abuela María de la Luz Nava Martínez, por su apoyo, consejos, comprensión y ayuda en los momentos

Sistema de Monitoreo Remoto Vía Internet por WiFi

v

vii Protocolo IP ...................................................................................................... 14

viii Puertos y Zócalos (Sockets) .......................................................................... 16

ix Clases de direcciones IP ................................................................................... 18

x Dirección IP Privadas ........................................................................................ 19

xi Dirección IP Pública .......................................................................................... 19

xii Dirección IP Estática ......................................................................................... 20

xiii Dirección IP Dinámica ................................................................................... 20

xiv DHCP ............................................................................................................. 21

1.5 HTTP ................................................................................................................. 21

1.6 NAT ................................................................................................................... 23

i Funcionamiento de NAT .................................................................................. 23

ii Internet y su funcionamiento básico ............................................................... 24

iii Clientes y Servidores ........................................................................................ 25

iv WiFi .................................................................................................................. 26

v 802.11 .............................................................................................................. 27

vi Capa Física y Enlace de Datos .......................................................................... 27

a) Subcapa Física PHY (Physical) .................................................................................. 28

b) Subcapa MAC .......................................................................................................... 28

c) Subcapa LLC ............................................................................................................. 29

vii Antena .............................................................................................................. 29

viii Topologías .................................................................................................... 30

a) Punto a punto .......................................................................................................... 30

b) Punto de Acceso ...................................................................................................... 30

ix Interferencia y Atenuación .............................................................................. 32

x Ancho de Banda ............................................................................................... 32

xi Protocolos de Seguridad y Encriptación de datos en WiFi .............................. 33

xii Proceso de Asociación entre Dispositivos WiFi ............................................... 33

1.7 Plataformas ...................................................................................................... 34

1.8 Tarjetas de Desarrollo ...................................................................................... 34

1.9 Microcontroladores ......................................................................................... 35

1.10 Lenguajes de Programación ............................................................................. 37

Capítulo II Implementación del Prototipo Diseño del Sistema de Monitoreo ............... 39

Page 7: TESIStesis.ipn.mx/jspui/bitstream/123456789/12478/1/diseñoprototipo.pdf · A mi abuela María de la Luz Nava Martínez, por su apoyo, consejos, comprensión y ayuda en los momentos

Sistema de Monitoreo Remoto Vía Internet por WiFi

vi

2.1 Introducción ..................................................................................................... 39

2.2 Cámara IP Inalámbrica ..................................................................................... 40

2.3 Tarjeta de Desarrollo TWR-K60D100M Kit ...................................................... 41

i TWR-WIFI-G1011MI ......................................................................................... 43

2.4 Motorreductores y Móvil ................................................................................. 44

2.5 Puente H .......................................................................................................... 45

2.6 Control del sistema .......................................................................................... 46

2.7 WiFi .................................................................................................................. 49

2.8 Programación del Sistema Operativo de Tiempo Real MQX .......................... 53

2.9 Diseño esencial del sistema operativo MQX ................................................... 53

2.10 Módulos en el sistema operativo MQX ........................................................... 54

2.11 Tareas en MQX ................................................................................................. 54

2.12 Tipo de Programación en MQX ........................................................................ 55

i FIFO (First In, First Out) .................................................................................... 55

ii Round-Robin .................................................................................................... 56

iii Programación Explicita .................................................................................... 57

2.13 Controlador ...................................................................................................... 57

2.14 Controlador GPIO ............................................................................................. 58

2.15 Sistema de Archivos USB ................................................................................. 58

2.16 Pila RTCS en MQX ............................................................................................. 60

2.17 Servidor WEB ................................................................................................... 63

2.18 Diagramas Generales del sistema .................................................................... 64

2.19 Ambiente de desarrollo ................................................................................... 65

2.20 Lenguajes de Programación (C, HTML) ............................................................ 65

i Lenguaje HTML ................................................................................................ 65

2.21 Estructura de una página Web ........................................................................ 66

2.22 Lenguaje C ........................................................................................................ 67

i Características .................................................................................................. 67

ii Uso de las funciones ........................................................................................ 67

Capítulo III Resultados ................................................................................................ 69

3.1 Introducción ................................................................................................... 69

3.2 Configuración del servidor a la red .................................................................. 70

Page 8: TESIStesis.ipn.mx/jspui/bitstream/123456789/12478/1/diseñoprototipo.pdf · A mi abuela María de la Luz Nava Martínez, por su apoyo, consejos, comprensión y ayuda en los momentos

Sistema de Monitoreo Remoto Vía Internet por WiFi

vii

i Programación en Flash ..................................................................................... 70

ii Programación en Tiempo Real ......................................................................... 70

3.3 Página Web en el Servidor HTTP ..................................................................... 73

3.4 Implementación a Internet .............................................................................. 73

3.5 Conclusiones .................................................................................................... 75

Glosario ....................................................................................................................... 76

Anexos ............................................................................................................................ 79

3.6 Programas MQX ............................................................................................... 79

3.7 Paginas HTML ................................................................................................... 88

3.8 Análisis Económico .......................................................................................... 91

3.9 Bibliografía ....................................................................................................... 92

Page 9: TESIStesis.ipn.mx/jspui/bitstream/123456789/12478/1/diseñoprototipo.pdf · A mi abuela María de la Luz Nava Martínez, por su apoyo, consejos, comprensión y ayuda en los momentos

Sistema de Monitoreo Remoto Vía Internet por WiFi

viii

Tabla de Figuras

Figura 1.- Diagrama General del Proyecto ..................................................................... xii

Figura 2.- Diagrama de un Sistema CCTV Analógico ...................................................... xiii

Figura 3.- Diagrama de un Sistema CCTV Digital ............................................................ xiv

Figura 4.- Diagrama de un Sistema CCTV extendido a Internet ..................................... xiv

Figura 5.- Control de un Explorador Acuático a través del sistema de Telepresencia

(Tomada de la NASA) ...................................................................................................... xvi

Figura 6.- Diagrama de un sistema de Videovigilancia IP .............................................. xvii

Figura 7.- Sistema de Videovigilancia a través de la tecnología GSM .......................... xviii

Figura 8.- Infraestructura y alcances de WiMAX ............................................................. xx

Figura 9.-Convivencia entre redes LTE, 4G y WiMax ...................................................... xxi

Figura 10.- Proceso de Formación de una Imagen Digital ................................................ 3

Figura 11.- Representación de la Resolución de una Imagen .......................................... 4

Figura 12.- Diagrama a Bloques de una Comunicación UART .......................................... 5

Figura 13.- Diagrama de comunicación del protocolo SPI ............................................... 6

Figura 14.- Estructura del Modelo de Comunicación OSI ................................................ 7

Figura 15.- Procesos del Modelo OSI ............................................................................... 8

Figura 16.- PDU de las capas del Modelo OSI ................................................................... 8

Figura 17.- Estructura de los principales Protocolos TCP/IP ............................................ 9

Figura 18.- Proceso de Apertura de una Conexión TCP ................................................. 12

Figura 19 .-Cierre de Conexión TCP ................................................................................ 13

Figura 20.- Comparación entre TCP/IP y OSI .................................................................. 14

Figura 21.- Relación de IP con otros Protocolos de Red ................................................ 16

Figura 22.- Red Privada y Proxy para Internet ................................................................ 19

Figura 23.- Topología de una IP Pública ......................................................................... 20

Figura 24.- Paquetes de Conexión DCHP ........................................................................ 21

Figura 25.- Funcionamiento del Protocolo NAT ............................................................. 24

Figura 26.- Arquitectura 802.11 con respecto al Modelo OSI ........................................ 29

Figura 27.- Representación de una Topología Ad-hoc ................................................... 30

Figura 28.- Infraestructura de Red Inalámbrica con Access Point ................................. 31

Figura 29.- Roaming en una Red Inalámbrica ................................................................. 31

Figura 30 .-Arquitectura de un Microcontrolador .......................................................... 35

Figura 31 .- Arquitectura Harvard ................................................................................... 36

Figura 32.- Arquitectura ARM ......................................................................................... 36

Figura 33.- Diagrama a Bloques del Sistema .................................................................. 39

Figura 34.- Cámara IP Inalámbrica .................................................................................. 40

Figura 35.- Diagrama de Conexión Cámara IP Inalámbrica ............................................ 40

Figura 36.- Sistema de la Torre de Freescale TWRK60D100M ....................................... 42

Figura 37.- Diagrama a Bloques TWRK60D100M ........................................................... 42

Page 10: TESIStesis.ipn.mx/jspui/bitstream/123456789/12478/1/diseñoprototipo.pdf · A mi abuela María de la Luz Nava Martínez, por su apoyo, consejos, comprensión y ayuda en los momentos

Sistema de Monitoreo Remoto Vía Internet por WiFi

ix

Figura 38.- Servidor Web HTTP en microcontrolador KD100M ..................................... 43

Figura 39.- Tarjeta Inalámbrica WiFi TWR-K60D100M................................................... 44

Figura 40.- Conexión del Módulo WiFi con el Microcontrolador ................................... 44

Figura 41.- Motorreductor ............................................................................................. 45

Figura 42.- Arreglo de un puente H ................................................................................ 46

Figura 43.- L293D Configurado como puente H ............................................................. 46

Figura 44.- Diagrama Eléctrico para el Control de los Motores ..................................... 48

Figura 45.- Diagrama de Control para el desplazamiento del Móvil .............................. 49

Figura 46.- Arquitectura del Módulo GS1011MI con un Microcontrolador Freescale

(Tomada de la guía de referencia del módulo GS1011MI) ............................................ 50

Figura 47.- Diagrama de la Interfaz Inalámbrica y el Microcontrolador por SPI ............ 51

Figura 48.- Manejo del Control de Flujo de Datos en SPI ............................................... 52

Figura 49.- Composición del kernel del MQX ................................................................. 53

Figura 50.- Operación de Tareas en MQX ...................................................................... 54

Figura 51.- Código básico para definir y usar una tarea en MQX ................................... 55

Figura 52.- Estructura de operación FIFO ....................................................................... 56

Figura 53.- Estructura de Operación Round Robin ......................................................... 56

Figura 54.- Estructura de un Dispositivo y Driver, de Entrada y Salida .......................... 57

Figura 55.- Proceso de Comunicación de USB con el Microcontrolador ....................... 59

Figura 56.- Diagrama de Integración de los Componentes del Sistema ........................ 60

Figura 57.- Estructura del RTCS incluido en la distribución de MQX (Tomada de la Guía

de Usuario RTCS, Freescale Semiconductor 2008) ......................................................... 61

Figura 58.- Proceso para crear y establecer un socket................................................... 61

Figura 59.- Diagrama de inicialización de comunicaciones (RTCS). ............................... 62

Figura 60.- Proceso de inicialización del servidor WEB .................................................. 63

Figura 61.- Tareas Generales del Sistema Operativo MQX ........................................... 64

Figura 62.- Diagrama de Flujo General del Sistema MQX .............................................. 64

Figura 63.- Ambiente de Desarrollo Code Warrior 10.1 y MQX 3.7 ............................... 65

Figura 64.- Estructura Básica de una Pagina Web HTML ............................................... 66

Figura 65.- Pagina Básica en HTML ................................................................................. 66

Figura 66.- Robot Móvil montado con el Servidor HTTP ................................................ 69

Figura 67.- Servidor HTTP y Sistema de Comunicación WiFi .......................................... 69

Figura 68.- Configuración de los Parámetros de Red en MQX para el Servidor ............ 70

Figura 69.- Parámetros de Configuración en la Web Provisional para el Servidor en

MQX ................................................................................................................................ 71

Figura 70.- Botones para la Configuración y Arranque del Servidor .............................. 71

Figura 71.- Pagina Web Provisional para Configuración del Servidor ............................ 72

Figura 72.- Parámetros de Configuración de Red en el Servidor en Tiempo Real ......... 72

Figura 73.- Configuración del Protocolo NAT en el dispositivo Proveedor de Red ........ 73

Figura 74.- Pagina Web alojada en el Servidor HTTP en el microcontrolador K60D100M

........................................................................................................................................ 74

Page 11: TESIStesis.ipn.mx/jspui/bitstream/123456789/12478/1/diseñoprototipo.pdf · A mi abuela María de la Luz Nava Martínez, por su apoyo, consejos, comprensión y ayuda en los momentos

Sistema de Monitoreo Remoto Vía Internet por WiFi

x

Índice de Tablas

Tabla 1.- Evolución de WiMAX ....................................................................................... xix

Tabla 2.- Modelo de Capas de TCP/IP ............................................................................ 10

Tabla 3.- Paquete TPC ..................................................................................................... 11

Tabla 4.- Paquete UDP .................................................................................................... 14

Tabla 5.- Datagrama IP ................................................................................................... 16

Tabla 6.- Puertos TCP más usados ................................................................................. 18

Tabla 7.- Clases de Direcciones IP .................................................................................. 18

Tabla 8.- Rangos de direcciones IP Privadas ................................................................... 19

Tabla 9.- Generaciones WiFi ........................................................................................... 27

Tabla 10 .- Materiales que provocan interferencia en las señales inalámbricas ........... 32

Tabla 11.- Tabla Lógica para el Control de los Motores ................................................. 47

Tabla 12.- Caracteres de Datos para el Control del Módulo WiFi .................................. 51

Tabla 13.- Análisis Económico ........................................................................................ 91

Page 12: TESIStesis.ipn.mx/jspui/bitstream/123456789/12478/1/diseñoprototipo.pdf · A mi abuela María de la Luz Nava Martínez, por su apoyo, consejos, comprensión y ayuda en los momentos

xi

Objetivos

Objetivo General

Diseñar e implementar un sistema de monitoreo móvil, controlado vía Internet por medio de una página Web interactiva, que muestre al usuario lo que capta la cámara de vídeo, en tiempo real.

Objetivos Particulares

Mostrar en tiempo real la ubicación del móvil, mediante vídeo. Implementar una capa de servicio para controlar el móvil desde la

página Web. Diseñar una página Web que permita visualizar el entorno móvil. Realizar conexión inalámbrica al móvil y al servidor mediante el uso de

la tecnología Wi-Fi. Agregar sobre la comunicación Wi-Fi los bits de control del móvil. Desarrollar un móvil electromecánico para superficies regulares que sea

capaz de soportar la cámara.

Page 13: TESIStesis.ipn.mx/jspui/bitstream/123456789/12478/1/diseñoprototipo.pdf · A mi abuela María de la Luz Nava Martínez, por su apoyo, consejos, comprensión y ayuda en los momentos

xii

Descripción Breve

Este proyecto consiste en implementar un servicio de monitoreo. El cual proporciona

la facultad de desplazar un robot móvil a través del ambiente o evento que se esté

monitoreando. En este caso, con el término monitoreo, implica grabar o tomar vídeo y

cuando se menciona Internet, quiere decir que este vídeo tomado, será enviado o

transmitido por este medio de comunicación: ya sea a uno o varios usuarios. Por otra

parte se transmitirá vídeo por Internet a un usuario determinado, y también este

usuario será capaz de controlar la posición del carro quien es el portador de la cámara.

Todo esto mediante una página Web.

Lo anterior se muestra en la figura 1 que es el diagrama general.

Figura 1.- Diagrama General del Proyecto

Page 14: TESIStesis.ipn.mx/jspui/bitstream/123456789/12478/1/diseñoprototipo.pdf · A mi abuela María de la Luz Nava Martínez, por su apoyo, consejos, comprensión y ayuda en los momentos

xiii

Antecedentes

La visión es el sentido que mayor información aporta al ser humano. Por este motivo la forma más natural de presentar la información por parte de cualquier sistema es mediante imágenes, que a su vez mostradas a una velocidad mayor a la que el ojo humano puede percibir los cambios, dan vida al video, para ello se usa una cámara que es la encargada de captar lo que su lente observa. En analogía esto logra el sistema visual humano siendo la cámara sus ojos y el cerebro el que procesa las imágenes para que sean continuas.1 El video ha venido jugando diversos papeles en la historia, uno de ellos dio cabida a la vigilancia por video y al monitoreo que juntos conforman la videovigilancia. Desde hace más de 50 años se han desarrollado sistemas de videovigilancia, y comenzaron siendo 100% analógicos. Uno de los sistemas pioneros, es el CCTV, formado por cámaras analógicas con salida coaxial, conectadas al VCR o Centro Receptor de Video por sus siglas en inglés. El VCR utiliza cintas de video magnéticas y sirve como medio de almacenamiento. El vídeo no se comprime y, si se graba a una velocidad de imagen completa, una cinta durará como máximo 8 horas. En sistemas mayores, se puede conectar un multiplexor entre la cámara y el VCR. El multiplexor permite grabar el vídeo procedente de varias cámaras en un solo grabador, pero con el inconveniente que tiene una menor velocidad de imagen. Para visualizar el vídeo, es necesario un monitor analógico que lo despliegue. Dicho sistema se resume en la figura 2.

Figura 2.- Diagrama de un Sistema CCTV Analógico

Conforme la tecnología avanzo se sustituyó el VRC por un DVR pasando de un Video Analógico a un formato Digital, donde la cinta de vídeo se sustituye por discos duros como medios de almacenamiento, y es necesario que el vídeo se digitalice y comprima para almacenar la máxima cantidad de imágenes posible (aproximadamente un día). Este sistema integra el multiplexor en una sola caja a comparación del primer CCTV, tal como se muestra en la figura 3.

1 Ver Referencia [2].

Page 15: TESIStesis.ipn.mx/jspui/bitstream/123456789/12478/1/diseñoprototipo.pdf · A mi abuela María de la Luz Nava Martínez, por su apoyo, consejos, comprensión y ayuda en los momentos

xiv

Figura 3.- Diagrama de un Sistema CCTV Digital

El gran auge que fue desarrollando Internet obligo al CCTV a que se conectara a esta

red de redes ya que no solo requería que se grabara localmente el video, sino que este

estuviera disponible en todo momento, provocando la modificación del DVR y

llevándolo a un DVR-Ethernet, medio por el cual se comunicaría con un Switch y

Router de Red y este a su vez a una LAN hasta llegar a Internet. Además provocando

que el video se muestre en varios monitores y a su vez a las cámaras se les agrego la

capacidad de movimiento que permite ampliar el rango focal de visión, logrando cubrir

mayores áreas, el sistema completo se aprecia en la figura 4.

Figura 4.- Diagrama de un Sistema CCTV extendido a Internet

Con el paso de los años el DVR-IP se convirtió en un Servidor de Video, el cual cuenta

con capacidad de procesar el video a formatos digitales diferentes, aumento la

capacidad de almacenamiento y su robustez física se hizo pequeña.2

2 Ver Referencia [1].

Page 16: TESIStesis.ipn.mx/jspui/bitstream/123456789/12478/1/diseñoprototipo.pdf · A mi abuela María de la Luz Nava Martínez, por su apoyo, consejos, comprensión y ayuda en los momentos

xv

Justificación

En el mundo existe la necesidad de administrar, controlar y monitorear sitios de manera remota y a distancia. Debido al rápido desarrollo de la tecnología de internet, da pie a que cualquier dispositivo (computadora, PDA, Smart Phone, entre otros) puedan conectarse a la red de redes. Esta situación propicia a que surjan un sin número de aplicaciones, por ejemplo videoconferencia, sistemas de seguridad a distancia, enlaces telefónicos de VoIP, control y monitoreo a distancia.

Este proyecto se enfoca en desarrollar un sistema de monitoreo a distancia, por la creciente necesidad de vigilar, una empresa, una escuela o algún otro lugar, a pesar de encontrarse fuera de estos sitios. En la actualidad existen diferentes soluciones para cubrir las necesidades antes mencionadas, por ejemplo:

• Sistemas de monitoreo de tráfico.

• Sistemas de cámaras fijas de seguridad (aunque este solo cubre la parte de vigilar porque la mayoría no tiene acceso remoto).

• Sistemas de vigilancia con cámaras IP.

Los dos primeros son muy costosos, siendo los propietarios los gobiernos, centros comerciales, empresas privadas y de gran capital, estando fuera del alcance de la mayoría de la gente para adquirir estos sistemas. Las cámaras IP, por lo regular no necesitan una instalación robusta, basta con conectarlas a una red, para tener acceso desde cualquier lugar con conexión a internet. Estas cámaras son prácticas cuando se quiere monitorear un solo sitio, pero al monitorear más de tres lugares, se multiplica el costo de los sistemas. Se piensa que en la actualidad adquirir tres, cuatro o más cámaras IP, para muchas familias es un lujo que no se pueden dar. En el caso que se adquiriera una cámara IP con movimiento, esta no tiene gran cobertura por las limitaciones del ángulo visual y los movimientos de la misma, resultando insuficiente para cubrir espacios más amplios.

La viabilidad de este proyecto se sustenta bajo la capacidad de la amplia cobertura de visión y desplazamiento con la que cuenta el sistema, con tan solo una cámara y un móvil siempre disponibles a través de Internet para el confort del usuario. A su vez se reduce el costo al tener solo una cámara dentro del sistema y su robustez física disminuye considerablemente, dando paso a que su instalación e implementación sea fácil y en un tiempo reducido. Además el sistema puede ser supervisado y operado a distancia sin tener que estar localizado físicamente en el sitio, evitando riesgos de acceso a lugares no aptos para el ser humano. Ofreciendo a su vez comodidad, seguridad y una fácil manipulación del sistema.

Page 17: TESIStesis.ipn.mx/jspui/bitstream/123456789/12478/1/diseñoprototipo.pdf · A mi abuela María de la Luz Nava Martínez, por su apoyo, consejos, comprensión y ayuda en los momentos

xvi

Estado del Arte

El mando a distancia se ha ido desarrollando y demandando muy rápido, permitiendo que el control y monitoreo sea de una manera no presencial y esto gracias al crecimiento del Internet. En la actualidad existen grandes aplicaciones que se vienen desarrollando y aplicando a pasos agigantados, gracias a la electrónica y la informática para el control y monitoreo. A continuación se muestran algunos ejemplos, en el cual se ven reflejados los resultados de la unión de estas dos grandes áreas.

Sistemas de Telepresencia

La Telepresencia, término creado por Marvin Minsky, significa presencia remota y

proporciona a la persona una sensación de estar físicamente en otro lugar por medio

de una escena creada por ordenador. Esta tecnología vincula sensores remotos en el

mundo real con los sentidos de un operador humano. Los sensores utilizados pueden

hallarse instalados en un robot o en los extremos de algunas herramientas. De esta

forma el usuario puede operar el equipo como si fuera parte de él. Los sistemas de

telepresencia sitúan al observador en un mundo real que es capturado por

videocámaras ubicadas en lugares distantes y le permiten la manipulación remota de

objetos reales mediante brazos robotizados. Es decir que el usuario interactúa en un

mundo real pero que está ubicado en un sitio distinto a donde él se encuentra en ese

momento. También se está empezando a utilizar para celebrar reuniones virtuales.

Diferentes contertulios equipados con sistemas de video y audio y conectados a un

servidor pueden dar lugar a un escenario común interactuando con los demás como si

se encontraran en el mismo espacio físico.

Dicha tecnología posee un futuro extremadamente prometedor hasta el punto de que

la propia NASA se propone utilizarla como recurso para la exploración planetaria a

distancia. La figura 5 muestra un ejemplo de este sistema. 3

Figura 5.- Control de un Explorador Acuático a través del sistema de Telepresencia (Tomada de la NASA)

3 Ver Referencia [3]

Page 18: TESIStesis.ipn.mx/jspui/bitstream/123456789/12478/1/diseñoprototipo.pdf · A mi abuela María de la Luz Nava Martínez, por su apoyo, consejos, comprensión y ayuda en los momentos

xvii

Videovigilancia IP

La videovigilancia avanza hacia entornos IP creando en el camino escenarios híbridos

capaces de aprovechar las nuevas propuestas de análisis de vídeo que optimizan los

procesos de seguridad e incrementan la inteligencia de negocio.

Durante los últimos 10 años la videovigilancia ha seguido un camino de evolución que está dejando atrás las soluciones convencionales basadas en sistemas de televisión en circuito cerrado (CCTV) con conexiones punto a punto para adoptar modernos sistemas digitales basados en redes IP. Gracias a las últimas tecnologías de compresión H.264 (norma que define un códec de vídeo de alta compresión) y a la constante caída de los precios de las cámaras IP, la videovigilancia IP se está convirtiendo en el enfoque mayoritariamente seguido por las instalaciones de seguridad de vídeo. Y aún más. La convergencia de voz, vídeo y datos sobre la que se asienta esta nueva tecnología está abriendo la videovigilancia a nuevos campos de exploración y producción integrados con la inteligencia de negocio en áreas como ventas y marketing. La videovigilancia IP optimiza las inversiones en infraestructuras de red y aporta un modelo de seguridad más simple, refinado y accesible a los usuarios. En muchos casos resulta además económicamente más rentable en términos de costes que un sistema de videovigilancia convencional con cámaras analógicas y grabadoras de vídeo digitales. Otro beneficio del vídeo IP es la capacidad de acceder remotamente a las instalaciones por medio de la LAN o la WAN y centralizar la monitorización de la seguridad, en vez de dedicar vigilantes en cada sitio. Las características inteligentes hoy disponibles en la mayoría de los sistemas permiten transmitir vídeo solo ante eventos específicos, como la detección de movimientos en un edificio de oficinas después de las horas laborales habituales. Además, algunos sistemas permiten fijar el uso del ancho de banda, limitando la transmisión de vídeo a una tasa de bits determinada para garantizar que los datos no se vean nunca comprometidos. Finalmente, el uso del ancho de banda puede asimismo ser gestionado a través de la selección de cámaras IP y codificadores con tarjetas de memoria flash interna SDHC que permite capturar vídeo en los puntos extremos. La figura 6 muestra un sistema con las características mencionadas.4

Figura 6.- Diagrama de un sistema de Videovigilancia IP

4 Ver Referencia [2].

Page 19: TESIStesis.ipn.mx/jspui/bitstream/123456789/12478/1/diseñoprototipo.pdf · A mi abuela María de la Luz Nava Martínez, por su apoyo, consejos, comprensión y ayuda en los momentos

xviii

Cámara de Vigilancia GSM

Posee tecnología GSM de control remoto vía SMS, apta para utilizar en interiores. A

través de este dispositivo se permite recibir y transmitir datos mediante mensaje y

también transmitir datos por la red GPRS, de modo que el usuario podrá supervisar en

todo momento su negocio, hogar o segunda residencia. Pero lo que es realmente

novedoso en este modelo es que tiene la función de detección de movimiento y

mediante el envío de un MMS al número de teléfono móvil o a la dirección de email

establecidos, su dueño estará al tanto siempre de quién ronda sus propiedades.

La Cámara Vigilancia GSM compacta funciona como un móvil y necesita una tarjeta

USIM que permita hacer videollamadas para establecer la comunicación. Al ser una

cámara diseñada para la vigilancia y el control a distancia, ofrece una enorme calidad

de imagen y sonido, por lo que es posible ver incluso en la oscuridad. Entre sus

características, también habría que destacar que no utiliza cables y es muy fácil de

instalar. El sistema de videovigilancia GSM se muestra en la figura 7.5

Figura 7.- Sistema de Videovigilancia a través de la tecnología GSM

WiMAX

Siglas de Worldwide Interoperability for Microwave Access (Interoperabilidad mundial para acceso por microondas), es una norma de transmisión de datos que utiliza las ondas de radio en las frecuencias de 2,3 a 3,5 Ghz. Es una tecnología dentro de las conocidas como tecnologías de última milla, y permite la recepción de datos por microondas y retransmisión por ondas de radio. El estándar que define esta tecnología es el IEEE 802.16. Una de sus ventajas es dar servicios de banda ancha en zonas donde el despliegue de cable o fibra por la baja densidad de población presenta unos costos por usuario muy elevados.

5 Ver Referencia [4].

Page 20: TESIStesis.ipn.mx/jspui/bitstream/123456789/12478/1/diseñoprototipo.pdf · A mi abuela María de la Luz Nava Martínez, por su apoyo, consejos, comprensión y ayuda en los momentos

xix

El único organismo habilitado para certificar el cumplimiento del estándar y la interoperabilidad entre equipamiento de distintos fabricantes es el Wimax Forum: todo equipamiento que no cuente con esta certificación, no puede garantizar su interoperabilidad con otros productos.6

Existen dos variantes en el estándar y son:

De acceso fijo, (802.16d), en el que se establece un enlace radio entre la estación base y un equipo de usuario situado en el domicilio del usuario. Para el entorno fijo, las velocidades teóricas máximas que se pueden obtener son de 70 Mbps con un ancho de banda de 20 MHz. Sin embargo, en entornos reales se han conseguido velocidades de 20 Mbps con radios de célula de hasta 6 Km, ancho de banda que es compartido por todos los usuarios de la célula.

Movilidad completa (802.16e), permite el desplazamiento del usuario de un modo similar al que se puede dar en GSM/UMTS, el móvil, aun no se encuentra desarrollado y actualmente compite con las tecnologías LTE, (basadas en femtocélulas, conectadas mediante cable), por ser la alternativa para las operadoras de telecomunicaciones que apuestan por los servicios en movilidad, este estándar, en su variante "no licenciado", compite con el WiFi IEEE 802.11n, ya que la mayoría de los portátiles y dispositivos móviles, empiezan a estar dotados de este tipo de conectividad (principalmente de la firma Intel). En la tabla 1 se representan los principales protocolos unidos a WiMAX. En la figura 8 se muestra la implantación e infraestructura de ésta Tecnología.

Características de WiMAX

Distancias de hasta 80 kilómetros, con antenas muy direccionales y de alta ganancia.

Velocidades de hasta 75 Mbps, siempre que el espectro esté completamente limpio.

Facilidades para añadir más canales, dependiendo de la regulación de cada país.

Anchos de banda configurables y no cerrados, sujetos a la relación de espectro. Permite dividir el canal de comunicación en pequeñas subportadoras (dos

tipos: guardias y datos).

Tabla 1.- Evolución de WiMAX

Estándar Descripción

802.16 Utiliza espectro licenciado en el rango de 10 a 66 GHz, necesita línea de visión directa, con una capacidad de hasta 134 Mbps en celdas de 2 a 5 millas (3 a 7,5 km). Soporta calidad de servicio. Publicado en 2002

6 Ver Referencia [5]

Page 21: TESIStesis.ipn.mx/jspui/bitstream/123456789/12478/1/diseñoprototipo.pdf · A mi abuela María de la Luz Nava Martínez, por su apoyo, consejos, comprensión y ayuda en los momentos

xx

802.16a Ampliación del estándar 802.16 hacia bandas de 2 a 11 GHz, con sistemas NLOS y LOS, y protocolo PTP y PTMP. Publicado en abril de2003

802.16c Ampliación del estándar 802.16 para definir las características y especificaciones en la banda de 10-66 GHz. Publicado en enero de 2003

802.16d Revisión del 802.16 y 802.16a para añadir los perfiles aprobados por el WiMAX Forum. Aprobado como 802.16-2004 en junio de 2004 (La última versión del estándar)

802.16e Extensión del 802.16 que incluye la conexión de banda ancha nómada para elementos portátiles del estilo de los notebooks. Publicado en diciembre de 2005

802.16m Extensión del 802.16 que entrega datos a velocidad de 1 Gbit/s en reposo y 100 Mbit/s en movimiento.

Figura 8.- Infraestructura y alcances de WiMAX

LTE

Long Term Evolution (Evolución a Largo Plazo) es un nuevo estándar de la norma 3GPP. Lo novedoso de LTE es la interfaz radioeléctrica basada en OFDMA para el enlace descendente DL y SC-FDMA para el enlace ascendente UL. La modulación elegida por el estándar 3GPP hace que las diferentes tecnologías de antenas MIMO tengan una

Page 22: TESIStesis.ipn.mx/jspui/bitstream/123456789/12478/1/diseñoprototipo.pdf · A mi abuela María de la Luz Nava Martínez, por su apoyo, consejos, comprensión y ayuda en los momentos

xxi

mayor facilidad de implementación. Una infraestructura entre redes LTE, 3G y WiMAX es mostrada en la figura 9.7 Características

Alta eficiencia espectral OFDM de enlace descendente robusto frente a las múltiples interferencias y de

alta afinidad a las técnicas avanzadas como la programación de dominio frecuencial del canal dependiente y MIMO.

Muy baja latencia con valores de 100 ms para el plano de control y 10 ms para el plano de usuario.

Separación del plano de usuario y el plano de control mediante interfaces abiertas.

Ancho de banda adaptativo: 1.4, 3, 5, 10, 15 y 20 MHz Puede trabajar en muchas bandas frecuenciales diferentes. Red de frecuencia única OFDM. Velocidades de pico:

Bajada: 326,5 Mbps para 4x4 antenas, 172,8 Mbps para 2x2 antenas. Subida: 86’5 mbps.

Óptimo para desplazamientos hasta 15 km/h. Compatible hasta 500 km/h Más de 200 usuarios por celda. Celda de 5 MHz. Celdas de 100 a 500 km con pequeñas degradaciones cada 30 km. Tamaño

óptimo de las celdas 5 km. La 2G y 3G están basadas en técnicas de Conmutación de Circuito (CS) para la

voz mientras que LTE propone la técnica de Conmutación por paquetes IP (PS) al igual que 3G (incluyendo las comunicaciones de voz).

Las operadoras UMTS pueden usar más espectro, hasta 20 MHz

Figura 9.-Convivencia entre redes LTE, 4G y WiMax

7 Ver Referencia [6]

Page 23: TESIStesis.ipn.mx/jspui/bitstream/123456789/12478/1/diseñoprototipo.pdf · A mi abuela María de la Luz Nava Martínez, por su apoyo, consejos, comprensión y ayuda en los momentos

CAPÍTULO I. Marco Teórico y de Referencia

1

Capítulo I

Marco Teórico y de Referencia

Page 24: TESIStesis.ipn.mx/jspui/bitstream/123456789/12478/1/diseñoprototipo.pdf · A mi abuela María de la Luz Nava Martínez, por su apoyo, consejos, comprensión y ayuda en los momentos

CAPÍTULO I. Marco Teórico y de Referencia

2

Capítulo I Marco Teórico y de Referencia

1.1 Introducción

Existen circunstancias en las cuales no es conveniente emplear personas para la realización de algunas labores debido al alto riesgo a que ellos se exponen; por esta razón se han desarrollado herramientas o equipos que permiten reemplazar al hombre al realizar estas operaciones a distancia, o simplemente el ser humano tiene el deseo de estar informado de lo que acontece en tiempo real de algún sitio de su interés como lo son su hogar, su oficina, su lugar de trabajo o alguna área en la cual no puede estar presente físicamente en esos momentos. Dentro de estos equipos se encuentran los robots móviles operados remotamente o denominados teleoperados. Los robots teleoperados son aquellos controlados por un usuario a distancia desde una estación remota. Dada su gran utilidad, se han empleado en diversos campos. Este tipo de manejo supone una ventaja desde el punto de vista de la protección, seguridad, confort y disponibilidad a la distancia para un usuario ya que en caso de realizar trabajos en ambientes inseguros o inestables o con sustancias potencialmente peligrosas, como químicos o explosivos, no se arriesga su integridad física. En el desarrollo de robots teleoperados se involucra la electrónica, las comunicaciones, el control, y la visión por computadora. La robótica es una ciencia o rama de la tecnología, que estudia el diseño y construcción de máquinas capaces de desempeñar tareas realizadas por el ser humano o que requieren del uso de inteligencia, además es un área interdisciplinaria formada por la ingeniería mecánica, electrónica e informática. La mecánica comprende tres aspectos: diseño mecánico de la máquina, análisis estático y análisis dinámico. La electrónica le permite al robot trasmitir la información que se le entrega, coordinando impulsos eléctricos que hacen que el robot realice los movimientos requeridos por la tarea. La informática provee de los programas necesarios para lograr la coordinación mecánica requerida en los movimientos del robot, dar un cierto grado de inteligencia a la máquina, es decir adaptabilidad, autonomía y capacidad interpretativa y correctiva. En la actualidad la ayuda de la robótica ha hecho posible que los robots lleguen a lugares inaccesibles o no disponibles, ya sea por cuestiones de seguridad, tiempos y/o distancias, para el hombre. Las tendencias actuales para la vida cotidiana, científica y tecnológica es la obtención de información de un sitio sin la necesidad de estar físicamente en él, tal es el caso del video, empleado para el monitoreo o adquisición de datos. Los sistemas de video a la distancia existen desde hace más de tres décadas, pero en los últimos años se ha avanzado mucho en este campo. Esto se debe a tres motivos principales; el desarrollo tecnológico, la demanda de mayores niveles de seguridad, el acceso y control a la distancia.

Page 25: TESIStesis.ipn.mx/jspui/bitstream/123456789/12478/1/diseñoprototipo.pdf · A mi abuela María de la Luz Nava Martínez, por su apoyo, consejos, comprensión y ayuda en los momentos

CAPÍTULO I. Marco Teórico y de Referencia

3

Utilizando estos conceptos se pretende resolver el problema de inaccesibilidad del hombre en ciertos lugares, la no disponibilidad física en el sitio deseado y la transmisión de información obtenida del medio, como el video, para proporcionar este tipo de información con una amplia disponibilidad al usuario final, usando Internet y las comunicaciones inalámbricas en este caso WiFi para la transmisión del video.

1.2 Imagen y su formación

Una imagen es una representación bidimensional a partir de una matriz numérica binaria. Dependiendo de la resolución, puede tratarse de una imagen matricial (o mapa de bits) o de un gráfico vectorial. El mapa de bits es el formato más utilizado, aunque los gráficos vectoriales tienen uso amplio en la autoedición y en las artes gráficas. El proceso de formación de una imagen obtenida de una cámara se da cuando la luz

detectada por la cámara pasa por el objetivo, atraviesa filtros (depende del modelo de

cámara) y llega hasta el sensor de imagen, denominado CCD, que está formado por

multitud de receptores fotosensibles, llamados "fotodiodos". El proceso de formación

de una imagen es mostrado en la figura 10.

Figura 10.- Proceso de Formación de una Imagen Digital

La luz incidente genera una pequeña señal eléctrica en cada receptor. A continuación, esta señal es transformada en datos digitales por el conversor ADC, este último representa los datos como una serie de cadenas de ceros y unos, denominados dígitos binarios. Estos números binarios, se representan como pequeños cuadros, llamados píxeles, que forman un mosaico. Como los píxeles suelen ser muy pequeños, el ojo y el cerebro del observador se encargan de formar una imagen continua, ignorando las diminutas piezas que la forman.8

8 Ver Referencia [1]

Page 26: TESIStesis.ipn.mx/jspui/bitstream/123456789/12478/1/diseñoprototipo.pdf · A mi abuela María de la Luz Nava Martínez, por su apoyo, consejos, comprensión y ayuda en los momentos

CAPÍTULO I. Marco Teórico y de Referencia

4

i Resolución y tamaño de una Imagen en una cámara digital

La resolución de una imagen es la cantidad de pixeles que la componen. Suele medirse en pixeles por pulgada (ppi) o pixeles por centímetro (pcm). Como la resolución mide el número de píxeles por longitud, se deduce que a mayor resolución, mayor número de puntos de imagen en el mismo espacio y, por tanto, mayor definición. La resolución está limitada por el sensor de la cámara (CCD o un Sensor CMOS). El sensor se compone de millones de “cubos” que se cargan en respuesta a la luz, éstos responden solamente a una gama limitada de longitudes de onda, debido a un filtro de frecuencias. Cada uno de estos cubos se llama píxel, y se utiliza un algoritmo de mosaicismo e interpolación, para unir la imagen de cada gama de longitud de onda por píxel en una imagen RGB. La cantidad de píxeles resultante en la imagen determina su tamaño. Por ejemplo, una imagen de 640 píxeles de ancho, por 480 pixeles de alto, tendrá 307,200 píxeles, o aproximadamente 307 kilo píxeles como se muestra en la figura 11.9

Figura 11.- Representación de la Resolución de una Imagen

1.3 Comunicaciones Periféricas

i Comunicación UART

UART, son las siglas de "Universal Asynchronous Receiver-Transmitter" (Transmisor-Receptor Asíncrono Universal). Es el dispositivo clave de un sistema de comunicaciones serie. Su función principal, es convertir los datos serie a paralelo cuando se trata de datos recibidos (de entrada), y de convertir datos paralelo a serie para la transmisión (de salida). También suministra funciones de comprobación necesarias para interfaces RS232. De manera general, en la figura 12 se muestra el diagrama a bloques del

9 Ver Referencia [1].

Page 27: TESIStesis.ipn.mx/jspui/bitstream/123456789/12478/1/diseñoprototipo.pdf · A mi abuela María de la Luz Nava Martínez, por su apoyo, consejos, comprensión y ayuda en los momentos

CAPÍTULO I. Marco Teórico y de Referencia

5

contenido básico en una comunicación UART, los registros y puertos de habilitación dependerán de cada sistema.10

Figura 12.- Diagrama a Bloques de una Comunicación UART

ii Comunicación SPI

SPI o “Serial Peripherall Interface” (Interfaz Periférica Serial), es un bus de tres líneas, sobre el cual se transmiten paquetes de información de 8 bits. Cada una de estas tres líneas transporta la información entre los diferentes dispositivos conectados al bus. Cada dispositivo conectado al bus, puede actuar como transmisor y receptor al mismo tiempo, por lo que este tipo de comunicación serial es de ida y vuelta. Dos de estas líneas trasfieren los datos (una en cada dirección), y la tercer línea es la del reloj.

Los dispositivos conectados al bus son definidos como maestros o esclavos. Un maestro es aquel que inicia la transferencia de información sobre el bus, y genera las señales de reloj y control. En un tiempo determinado T1, sólo podrá existir un maestro sobre el bus. Cualquier dispositivo esclavo que no esté seleccionado, debe deshabilitarse (ponerlo en alta impedancia). SPI es un protocolo síncrono, el diagrama

que básico de una comunicación con este protocolo se muestra en la figura 13. La

sincronización y la transmisión de datos se realiza por medio de 4 señales:

SLCK- Es el pulso que marca la sincronización. Con cada pulso de este reloj, se lee un bit o se envía un Bit.

MOSI- Salida de datos del Maestro y entrada de datos al Esclavo.

10

Ver Referencia [7]

Page 28: TESIStesis.ipn.mx/jspui/bitstream/123456789/12478/1/diseñoprototipo.pdf · A mi abuela María de la Luz Nava Martínez, por su apoyo, consejos, comprensión y ayuda en los momentos

CAPÍTULO I. Marco Teórico y de Referencia

6

MISO- Salida de datos del Esclavo y entrada al Maestro. También conocido por SOMI.

Selector (SS)- Para seleccionar un Esclavo, o para que el Maestro le diga al Esclavo que se active.

La cadena de bits es enviada de manera síncrona con los pulsos del Reloj, es decir con cada pulso, el Maestro envía un Bit. Para que empiece la transmisión, el Maestro baja la señal del Selector a cero, con esto el Esclavo se activa y empieza la transmisión, con un pulso de reloj al mismo tiempo que el primer bit es leído. Los pulsos de reloj pueden estar programados, de manera que la transmisión del bit se realice en 4 modos diferentes, a esto se llama polaridad y fase de la transmisión:

1. Con el flanco de subida sin retraso.

2. Con el flanco de subida con retraso.

3. Con el flanco de bajada sin retraso.

4. Con el flanco de bajada con retraso.

Figura 13.- Diagrama de comunicación del protocolo SPI

1.4 Redes

i Modelo OSI

En 1977, la ISO (Organización Internacional para la Normalización) crea un comité para definir una arquitectura de protocolos de referencia universal: OSI definido en el ISO-

Page 29: TESIStesis.ipn.mx/jspui/bitstream/123456789/12478/1/diseñoprototipo.pdf · A mi abuela María de la Luz Nava Martínez, por su apoyo, consejos, comprensión y ayuda en los momentos

CAPÍTULO I. Marco Teórico y de Referencia

7

TC97-SC16. La norma final (ISO 7498) se publica en 1984. Este modelo define las bases, para el establecimiento de protocolos de comunicaciones entre sistemas informáticos abiertos. No es una arquitectura, es un estándar que define cómo hacer un software de comunicaciones, descomponiendo el problema de la comunicación en 7 capas o niveles. Estos son: físico, enlace, red, transporte, sesión, presentación y aplicación. El modelo OSI, explica qué se envían dos sistemas que quieren comunicarse, y las estructuras de datos utilizadas para ello. En cada nivel, hay definidas unas funciones que proporcionan unos servicios típicos de dicho nivel, ya sea por hardware o por software, los cuales se llevan a cabo siguiendo un protocolo del nivel. El proceso capa a capa es mostrado en la figura 14. Además en la figura 15 y 16 se resume el proceso que ejecuta cada capa y los datos circulantes en cada nivel.11

Figura 14.- Estructura del Modelo de Comunicación OSI

11

Ver Referencia [8]

Page 30: TESIStesis.ipn.mx/jspui/bitstream/123456789/12478/1/diseñoprototipo.pdf · A mi abuela María de la Luz Nava Martínez, por su apoyo, consejos, comprensión y ayuda en los momentos

CAPÍTULO I. Marco Teórico y de Referencia

8

Figura 15.- Procesos del Modelo OSI

Figura 16.- PDU de las capas del Modelo OSI

ii Modelo TCP/IP

El desarrollo actual de Internet, ha sido posible gracias a la utilización de esta pila de protocolos. Su extrema sencillez, ha facilitado la intercomunicación entre múltiples redes, y que se haya erigido como el protocolo de transmisión por antonomasia.

TCP/IP es el protocolo usado en Internet. Con este protocolo, tiene que funcionar cualquier ordenador que quiera utilizar cualquier servicio de Internet. TCP/IP, fue desarrollado a principio de los años 70 por el Ministerio de Defensa Norteamericano, para la red ARPANET. Adoptó su forma actual en 1983, como consecuencia del proyecto DARPA, de la defensa norteamericana. Nació para interconectar distintas redes en entorno operativo UNIX. Soluciona básicamente el

Page 31: TESIStesis.ipn.mx/jspui/bitstream/123456789/12478/1/diseñoprototipo.pdf · A mi abuela María de la Luz Nava Martínez, por su apoyo, consejos, comprensión y ayuda en los momentos

CAPÍTULO I. Marco Teórico y de Referencia

9

problema de interconectar distintas redes, divididas en subredes, enrutando el tráfico entre ellas. Como la comunicación entre ordenadores es de una gran complejidad, el problema se ha dividido en otros menos complejos, creándose varios niveles. Cada nivel soluciona un problema en la comunicación, y tiene asociado uno o varios protocolos para ello. En la tabla 2 se muestra la jerarquía y estructura presente en el protocolo TCP/IP. Y en la figura 17 se representan los principales protocolos soportados por éste modelo.

Figura 17.- Estructura de los principales Protocolos TCP/IP

El modelo de red Internet tiene 4 capas o niveles, que son:

Aplicación: aquí están incluidos los protocolos destinados a proporcionar servicios, tales como transferencia de ficheros (FTP), navegación en Internet (HTTP), correo electrónico (SMTP), etc.

Transporte: aquí están incluidos los protocolos destinados a proporcionar el transporte de los datos, con la fiabilidad suficiente. En este nivel la información es dividida en paquetes, para que la transmisión sea más eficiente. Cuando llega al receptor, este mismo nivel se encarga de reordenar los paquetes y unirlos, para recomponer la información. Los protocolos que se encargan de esto, son: TCP y UDP.

Internet o Red: se encarga de enviar cada paquete de información a su destino, es decir, encaminar los datos. Para ello coloca los paquetes del anterior nivel en datagramas IP, y los envía al nivel inferior. Cuando recibe estos datagramas del nivel inferior, comprueba su dirección IP y los envía al nivel superior o los encamina a otro ordenador, si no son para éste. Los protocolos que actúan en este nivel, son:

IP ICMP IGMP

Page 32: TESIStesis.ipn.mx/jspui/bitstream/123456789/12478/1/diseñoprototipo.pdf · A mi abuela María de la Luz Nava Martínez, por su apoyo, consejos, comprensión y ayuda en los momentos

CAPÍTULO I. Marco Teórico y de Referencia

10

ARP RARP BOOTP

Enlace: define el medio físico por el que se transmite la información (cable, ondas, etc.). La capa de enlace o acceso al medio, define la forma en que los ordenadores envían o reciben la información. Cuestiones como: de qué forma se transmite la información, en qué momento puede un ordenador transmitir, saber si el mensaje es para él o no; En este nivel se tienen protocolos como Ethernet, DLC (IEEE 802.2), X.25, Frame Relay.12

Tabla 2.- Modelo de Capas de TCP/IP

4 Aplicación HTTP, FTP, SMTP

3 Transporte TCP, UDP

2 Red Internet IP

Host de Red ICMP, ARP

1

Enlace

Acceso a la Red Ethernet, Token Ring

Enlace Físico Tipo Cable

iii Protocolo TCP

Es el protocolo de control de transmisión de la capa de transporte, que regula las cuestiones relativas al transporte de la información. Pertenece a la suite de protocolos TCP/IP. Este protocolo se encuentra descrito en el documento RFC 793. La estructura del paquete TCP se muestra en la tabla 3. El protocolo TCP se encarga de regular el flujo de la información, de tal forma que éste se produzca sin errores y de una forma eficiente. Proporciona calidad de servicio. Por esto, se dice que este protocolo es:

Orientado a la conexión: esto significa que se establece una conexión entre emisor y receptor, previamente al envío de los datos. Se establece un circuito virtual entre los extremos. Este circuito crea la ilusión, por esto se llama virtual, de que hay un único circuito por el que viaja la información de forma ordenada. Ésto, en realidad no es cierto, la información viaja en paquetes desordenados por distintas vías hasta su destino y allí, tiene que ser reensamblados.

Fiable: significa que la información llega sin errores al destino. Por esto, la aplicación que usa este protocolo, no se tiene que preocupar de la integridad de la información, se da por hecho.

12

Ver Referencia [8]

Page 33: TESIStesis.ipn.mx/jspui/bitstream/123456789/12478/1/diseñoprototipo.pdf · A mi abuela María de la Luz Nava Martínez, por su apoyo, consejos, comprensión y ayuda en los momentos

CAPÍTULO I. Marco Teórico y de Referencia

11

El protocolo TCP actúa de puente, entre la aplicación, que requiere los servicios, y el protocolo IP, que debe dirigir el tráfico por la red, hasta llegar a su destino. Este protocolo usa la tecnología de conmutación de paquetes. La unidad de información es el byte y éstos se agrupan en segmentos, que son pasados al protocolo IP. Estos segmentos viajan encapsulados en los datagramas IP. Es un flujo de información no estructurado, información binaria sin ningún formato. La aplicación de destino tiene que interpretar esta información. Los datos viajan en los segmentos junto a información de control. Usa una memoria intermedia llamada memoria temporal (buffer), para hacer más eficiente la transferencia. La transmisión es punto a punto, origen y destino, y full dúplex, es decir, en ambas direcciones, para hacer más eficaz el tráfico en la red.13 Antes de poder enviar información, hay que establecer una conexión entre los extremos. En una transmisión hay tres fases:

Apertura de conexión Transferencia de datos Cierre de conexión.

Tabla 3.- Paquete TPC

4bits 4bits 4bits 4bits 4bits 4bits 4bits 4bits

Puerto TCP Origen Puerto TCP Destino

Número de Secuencia Número de acuse de recibo

HLEN Reservado Indicadores Ventana

Checksum TCP Marcador Urgente

Opciones Relleno

Datos

iv Establecimiento de una conexión TCP

Para abrir la conexión se envían tres segmentos, por eso se llama "saludo de tres vías", el proceso se muestra en la figura 18 y se rige bajo los siguientes pasos:

El ordenador 1(O1), hace una apertura activa y envía un segmento TCP (S1), al ordenador 2 (O2). Este segmento lleva el bit SYN activado, y el primer nº de secuencia que usará para mandar sus segmentos.

O2 recibe el segmento (S1). Si desea abrir la conexión, responde con un segmento acuse de recibo (ACK), con el bit SYN activado, con ACK = x +1 y con

13

Ver Referencia [8]

Page 34: TESIStesis.ipn.mx/jspui/bitstream/123456789/12478/1/diseñoprototipo.pdf · A mi abuela María de la Luz Nava Martínez, por su apoyo, consejos, comprensión y ayuda en los momentos

CAPÍTULO I. Marco Teórico y de Referencia

12

su propio nº de secuencia inicial (y), y deja abierta la conexión por su extremo. Si no desea abrir la conexión, envía un segmento, con el bit RST activado, a O1.

O1 recibe el segmento y envía su segmento de confirmación con ACK = y + 1. O2 recibe la confirmación y decide que la conexión ha quedado abierta, y

puede enviar mensajes también en el otro sentido.

Los números de secuencia usados (X y Y), son distintos en cada sentido y son aleatorios para evitar conflictos. A partir del paso 4 comienza la transmisión de datos hasta el final. Cuando ya no hay más datos que transferir, hay que cerrar la conexión. 14

Figura 18.- Proceso de Apertura de una Conexión TCP

v Cierre de la conexión TCP

El proceso es una variación del saludo de tres vías y es representado en la figura 19:

O1 no tiene más datos para transferir. Envía un segmento TCP con el bit FIN activado y cierra la conexión activa, en el sentido de envío. La recepción está abierta todavía.

O2 recibe el segmento, informa a la aplicación receptora del cierre y devuelve la confirmación (ACK) a O1.

O1 recibe el ACK de O2. O2 decide cerrar la comunicación y envía un segmento TCP con el bit FIN

activado.

14

Ver Referencia [8]

Page 35: TESIStesis.ipn.mx/jspui/bitstream/123456789/12478/1/diseñoprototipo.pdf · A mi abuela María de la Luz Nava Martínez, por su apoyo, consejos, comprensión y ayuda en los momentos

CAPÍTULO I. Marco Teórico y de Referencia

13

O1 lo recibe y envía un ACK a O2. O2 lo recibe y cierra la conexión definitivamente.

Figura 19 .-Cierre de Conexión TCP

vi Protocolo UDP

El Protocolo de Datagrama de Usuario (UDP). Proporciona una comunicación sencilla entre dos ordenadores, y que no consume muchos recursos. Pertenece a la capa de transporte. Es un protocolo:

o No confiable: no hay un control de paquetes enviados y recibidos. Éstos pueden llegar erróneos o no llegar a su destino.

o No orientado a conexión: no se realiza una conexión previa entre origen y destino, como ocurre en el protocolo TCP.

Es un protocolo útil, en casos en los que no es necesario mucho control de los datos enviados. Se usa cuando la rapidez es más importante que la calidad, en los casos en que la información cabe en un único datagrama. Uno de sus usos más comunes es el envío de mensajes entre aplicaciones de dos ordenadores. No es tan fiable como el protocolo TCP, pero es simple, con baja sobrecarga de la red, y por lo tanto, ideal para aplicaciones que usen masivamente la red, como DNS y SNMP. Utiliza el protocolo IP para transportar los mensajes, es decir, va encapsulado dentro de un datagrama IP. No añade ninguna mejora a este protocolo, en cuanto a control de errores. Incorpora los puertos origen y destino en su formato. El número de puerto de

Page 36: TESIStesis.ipn.mx/jspui/bitstream/123456789/12478/1/diseñoprototipo.pdf · A mi abuela María de la Luz Nava Martínez, por su apoyo, consejos, comprensión y ayuda en los momentos

CAPÍTULO I. Marco Teórico y de Referencia

14

destino, en la cabecera UDP, se utiliza para dirigir el datagrama UDP a un proceso específico, que se está ejecutando en el ordenador destino. El número de puerto origen, permite al proceso contestar adecuadamente. No controla errores, cuando se detecta un error en un datagrama, se descarta. Esto hace que deban ser las aplicaciones que lo usen, las que controlen los errores, si les interesa. UDP no numera los datagramas, tampoco utiliza confirmación de entrega, como ocurre en TCP. Esto hace que no hay garantía de que un paquete llegue a su destino, ni que los datagramas pueden llegar duplicados o desordenados a su destino.15 En la figura 20 se muestra una comparación, entre el modelo TCP/IP y el OSI

Tabla 4.- Paquete UDP

+ Bits 0 - 15 16 - 31

0 Puerto origen Puerto destino

32 Longitud del Mensaje Suma de verificación

64

Datos

Figura 20.- Comparación entre TCP/IP y OSI

vii Protocolo IP

Este protocolo, funciona transmitiendo la información por medio de paquetes. A este sistema se le conoce como "catenet". Da las normas para la transmisión de bloques de datos llamados datagramas, desde el origen al destino. Para hacer esto, identifica a los host origen y destino por una dirección de longitud fija, llamada dirección IP. Se encarga también, si fuera necesario, de la fragmentación y reensamblaje de grandes datagramas para su transmisión por redes de trama pequeña. Es un protocolo que pertenece a la capa de red.

15

Ver Referencia [8]

Page 37: TESIStesis.ipn.mx/jspui/bitstream/123456789/12478/1/diseñoprototipo.pdf · A mi abuela María de la Luz Nava Martínez, por su apoyo, consejos, comprensión y ayuda en los momentos

CAPÍTULO I. Marco Teórico y de Referencia

15

Es un sistema de conmutación de paquetes no orientado a conexión, ya que cada paquete viaja independientemente de los demás; no fiable, los paquetes se pueden perder, duplicar o cambiar de orden. Es decir, este protocolo no soluciona estos problemas, esta tarea queda para otros protocolos. Este protocolo utiliza, a su vez, protocolos de redes locales, que se encargan de llevar el datagrama IP a través de la red local hasta su salida, por medio de una pasarela (gateway), hasta la próxima red. El protocolo IP realiza dos funciones básicas: direccionamiento y fragmentación.

Cada datagrama IP tiene una cabecera en la que figuran la dirección de origen y de destino. El módulo Internet usa estas direcciones para llevar el datagrama hasta su destino. Este proceso se llama encaminamiento o enrutamiento.

El módulo Internet usa campos en la cabecera para fragmentar y reensambla los datagramas IP, si fuera necesario, para su transmisión por redes de trama pequeña.

En cada host y en cada pasarela que interconecta redes, reside un módulo Internet. Estos módulos tienen reglas comunes para interpretar las direcciones y para fragmentar y reensamblar los datagramas IP. Estos módulos, en las pasarelas, saben cómo encaminar los datagramas IP. Cada datagrama IP, se trata como una entidad independiente, no relacionada con ningún otro datagrama IP. No existen conexiones o circuitos lógicos (virtuales o de cualquier otro tipo). El protocolo Internet, utiliza cuatro mecanismos clave para prestar su servicio: Tipo de Servicio, Tiempo de Vida, Opciones y Suma de Control de Cabecera. El Tipo de Servicio se utiliza para indicar la calidad del servicio deseado como prioridad, retardo, rendimiento, etc. El Tiempo de Vida es una indicación de un límite superior en el periodo de vida de un datagrama IP. Es fijado por el remitente del datagrama y reducido en 1, en cada router que atraviesa en su camino. Si el tiempo de vida se reduce a cero antes de que llegue a su destino, el datagrama IP es destruido. Las opciones proporcionan funciones de control necesarias o útiles en algunas situaciones. No son obligatorias. La Suma de Control de Cabecera, sirve para verificar que la información ha sido transmitida correctamente. Si la suma de control de cabecera falla, el datagrama IP es descartado. Este control es sólo para la cabecera, no hay control de error para los datos en este nivel. El protocolo Internet no proporciona ningún mecanismo de comunicación fiable, no existen acuses de recibo entre extremos, ni entre saltos. No existe control de flujo. El diagrama de la figura 21 ilustra la posición del Protocolo de Internet en la jerarquía de protocolos y en la tabla 5 se muestra el datagrama del paquete IP:

Page 38: TESIStesis.ipn.mx/jspui/bitstream/123456789/12478/1/diseñoprototipo.pdf · A mi abuela María de la Luz Nava Martínez, por su apoyo, consejos, comprensión y ayuda en los momentos

CAPÍTULO I. Marco Teórico y de Referencia

16

Figura 21.- Relación de IP con otros Protocolos de Red

El protocolo Internet interactúa por un lado, con los protocolos de la capa de transporte y por otro, con el protocolo de la red local.16

Tabla 5.- Datagrama IP

viii Puertos y Zócalos (Sockets)

La noción de puerto, es introducida por la capa de transporte para distinguir entre los distintos destinos, dentro del mismo host, al que va dirigida la información. La capa de red solamente necesita, para dirigir la información entre dos ordenadores, las direcciones IP del origen y el destino. La capa de transporte añade la noción de puerto. Un ordenador, puede estar ejecutando a la vez varios procesos distintos, por ello no es suficiente indicar la dirección IP del destino, además, hay que especificar el puerto al que va destinado el mensaje.

16

Ver Referencia [8]

Page 39: TESIStesis.ipn.mx/jspui/bitstream/123456789/12478/1/diseñoprototipo.pdf · A mi abuela María de la Luz Nava Martínez, por su apoyo, consejos, comprensión y ayuda en los momentos

CAPÍTULO I. Marco Teórico y de Referencia

17

Cada aplicación utiliza un número de puerto distinto. Cuando una aplicación está esperando un mensaje, lo hace en un puerto determinado, se dice que está "escuchando un puerto". Un puerto es un número de 16 bits, por lo que existen =65536 números de puerto posibles, en cada ordenador. Las aplicaciones utilizan estos puertos para enviar y recibir mensajes. Se llama conversación al enlace de comunicaciones entre dos procesos. Aparte del concepto de puerto, la capa de transporte, usa el concepto de socket o zócalo. Los sockets son los puntos terminales de una comunicación, que pueden ser nombrados y direccionados en una red. Un socket está formado por la dirección IP del host y un número de puerto. Una dirección de socket está formada por la tripleta:

{protocolo, dirección local, proceso local}

Por ejemplo, en el protocolo TCP/IP un socket sería: {tcp, 193.53.214.3, 1345} Si una aplicación cliente quiere comunicarse con una aplicación servidora de otro host, el protocolo TCP, le asigna un número de puerto libre, en el otro extremo, la aplicación servidora permanece a la escucha en su puerto bien conocido. Por ejemplo, el envío de correo con el protocolo POP3, utiliza el número de puerto 110. Para que la transmisión sea más eficaz, los puertos usan una memoria intermedia, llamada "buffer". Existe un buffer en el origen, usado por la aplicación cliente, y otro en el destino, donde se van almacenando los datos enviados hasta que los pueda recoger la aplicación receptora. Los primeros 256 puertos son los llamados "puertos bien conocidos" (well-known), y se usan para servicios comunes, como HTTP, FTP, etc. TCP asigna los números de puerto bien conocidos, para aplicaciones servidoras (aquellas que ofrecen servicios) y el resto de los números disponibles a las aplicaciones cliente (aquellas que solicitan servicios), según los van necesitando.17 Los números de puerto tienen asignado los siguientes intervalos:

Del 0 al 255 se usan para aplicaciones públicas. Del 255 al 1023 para aplicaciones comerciales. Del 1023 en adelante, no están regulados.

Los puertos bien conocidos están definidos en la RFC 1700, los puertos más usados se muestran en la tabla 6.

17

Ver Referencia [8]

Page 40: TESIStesis.ipn.mx/jspui/bitstream/123456789/12478/1/diseñoprototipo.pdf · A mi abuela María de la Luz Nava Martínez, por su apoyo, consejos, comprensión y ayuda en los momentos

CAPÍTULO I. Marco Teórico y de Referencia

18

Tabla 6.- Puertos TCP más usados

Palabra Clave Puerto Descripción

cho 7/tcp/udp Eco

daytime 13/tcp/udp Fecha y Hora

ftp 21/tcp Protocolo de Transferencia de Ficheros

telnet 23/tcp Telnet

smtp 25/tcp Protocolo de Correo Sencillo

domain 53/TCP-UDP Servidor de Nombres de Dominio DNS

gopher 70/TCP Gopher

www-http 80/TCP World Wide Web HTTP (servicio de páginas Web)

pop3 110/TCP Post Office Protocol- Versión 3

irc 194/TCP Internal Relay Chat Protocol (Protocolo de Internet de Chat)

ix Clases de direcciones IP

Existen cinco clases de direcciones IP, según la manera de repartir los bits entre la dirección de red y el número de host. Esta idea pretende asignar direcciones de red que se adapten a las necesidades de los usuarios. Si se tiene una red, en donde la máscara de subred es del tipo 255.0.0.0, puede llegar a tener 2563 direcciones de host mientras que si la máscara de subred es 255.255.255.0 sólo podrá haber 256 direcciones de host distintas. Utilizando las direcciones IP y las máscaras de subred se definen tres tipos de redes, como los muestra la tabla 7:

Tabla 7.- Clases de Direcciones IP

Máscara de subred

Rango Número

Redes Host

Clase A 255.0.0.0 1.0.0.0 - 126.255.255.255 127 16777214

Clase B 255.255.0.0 1.0.0.0 - 126.255.255.255 16384 65534

Clase C 255.255.255.0 192.0.0.0 - 223.255.255.255 2097151 254

Clase (D) 224.0.0.0 - 239.255.255.255 histórico

Clase (E) 240.0.0.0 - 255.255.255.255 histórico

La clase que se elija para una red dada, dependerá del número de máquinas que tenga y las que se prevean en el futuro. Como se mencionó el número de red es asignado por el NIC o por el organismo de cada país en quien él delegue. El número de host lo asignará el administrador que controla la red.18

18

Ver Referencia [8]

Page 41: TESIStesis.ipn.mx/jspui/bitstream/123456789/12478/1/diseñoprototipo.pdf · A mi abuela María de la Luz Nava Martínez, por su apoyo, consejos, comprensión y ayuda en los momentos

CAPÍTULO I. Marco Teórico y de Referencia

19

x Dirección IP Privadas

Las redes privadas que no están directamente conectadas a Internet, esto es, las redes que se conectan por medio de un proxy o un router a una única línea con una sola dirección IP Pública, dada por un proveedor de servicios, y tienen asignados unos rangos de direcciones IP para su funcionamiento interno. Los rangos en cada clase se representan en la tabla 8.

Tabla 8.- Rangos de direcciones IP Privadas

Rango

Clase A 10.0.0.0 - 10.255.255.255

Clase B 172.16.0.0 - 172.31.255.255

Clase C 192.168.0.0 - 192.168.255.254

Estas direcciones IP, no son utilizadas por los routers para su comunicación con Internet, y se utilizan sólo dentro de la organización. Estas redes (Intranet), tienen la ventaja de ser mucho menos accesibles a ataques desde el exterior.19 En la figura 22 se representa la aplicación de una IP privada en una red.

Figura 22.- Red Privada y Proxy para Internet

xi Dirección IP Pública

Internet también es una red de ordenadores. De hecho es una enorme red de redes, y cada una de ellas necesita un identificador IP propio y único en toda Internet. Esta dirección IP pública, es la que identifica unívocamente en toda internet. Regularmente estas clases de IP son utilizadas por los servidores o routers, que son principalmente

19

Ver Referencia [8]

Page 42: TESIStesis.ipn.mx/jspui/bitstream/123456789/12478/1/diseñoprototipo.pdf · A mi abuela María de la Luz Nava Martínez, por su apoyo, consejos, comprensión y ayuda en los momentos

CAPÍTULO I. Marco Teórico y de Referencia

20

los equipos que se conectan a Internet.20 En la figura 23 se muestra una topología de una dirección IP pública contra una privada.

Figura 23.- Topología de una IP Pública

xii Dirección IP Estática

Son las IP que se encuentran fijas para un dispositivo, el cual no requiere un cambio

contante de IP, regularmente son usadas por Servidores, Routers y dispositivos que

requieran siempre tener la misma dirección IP, ya que por medio de ella encontraran al

dispositivo asociada a esa IP. Estas IP son configuradas manualmente en base a la

dirección MAC del equipo. Estas IP pueden ser Privadas o Públicas.

xiii Dirección IP Dinámica

Son las IP que se encuentran en constante cambio en una red, es un método empleado

para la reutilización de las direcciones en una red, su uso primordial se basa en que se

piensa que no todos los equipos o dispositivos de una red, están conectados a la vez a

la red, por lo tanto, esta dirección se presta al dispositivo por un tiempo asignado por

el administrador, y este último se vale de un DHCP, que es un protocolo que permite

asignar direcciones IP dinámicas a un dispositivo.

20

Ver Referencia [8]

Page 43: TESIStesis.ipn.mx/jspui/bitstream/123456789/12478/1/diseñoprototipo.pdf · A mi abuela María de la Luz Nava Martínez, por su apoyo, consejos, comprensión y ayuda en los momentos

CAPÍTULO I. Marco Teórico y de Referencia

21

xiv DHCP

El Protocolo de Configuración Dinámica de Host o DHCP, por sus siglas en inglés, es un

protocolo de Red que provee a los dispositivos de una red, la capacidad de obtener

una dirección IP automáticamente. Se trata de un protocolo Cliente/Servidor. El

proceso para la asignación y obtención de una dirección IP usando este protocolo,

sigue los siguientes pasos:

1. DHCP Discovery: Es una solicitud DHCP realizada por un cliente de este protocolo, para que el servidor DHCP de dicha red le asigne una Dirección IP y otros parámetros DHCP, como la máscara de red o el nombre DNS.

2. DHCP Offer: Es el paquete de respuesta del Servidor DHCP a un cliente DHCP, ante su petición de la asignación de los Parámetros DHCP. Para ello involucra su dirección MAC.

3. DHC Request: El cliente selecciona la configuración de los paquetes recibidos de DHCP Offer. Una vez más, el cliente solicita una dirección IP específica que indicó el servidor.

4. DHCP Acknowledge: Cuando el servidor DHCP recibe el mensaje DHCP- REQUEST del cliente, se inicia la fase final del proceso de configuración. Esta fase implica el reconocimiento y el envío de un paquete DHCP-ACK al cliente. Este paquete incluye la duración y cualquier otra información de configuración. El servidor reconoce la solicitud y envía acuse de recibo al cliente. El sistema en su conjunto espera que el cliente configure su interfaz de red con las opciones suministradas. Y el proceso habrá concluido, como lo muestra la figura 24 .21

1.5 HTTP El Protocolo de Transferencia de HiperTexto (Hypertext Transfer Protocol) es un protocolo cliente-servidor que articula los intercambios de información entre los clientes Web y los servidores HTTP.

21

Ver Referencia [8]

DHCP Discovery

DHCP Offer

DHCP Request

DHCP Offer

DHCP Acknowledge

DHCP Offer

Cliente DHCP Servidor DHCP

Figura 24.- Paquetes de Conexión DCHP

Page 44: TESIStesis.ipn.mx/jspui/bitstream/123456789/12478/1/diseñoprototipo.pdf · A mi abuela María de la Luz Nava Martínez, por su apoyo, consejos, comprensión y ayuda en los momentos

CAPÍTULO I. Marco Teórico y de Referencia

22

Se diseñó específicamente para la WWW: es un protocolo rápido y sencillo, que permite la transferencia de múltiples tipos de información de forma eficiente y rápida. Se puede comparar, por ejemplo, con FTP, que es también un protocolo de transferencia de ficheros, pero tiene un conjunto muy amplio de comandos, y no se integra demasiado bien en las transferencias multimedia. HTTP está soportado por los servicios de conexión TCP/IP. Cada vez que un cliente realiza una petición a un servidor, se ejecutan los siguientes pasos:

1. Un usuario accede a una URL, seleccionando un enlace de un documento HTML o introduciéndola en el navegador.

2. El cliente Web descodifica la URL, separando sus diferentes partes. Así identifica el protocolo de acceso, la dirección DNS o IP del servidor, el posible puerto opcional (el valor por defecto es 80) y el objeto requerido del servidor.

3. Se abre una conexión TCP/IP con el servidor Web, llamando al puerto TCP correspondiente (80).

4. Se realiza la petición. Para ello, se envía el comando necesario (GET, POST, HEAD), la dirección del objeto requerido (el contenido de la URL que sigue a la dirección del servidor), la versión del protocolo HTTP empleada (casi siempre HTTP/1.0) y un conjunto variable de información, que incluye datos sobre las capacidades del navegador, datos opcionales para el servidor…

5. El servidor devuelve la respuesta al cliente. Consiste en un código de estado y el tipo de dato MIME de la información de retorno, seguido de la propia información.

6. Se cierra la conexión TCP.

Este proceso se repite en cada acceso al servidor HTTP. Por ejemplo, si se recoge un documento HTML, en cuyo interior están insertadas cuatro imágenes, el proceso anterior se repite cinco veces, una para el documento HTML y cuatro para las imágenes. Elementalmente se dice de http, que:

Es protocolo simple de solicitud-repuesta. Es usado por las aplicaciones Web. Usa el HTML como lenguaje de transmisión. Rápido y simple, aunque carece de estado. Lo que significa que, en principio, un

servidor de HTTP carece de medios, para relacionar información concerniente a una petición con otra petición anterior o posterior. Los datos de la respuesta, se basan exclusivamente en la información que el cliente envía en la petición. El protocolo HTTP no conoce a la persona a quien está enviando una página, ni cuántas páginas le haya podido enviar, incluso, aunque se haya conectado algunos segundos, ya que cada petición de página se procesa independientemente.

Page 45: TESIStesis.ipn.mx/jspui/bitstream/123456789/12478/1/diseñoprototipo.pdf · A mi abuela María de la Luz Nava Martínez, por su apoyo, consejos, comprensión y ayuda en los momentos

CAPÍTULO I. Marco Teórico y de Referencia

23

1.6 NAT

Network Address Translation (NAT) –Traducción de Dirección de Red, es un mecanismo utilizado por routers IP, para traducir en una o varias direcciones IP Privadas hacia una dirección IP Publica para accesar a Internet, es decir, todos los equipos que pertenecen a una red privada, saldrán a Internet con una sola dirección pública. Se ayuda del protocolo TCP/IP, modificando la estructura de un paquete IP, específicamente en los campos en los que se indica la dirección origen y destino.

i Funcionamiento de NAT

Cuando un cliente en la red interna contacta con una máquina en Internet, envía paquetes IP destinados a esa máquina. Estos paquetes contienen toda la información de direccionamiento necesaria para que puedan ser llevados a su destino. NAT se encarga de estas piezas de información:

Dirección IP de origen (por ejemplo, 192.168.1.35) Puerto TCP o UDP de origen (por ejemplo, 2132)

Cuando los paquetes pasan a través de la pasarela de NAT, son modificados para que parezca que se han originado y provienen de la misma pasarela de NAT. La pasarela de NAT registra los cambios que realiza en su tabla de estado, para así poder: a) invertir los cambios en los paquetes devueltos, y b) asegurarse de que los paquetes devueltos pasen a través del cortafuegos y no sean bloqueados. Por ejemplo, podrían ocurrir los siguientes cambios: IP de origen: sustituida con la dirección externa de la pasarela (por ejemplo, 24.5.0.5) Puerto de origen: sustituido con un puerto no en uso de la pasarela, escogido aleatoriamente (por ejemplo, 53136) Ni la máquina interna ni el anfitrión de Internet se dan cuenta de estos pasos de traducción. Para la máquina interna, el sistema NAT es simplemente una pasarela a Internet. Para el anfitrión de Internet, los paquetes parecen venir directamente del sistema NAT; ni siquiera se da cuenta de que existe la estación interna. Cuando el anfitrión de Internet responde a los paquetes internos de la máquina, los direcciona a la IP externa de la pasarela de NAT (24.5.0.5) y a su puerto de traducción (53136). La pasarela de NAT busca entonces en la tabla de estado para determinar si los paquetes de respuesta concuerdan con alguna conexión establecida. Entonces encontrará una única concordancia basada en la combinación de la dirección IP y el puerto, y esto indica que los paquetes pertenecen a una conexión iniciada por la

Page 46: TESIStesis.ipn.mx/jspui/bitstream/123456789/12478/1/diseñoprototipo.pdf · A mi abuela María de la Luz Nava Martínez, por su apoyo, consejos, comprensión y ayuda en los momentos

CAPÍTULO I. Marco Teórico y de Referencia

24

máquina interna 192.168.1.3522. Una representación del protocolo es mostrada en la figura 25.

ii Internet y su funcionamiento básico

Internet es una interconexión de redes informáticas, que permite a las computadoras

conectadas comunicarse directamente entre ellas. El término suele referirse a una

interconexión en particular, de carácter mundial y abierto al público.

La tecnología de Internet, es una precursora de la llamada ‘superautopista de la

información’.

Internet es un conjunto de ordenadores de diferente tipo, marca y sistema operativo,

distribuidos por todo el mundo y unidos a través de enlaces de comunicaciones muy diversos.

El primer paso es lograr su interconexión física, para lo que se emplean sistemas muy diversos:

Redes de área local, por lo general basadas en el estándar Ethernet. Son las

más utilizadas en redes corporativas de empresas u organizaciones, con extensiones menores de 2 Km.

Enlaces nacionales, con líneas de uso exclusivo o compartido (de una compañía telefónica).

Enlaces internacionales, proporcionados por compañía de comunicaciones con implantación internacional. Utilizan cableado convencional, fibra óptica, satélites, enlaces por microondas, etc.

Además, muchos usuarios utilizan módems para conectarse desde sus casas, a través de llamadas telefónicas comunes, a proveedores de comunicaciones que dan, a su vez, acceso a Internet. El uso de líneas RDSI (Red Digital de Servicios Integrados), es cada vez más frecuente, como solución de futuro para conectar a usuarios particulares, a las redes de información de alta velocidad. Todos los sistemas de comunicaciones mencionados producen una ‘maraña’ de cables, que permite, del mismo modo que en

22

Ver Referencia [8]

NAT Internet

IP Privada 192.168.1.100

IP Pública 148.204.52.5

Figura 25.- Funcionamiento del Protocolo NAT

Page 47: TESIStesis.ipn.mx/jspui/bitstream/123456789/12478/1/diseñoprototipo.pdf · A mi abuela María de la Luz Nava Martínez, por su apoyo, consejos, comprensión y ayuda en los momentos

CAPÍTULO I. Marco Teórico y de Referencia

25

las comunicaciones telefónicas, disponer de un canal virtual de comunicación entre dos ordenadores, situados en diferentes lugares de la red. La estructura real de la red en un determinado momento, es difícil de conocer, por su complejidad y por no estar bajo el control de un solo organismo. Cada empresa u organización es responsable de su propia red de comunicaciones, y de los enlaces que la unen a las redes vecinas.

Sobre estos diferentes enlaces físicos y equipamiento de comunicaciones, se requiere que cada ordenador disponga de un software de comunicaciones, que permita conectarse e intercambiar información con otros sistemas de la red. Internet es algo más que una inmensa red de ordenadores, además de la intercomunicación, la inmensa cantidad de información y las ventajas que supone, Internet es la base sobre

la que se apoyan ciertos servicios, que han llegado a ser tan necesarios y populares que no entenderíamos Internet, si éstos faltasen. Servicios tan indispensables, como pueden ser el correo electrónico, el FTP, el WWW,....

Estas utilidades van cambiando y actualizándose a las necesidades y demandas de los usuarios, y no sólo nacen cuando son requeridos, sino a veces cuando las capacidades de la red hacen posible su funcionamiento correcto. Por poner un sencillo ejemplo, la videoconferencia es una técnica que está estudiada desde hace bastante tiempo, sin embargo, su implantación depende de las características del medio de transmisión, y es ahora cuando comienza a ser utilizada de manera habitual.23

iii Clientes y Servidores

La mayoría de los servicios de comunicaciones en Internet, funcionan según una

estructura de clientes y servidores. Detrás de este nombre se esconde una idea muy sencilla: un programa de ordenador se especializa en recoger y presentar información (el cliente), y otro en hacer que esta información sea fácilmente accesible (el servidor). Sus principales características son:

Los servidores son programas que, por lo general, se ejecutan en ordenadores

con características especiales (en cuanto a su sistema operativo, potencia, etc.).

Cada uno de ellos tiene una información que proporcionar; para obtenerla, se llama al ordenador que la ofrece, y se establece un diálogo con el programa correspondiente. A través de este diálogo, es posible conocer la información que está disponible, y recoger lo que interesa.

Los clientes, son programas que facilitan el acceso a los servidores; conocen las características del diálogo con cada tipo de servicio, y gestionan todos los pasos a seguir para recoger y mostrar la información deseada.

Los clientes y servidores, confían en TCP o UDP para intercambiar datos de forma fiable. Además, cada servicio utiliza un ‘protocolo de aplicación’, denominando así al

23

Ver Referencia [8]

Page 48: TESIStesis.ipn.mx/jspui/bitstream/123456789/12478/1/diseñoprototipo.pdf · A mi abuela María de la Luz Nava Martínez, por su apoyo, consejos, comprensión y ayuda en los momentos

CAPÍTULO I. Marco Teórico y de Referencia

26

conjunto de reglas, comandos y formatos de mensajes que se utilizan en el diálogo entre clientes y servidores, para intercambiar datos de forma coherente.

Determinados puertos de comunicaciones TCP (generalmente por debajo del valor 1024), están reservados a aplicaciones concretas. Se los denomina ‘puertos conocidos o reservados’ (well-known ports). Los servidores se conectan a esos puertos, y esperan a que una aplicación cliente conecte con ellos, para intercambiar datos según el protocolo de aplicación correspondiente. De esta forma, es posible conocer las direcciones locales de cada servidor, ya que un mismo servicio siempre utiliza los mismos números de puerto en todos los sistemas.

Para referirse a los programas que actúan como clientes o servidores de un servicio determinado, se utilizan comúnmente los términos resultantes de unir las palabras cliente o servidor, al nombre del propio servicio: cliente Telnet, servidor FTP, etc.

El modelo cliente-servidor presenta ventajas, frente a los modelos centralizados de acceso a la información:

1. Permite diversificar las funciones de los ordenadores, y liberar al servidor de trabajo. Los servidores proporcionan la información y los clientes la procesan y presentan.

2. Independiza la información transferida de su presentación en cada

entorno. Los clientes son los encargados de mostrar estos datos, de la forma más adecuada al entorno de trabajo en que operan, liberando al servidor de realizar este trabajo.

3. Descarga las redes de comunicaciones. Los intercambios de información entre clientes y servidores, son operaciones breves, que no obligan a mantener costosos canales, de comunicación permanentes.

iv WiFi

Cuando es necesario disponer de movilidad en las comunicaciones, depender de un enlace físico como es un cable (en cualquiera de sus modalidades), supone una seria restricción. Para evitar esto, las conexiones inalámbricas se convierten en una buena alternativa. La tecnología de redes inalámbricas ofrece movilidad. Es decir, se puede estar en movimiento por nuestro colegio, instituto, empresa, casa, sin perder la conectividad con Internet. Esto es algo que actualmente está tomando gran importancia, ya que con la evolución de las tecnologías y el uso de Internet se han multiplicado para poder disponer de él en cualquier parte sin “ataduras” de cables. Wi-Fi (Wireless Fidelity), es una de las tecnologías de comunicación inalámbrica (sin cables - wireless) más extendidas. También se conoce como WLAN o como IEEE 802.11.

Page 49: TESIStesis.ipn.mx/jspui/bitstream/123456789/12478/1/diseñoprototipo.pdf · A mi abuela María de la Luz Nava Martínez, por su apoyo, consejos, comprensión y ayuda en los momentos

CAPÍTULO I. Marco Teórico y de Referencia

27

Los productos Wi-Fi se identifican como 802.11, y luego son distinguidos por una letra minúscula, que identifica la tecnología específica que está en funcionamiento, como 802.11a. Cada conjunto de certificación se define, por un conjunto de características que se relacionan con el rendimiento, la frecuencia y el ancho de banda. Cada generación también promueve mejoras en la seguridad, y puede incluir otras características que los fabricantes decidan llevar a cabo.24

v 802.11

La norma IEEE 802.11 estableció en junio de 1997 el estándar para redes inalámbricas. Una red de área local inalámbrica, puede definirse como una red de alcance local que tiene como medio de transmisión, el aire. El estándar 802.11 es muy similar al 802.3 (Ethernet), con la diferencia que tiene que adaptar todos sus métodos al medio no guiado de transmisión. En este estándar, se encuentran las especificaciones tanto físicas, como a nivel MAC. Hasta la fecha, ha habido cinco generaciones Wi-Fi de productos disponibles, y más normas se están trabajando para agregar funciones, un mejor rendimiento y seguridad en el futuro. Cada generación está definida, por un conjunto de características que se relacionan con el rendimiento, la frecuencia y el ancho de banda. También promueve mejoras en la seguridad, y puede incluir otras características que los fabricantes decidan llevar a cabo.25 Los principales protocolos definidos para WiFi se muestran en la tabla 9.

Tabla 9.- Generaciones WiFi

Tecnología Wi-Fi Banda de frecuencia Ancho de banda o velocidad de datos

máxima

802.11a 5 GHz 54 Mbps

802.11b 2,4 GHz 11 Mbps

802.11g 2,4 GHz 54 Mbps

802.11n 2,4 GHz, 5 GHz 450 Mbps

802.11ac 5 GHz 1000 Mbps

vi Capa Física y Enlace de Datos

La arquitectura de la capa física y enlace de datos se muestra en la figura 26.

24

Ver Referencia [9] 25

Ver Referencia [9]

Page 50: TESIStesis.ipn.mx/jspui/bitstream/123456789/12478/1/diseñoprototipo.pdf · A mi abuela María de la Luz Nava Martínez, por su apoyo, consejos, comprensión y ayuda en los momentos

CAPÍTULO I. Marco Teórico y de Referencia

28

a) Subcapa Física PHY (Physical) Se ocupa de los detalles de transmisión y recepción en base a las especificaciones 802.11, y en esta subcapa se encuentran dos capas físicas:

FHSS (Frequency-Hopping Spread-Spectrum): Es una técnica de modulación en espectro ensanchado, en el que la señal se emite sobre una serie de radiofrecuencias aparentemente aleatorias, saltando de frecuencia en frecuencia sincrónicamente con el transmisor. Los receptores no autorizados escucharán una señal ininteligible. Si se intentara interceptar la señal, sólo se conseguiría para unos pocos bits. Una transmisión en espectro ensanchado ofrece 3 ventajas principales:

Las señales son altamente resistentes al ruido y a la interferencia.

Las señales son difíciles de interceptar. Una transmisión de este tipo, suena como un ruido de corta duración, o como un incremento en el ruido en cualquier receptor, excepto para el que esté usando la secuencia que fue usada por el transmisor.

Las transmisiones pueden compartir una banda de frecuencia, con muchos tipos de transmisiones convencionales con mínima interferencia.

Su principal desventaja es su bajo ancho de banda.

DSSS (Direct-Sequence Spread-Spectrum): Es una técnica de codificación, que utiliza un código de pseudorruido para "modular" digitalmente una portadora, de tal forma que aumente el ancho de banda de la transmisión, y reduzca la densidad de potencia espectral. La señal resultante tiene un espectro muy parecido al del ruido, de tal forma que a todos los radiorreceptores les parecerá ruido, menos al que va dirigida la señal.

El uso de ondas de radio en la capa física, requiere una compleja acción del protocolo 802.11, por lo tanto, separa la capa física en 2 componentes genéricas:

PLCP (Physical Layer Covergense Procedure): Se encarga de escanear las tramas MAC formadas sobre el medio.

PDM (Physical Medium Dependent): Encargada de permitir la transmisión de las tramas.

b) Subcapa MAC

Page 51: TESIStesis.ipn.mx/jspui/bitstream/123456789/12478/1/diseñoprototipo.pdf · A mi abuela María de la Luz Nava Martínez, por su apoyo, consejos, comprensión y ayuda en los momentos

CAPÍTULO I. Marco Teórico y de Referencia

29

Determina la asignación del canal para la transmisión, es decir, establece cuál es la estación que transmitirá a continuación y las formas de accesar al medio y enviar los datos. El estándar 802.11, no puede utilizar el protocolo CSMA/CD, utilizado por Ethernet, debido a que en los sistemas inalámbricos existen los problemas de la estación expuesta y de la estación oculta. Además, la mayoría de los radiotransmisores no puede transmitir y escuchar ráfagas de ruido, de manera simultánea, en una misma frecuencia, debido a que son half-duplex. Para solucionar este problema, el estándar 802.11 soporta dos modos de funcionamiento:

DCF (Distributed Coordination Function): no usa ningún tipo de control central y antes de permitir la transmisión, verifica que el medio éste libre, ayudando a evitar que se generen las colisiones.

PCF (Point Coordination Function): usa la estación base para controlar toda la actividad en su celda.

c) Subcapa LLC LLC (Logical Link Control): su trabajo es ocultar las diferencias entre las diferentes variantes de los estándares 802, de modo que sean indistinguibles para las capas superiores.

vii Antena

La antena es un componente crítico de un sistema de Radio Frecuencia (RF).

Convierten señales eléctricas en Ondas y viceversa. El tamaño de una antena depende

de la frecuencia: a mayor frecuencia, menor tamaño. El tamaño mínimo a cualquier

frecuencia, es ½ de la longitud de onda (usando técnicas de ingenierías en

comunicaciones puede reducirse más). Las antenas se diseñan según la

802.2LLC

MAC

PHY

MAC

PHY

802.11MAC

PHY FHSS

PHY

PHY

DSSS

PHY

PHY

Enlace de Datos

Subcapa MAC

Capa Física

802.3 802.5 802.11

1

Figura 26.- Arquitectura 802.11 con respecto al Modelo OSI

Page 52: TESIStesis.ipn.mx/jspui/bitstream/123456789/12478/1/diseñoprototipo.pdf · A mi abuela María de la Luz Nava Martínez, por su apoyo, consejos, comprensión y ayuda en los momentos

CAPÍTULO I. Marco Teórico y de Referencia

30

direccionalidad. Las llamadas antenas omnidireccionales, reciben y envían señales

desde cualquier dirección, por tanto, son utilizadas en ambos extremos del enlace en

redes 802.11.26

viii Topologías

La versatilidad y flexibilidad de las redes inalámbricas, es el motivo por el cual la complejidad de una LAN implementada con esta tecnología, sea tremendamente variable. Esta gran variedad de configuraciones, ayuda a que este tipo de redes se adapte a casi cualquier necesidad. Estas configuraciones se pueden dividir en dos grandes grupos, las redes punto a punto y las que utilizan Puntos de Acceso.

a) Punto a punto

También conocidas como redes ad-hoc, es la configuración más sencilla, ya que en ella los únicos elementos necesarios, son terminales móviles equipados con los correspondientes adaptadores para comunicaciones inalámbricas. En este tipo de redes, el único requisito deriva del rango de cobertura de la señal, ya que es necesario que los terminales móviles estén dentro de este rango, para que la comunicación sea posible. Por otro lado, estas configuraciones son muy sencillas de implementar, y no es necesario ningún tipo de gestión administrativa de la red. Un ejemplo sencillo de esta configuración se muestra en la figura 27.

Figura 27.- Representación de una Topología Ad-hoc

b) Punto de Acceso

Estas configuraciones utilizan el concepto de celda, utilizado en otras comunicaciones inalámbricas, como la telefonía móvil. Una celda podría entenderse, como el área en el que una señal radioeléctrica es efectiva. A pesar de que en el caso de las redes inalámbricas esta celda suele tener un tamaño reducido, mediante el uso de varias fuentes de emisión, es posible combinar las celdas de estas señales, para cubrir de

26

Ver Referencia [9]

Page 53: TESIStesis.ipn.mx/jspui/bitstream/123456789/12478/1/diseñoprototipo.pdf · A mi abuela María de la Luz Nava Martínez, por su apoyo, consejos, comprensión y ayuda en los momentos

CAPÍTULO I. Marco Teórico y de Referencia

31

forma casi total un área más extensa. La estrategia empleada para aumentar el número de celdas, y por lo tanto el área cubierta por la red, es la utilización de los llamados Puntos de acceso, que funcionan como repetidores, y por tanto son capaces de doblar el alcance de una red inalámbrica, ya que ahora la distancia máxima permitida no es entre estaciones, sino entre una estación y un punto de acceso. Los Puntos de acceso son colocados normalmente en alto, pero sólo es necesario que estén situados estratégicamente, para que dispongan de la cobertura necesaria para dar servicio a los terminales que soportan. Un único punto de acceso puede soportar un pequeño grupo de usuarios, y puede funcionar en un rango de al menos treinta metros y hasta varios cientos de metros. La infraestructura de este tipo de topología se muestra en la figura 28.

Figura 28.- Infraestructura de Red Inalámbrica con Access Point

La técnica de Punto de acceso, es capaz de dotar a una red inalámbrica de muchas más posibilidades. Además del evidente aumento del alcance de la red, ya que la utilización de varios puntos de acceso, y por lo tanto, del empleo de varias celdas que colapsen el lugar donde se encuentre la red, permite lo que se conoce como roaming, es decir, que los terminales puedan moverse sin perder la cobertura y sin sufrir cortes en la comunicación. Esto representa una de las características más interesantes de las redes inalámbricas, tal como se muestra en la figura 29.

Figura 29.- Roaming en una Red Inalámbrica

Page 54: TESIStesis.ipn.mx/jspui/bitstream/123456789/12478/1/diseñoprototipo.pdf · A mi abuela María de la Luz Nava Martínez, por su apoyo, consejos, comprensión y ayuda en los momentos

CAPÍTULO I. Marco Teórico y de Referencia

32

ix Interferencia y Atenuación

La naturaleza de la tecnología de radio, las señales de radio frecuencia pueden desvanecerse o bloquearse por la acción de materiales ambientales. La inspección en el lugar ayudará a identificar los elementos que afecten en forma negativa a la señal. La tabla 10 muestra, los materiales nocivos que se deben considerar con el propósito de realizar una instalación y aplicación con WiFi.

Tabla 10 .- Materiales que provocan interferencia en las señales inalámbricas

Material Ejemplo Interferencia

Madera Tabiques Baja

Vidrio Ventanas Baja

Amianto Techos Baja

Yeso Paredes Interiores Baja

Ladrillo Paredes Interiores y Exteriores

Media

Hojas Árboles y Plantas Media

Agua Lluvia /Niebla Alta

Cerámica Tejas Alta

Papel Rollos de Papel Alta

Vidrio con alto contenido de Plomo

Ventanas Alta

Metales Vigas, armarios Muy Alta

x Ancho de Banda

El ancho de banda es simplemente una medida de rango de frecuencia. Si un rango de 2400 MHz a 2480 MHz es usado por un dispositivo, entonces el ancho de banda sería 0,08 GHz (o más comúnmente 80MHz). Se puede ver fácilmente que el ancho de banda que definimos aquí, está relacionado con la cantidad de datos que pueden trasmitir dentro del espacio de frecuencia, y los datos que caben en un momento dado. El término ancho de banda, es a menudo utilizado por algo que deberíamos denominar tasa de transmisión de datos, como en “mi conexión a Internet tiene 1 Mbps de ancho de banda”, que significa que ésta puede trasmitir datos a 1 megabit por segundo. Los anchos de banda que maneja WiFi son de 80MHz, para la banda de 2400 MHz a 2480 MHz y de 40MHz, para la banda de 5800 MHz a los 5840 MHz.

Page 55: TESIStesis.ipn.mx/jspui/bitstream/123456789/12478/1/diseñoprototipo.pdf · A mi abuela María de la Luz Nava Martínez, por su apoyo, consejos, comprensión y ayuda en los momentos

CAPÍTULO I. Marco Teórico y de Referencia

33

xi Protocolos de Seguridad y Encriptación de datos en WiFi

En las redes Inalámbricas es de vital importancia el encriptar y dar seguridad a los

datos, debido a que éstos se están transmitiendo libremente en el medio, y cualquiera

pudiera captar dicha información, para ellos existen varias opciones para encriptar y

proporcionar seguridad a la información. Los más reconocidos y empleados son:

Wep

WPA

WPA/2 (Empresarial y Personal)

xii Proceso de Asociación entre Dispositivos WiFi

Para llevar a cabo una conexión entre dispositivos WiFi es necesario entablar procesos

básicos de comunicación para concretar una conexión exitosa, los pasos básicos

necesarios son:

1. Escaneo: Es el proceso que lleva acabo un dispositivo WiFi, para encontrar una

red disponible en el medio y a su alcance. Dentro del proceso de escaneo del

medio el dispositivo, se encontrara en la mayoría con los siguientes

parámetros:

BBSSType : Especifica si la red es tipo “Ad hoc” o “Infraestructura”

BSSID: Broadcast enviado por la red Difusora para su localización

SSID: Especifica el Nombre de la Red Inalámbrica en forma de una cadena.

Scan Type: Especifica un escaneo activo o pasivo. La opción pasiva ahorra

Batería.

ChannelList: Indica el canal sobre el cual se está transmitiendo la Red

Inalámbrica

2. Solicitud de Asociación: El dispositivo host envía al Access Point o red Ad hoc,

un paquete solicitándole que desea unirse a sus servicios.

3. El Access Point o red Ad hoc, procesa la solicitud y dependiendo del método de

Autenticación establecida, solicita al dispositivo que se Identifique por medio

de su dirección MAC, y en su caso, por una contraseña o llave de acceso. Los

tipos de Autenticación pueden ser:

None

Wep

Wpa

Page 56: TESIStesis.ipn.mx/jspui/bitstream/123456789/12478/1/diseñoprototipo.pdf · A mi abuela María de la Luz Nava Martínez, por su apoyo, consejos, comprensión y ayuda en los momentos

CAPÍTULO I. Marco Teórico y de Referencia

34

Wpa/2 (Empresarial o Personal)

802.1x

4. El dispositivo envía los datos solicitados por el Access Point o red Ad hoc, y

espera una respuesta.

5. El Access Point o red Ad hoc, analiza el paquete y decide enviar una respuesta

de confirmación de asociación al dispositivo, en caso de ser verdadera la

información solicitada, y le permite el acceso a sus servicios, en caso contrario,

envía un paquete avisándole que se le niega el acceso y que la asociación fue

un fracaso, que lo intente nuevamente.27

1.7 Plataformas

Un sistema operativo, es el software más importante en una computadora, este

funciona como intermediario y hace posible que el usuario se comunique de forma

más amigable con el hardware, esta relación hace que el sistema operativo y el

hardware funcionen de manera eficiente. Un tipo de sistema operativo, son los

sistemas operativos en tiempo real, los cuales han sido desarrollados para aplicaciones

en tiempo real, estos son entornos usados principalmente en la industria, y se

caracterizan por un parámetro clave que es la administración del tiempo, en tiempo

real significa, que llevan a cabo procesos que se deben cumplir en un plazo estricto de

tiempo, es decir, tienen una respuesta adecuada en base a la información que reciben,

algunos ejemplos de sistemas operativos en tiempo real, son: QNX, RTLinux, Simbian,

RedHad embedded Linux y MQX.

1.8 Tarjetas de Desarrollo

Los microcontroladores se han vuelto muy populares en el ámbito tecnológico, esto es

porque son confiables, robustos y en un solo chip se tiene una herramienta poderosa.

Para facilitar su aprendizaje, se han creado tarjetas de desarrollo, con las que en una

sola tarjeta se puede manejar una gran variedad de microcontroladores, además, son

útiles para aprender a utilizar los periféricos que tiene el microcontrolador.

27

Ver Referencia [8] y [9]

Page 57: TESIStesis.ipn.mx/jspui/bitstream/123456789/12478/1/diseñoprototipo.pdf · A mi abuela María de la Luz Nava Martínez, por su apoyo, consejos, comprensión y ayuda en los momentos

CAPÍTULO I. Marco Teórico y de Referencia

35

1.9 Microcontroladores

El Microcontrolador es un dispositivo electrónico integrado, capaz de llevar a cabo

operaciones lógicas, éste incluye las tres unidades funcionales de una computadora:

CPU, memoria y unidades de entrada y salida. Existen diferentes tipos de arquitecturas

para los microcontroladores, principalmente relacionadas con el uso y distribución de

la memoria, una de éstas es la arquitectura Von Neumann, en la cual el CPU, está

conectado a una memoria donde se guardan las instrucciones del programa y los

datos.28 En la figura 30 se muestra la arquitectura general de un microcontrolador.

La arquitectura Harvard tiene una unidad central de procesamiento conectada a dos

memorias, una de instrucciones y una de datos, por medio de dos buses diferentes que

son totalmente independientes y pueden ser de diferentes anchos.29 En la figura 31 se

muestra la arquitectura tipo Harvard.

28

Ver Referencia [10] 29

Ver Referencia [10].

CPU

BUS DE DATOS

Memoria

RAM

Memoria

ROM

PUERTO

E/S

PUERTO

ENTRADA

PUERTO

SALIDA

BUS DE DIRECCIONES

BUS DE CONTROL

Figura 30 .-Arquitectura de un Microcontrolador

Page 58: TESIStesis.ipn.mx/jspui/bitstream/123456789/12478/1/diseñoprototipo.pdf · A mi abuela María de la Luz Nava Martínez, por su apoyo, consejos, comprensión y ayuda en los momentos

CAPÍTULO I. Marco Teórico y de Referencia

36

La arquitectura ARM se diseñó, para permitir implementaciones de tamaño muy

reducido y de alto rendimiento. Esta arquitectura tan simple, permite que los

dispositivos tengan muy bajo consumo de energía, y como resultado se ha convertido,

dominante en el mercado de la electrónica móvil e integrada. En la figura 32 se

muestra la arquitectura ARM.

CPU

Memoria

De

Programa

Memoria

De

Datos

A/D Convertidor

Temporizador

/Contador

PWM

UART

I2 C/SPI

Puertos E/S

Interrupción del

Sistema

CPU

ARM

RAM

Reloj de tiempo

Real

Control de

depuración

Canal de

Depuración

Flash ROM

PWM

Ethernet SD/MMC USB CAN

Figura 31 .- Arquitectura Harvard

Figura 32.- Arquitectura ARM

Page 59: TESIStesis.ipn.mx/jspui/bitstream/123456789/12478/1/diseñoprototipo.pdf · A mi abuela María de la Luz Nava Martínez, por su apoyo, consejos, comprensión y ayuda en los momentos

CAPÍTULO I. Marco Teórico y de Referencia

37

1.10 Lenguajes de Programación

El Internet ha pasado a ser el medio más importante para transmisión y difusión de

información, y existe la necesidad de encontrar un modo de expresión, esto es, un

lenguaje de Internet, que aproveche al máximo sus características, para esto existen

diferentes lenguajes de Internet, como PHP, Java Script y HTML entre otros.

PHP es un lenguaje de Script, utilizado principalmente en las páginas Web dinámicas

Embebidas en una página HTML, PHP no necesita ser compilado para su

funcionamiento, aunque se necesita tener instalado Apache, o IIS con las librerías de

PHP, la mayor parte de su sintaxis fue tomada de C. Javascript, se trata de un lenguaje

de Scripts basado en Objetos que permite hacer aplicaciones inmersas dentro de un

documento HTML, donde se manejan eventos o acciones según las acciones del

usuario. HTML es un lenguaje estático de marcado, empleado para dar una forma al

contenido de las páginas Web, no es un lenguaje de programación que permita

procesar entradas o generar condiciones, pero es el que permite visualizar la

Información generada por otros lenguajes.30

30

Ver Referencia [11]

Page 60: TESIStesis.ipn.mx/jspui/bitstream/123456789/12478/1/diseñoprototipo.pdf · A mi abuela María de la Luz Nava Martínez, por su apoyo, consejos, comprensión y ayuda en los momentos

CAPÍTULO II. Implementación del Prototipo- Diseño del Sistema de Monitoreo

38

Capítulo II

Implementación del Prototipo Diseño del Sistema de Monitoreo

Page 61: TESIStesis.ipn.mx/jspui/bitstream/123456789/12478/1/diseñoprototipo.pdf · A mi abuela María de la Luz Nava Martínez, por su apoyo, consejos, comprensión y ayuda en los momentos

CAPÍTULO II. Implementación del Prototipo- Diseño del Sistema de Monitoreo

39

Capítulo II Implementación del Prototipo Diseño del Sistema de Monitoreo

2.1 Introducción

El sistema que se desarrolló finalmente, consta tanto de elementos locales como de elemento distantes, siendo los locales, los que llevan la complejidad para el funcionamiento del sistema. Después de realizar la investigación del funcionamiento de cada elemento que integrase el sistema, se procedió a realizar el diseño para la implementación de cada uno. Los elementos que se usaron, son: una cámara IP inalámbrica, el Sistema de Desarrollo de la Torre de Freescale, un módulo de comunicación WiFi de Freescale-GainSpan, un par de Motoreductores, el circuito integrado Puente H L293D y una Batería de Litio. El presente Capítulo muestra, las características que cada elemento tiene y las razones por las cuales se usaron. En la figura 33 se muestra un diagrama general del sistema final.

Figura 33.- Diagrama a Bloques del Sistema

Page 62: TESIStesis.ipn.mx/jspui/bitstream/123456789/12478/1/diseñoprototipo.pdf · A mi abuela María de la Luz Nava Martínez, por su apoyo, consejos, comprensión y ayuda en los momentos

CAPÍTULO II. Implementación del Prototipo- Diseño del Sistema de Monitoreo

40

2.2 Cámara IP Inalámbrica

Es una cámara que emite directamente las imágenes en la red (Intranet o Internet) en

forma inalámbrica sin la necesidad de un ordenador, incorpora su propio

miniordenador, que se encarga de comprimir las imágenes y procesarla, para emitir

video en tiempo real por sí misma.

La cámara se conecta a la red a través de una dirección IP, que puede ser, dinámica

(DHCP) o estática (configurada manualmente), y del lado del usuario, sólo debe entrar

a su navegador de red e ingresar la dirección IP para visualizar el vídeo captado por la

cámara. La figura 34 representa una cámara IP.

Figura 34.- Cámara IP Inalámbrica

Dentro del sistema, la cámara se conecta a la red de forma inalámbrica con una

dirección IP (estática o dinámica), ésta dirección se incrusta en un segmento de la

página Web que aloja el servidor HTTP en el microcontrolador K60D100M. Cuando se

inicia el servidor HTTP insertado en el microcontrolador, el sistema operativo se

encarga, de gestionar y obtener el video procedente de la cámara IP, dicha

información es puenteada a la página HTML, esta última permite visualizar tanto la

página alojada en el servidor, como la integrada en la cámara IP para mostrar el video

en tiempo real. La conexión de la cámara IP inalámbrica al sistema se muestra en la

figura 35.

Servidor HTTP Tarjeta

WiFi MÓDEM

Cámara IP Inalámbrica

Usuario Final (Página HTML + IP de la cámara)

SPI WiFi

Internet o Intranet

WiFi

Figura 35.- Diagrama de Conexión Cámara IP Inalámbrica

Page 63: TESIStesis.ipn.mx/jspui/bitstream/123456789/12478/1/diseñoprototipo.pdf · A mi abuela María de la Luz Nava Martínez, por su apoyo, consejos, comprensión y ayuda en los momentos

CAPÍTULO II. Implementación del Prototipo- Diseño del Sistema de Monitoreo

41

2.3 Tarjeta de Desarrollo TWR-K60D100M Kit

La TWR-K60D100M, es un módulo con un controlador compatible con el sistema de la torre Freescale. Funciona como un sistema autónomo, siendo una plataforma de bajo costo para la evaluación y desarrollo de proyectos. Cuenta con el microcontrolador Kinetis K60 de baja potencia, con electrónica basada en el procesador ARM-M4 ® Cortex ™. En la figura 36 se muestra el sistema de la torre de Freescale. Los módulos principales que son necesarios para la implementación del proyecto, son:

UART (Comunicación Serial Asíncrona estándar RS-232)

USB

Drivers

GPIOS

SPI

USB

FlexBus Los elevadores incluidos en el kit, permiten interconectar el microcontrolador con

otros módulos, en este caso con la TWR-SER, que principalmente integra comunicación

Ethernet, RS232 y USB. Por otro lado, se incrusta al sistema el módulo TWR-WIFI-

G1011MI para proporcionar comunicación inalámbrica, haciendo uso del protocolo

WiFi. EL diagrama a bloques de la TWRK60D100M se muestra en la figura 37.

Las características principales del módulo TWR-K60D100M son:

Núcleo de 32-bit ARM Cortex-M4 con instrucciones DSP. Máxima Frecuencia de operación del núcleo de 100MHz. 144 MAPBGA, 13mm x 13mm. Rango de voltaje para su operación de 1.71V – 3.6V. 512 Kbytes de memoria flash, 128 Kbytes de RAM. Interfaces de Bus Externo. Regulador de potencia con 10 modos diferentes de gestión de energía. Generador de reloj con modos de operación PLL y FLL. 16-bit SAR ADC, 12-bit DAC. Comparador analógico de alta velocidad de 6-bit DAC. Voltaje de referencia programable. USB full-speed/low-speed OTG/Host/Device. 10/100 Mbps Ethernet MAC. SPI, I2C (soporta w/ SMBUS), UART (w/ ISO7816 y IrDA), CAN, I2S. Controlador de Host SD (SDHC) GPIO con patas que soportan interrupción, capacidad de DMA, filtro digital

glitch. Sensores táctiles capacitivos de entrada (TSI) Interfaces de depuración: JTAG, cJTAG, SWD

Page 64: TESIStesis.ipn.mx/jspui/bitstream/123456789/12478/1/diseñoprototipo.pdf · A mi abuela María de la Luz Nava Martínez, por su apoyo, consejos, comprensión y ayuda en los momentos

CAPÍTULO II. Implementación del Prototipo- Diseño del Sistema de Monitoreo

42

Figura 36.- Sistema de la Torre de Freescale TWRK60D100M

Figura 37.- Diagrama a Bloques TWRK60D100M

Page 65: TESIStesis.ipn.mx/jspui/bitstream/123456789/12478/1/diseñoprototipo.pdf · A mi abuela María de la Luz Nava Martínez, por su apoyo, consejos, comprensión y ayuda en los momentos

CAPÍTULO II. Implementación del Prototipo- Diseño del Sistema de Monitoreo

43

El microcontrolador Kinetis-K60D100M aloja el servidor HTTP, este último integra una página Web que es mostrada al usuario final a través de un navegador de Internet. El diagrama a bloques del servidor es mostrado en la figura 38.

i TWR-WIFI-G1011MI

El módulo GainSpan Wi-Fi Tower (TWR-WIFI-G1011MI) es una tarjeta de evaluación y una placa de desarrollo para proveer comunicación inalámbrica usando el protocolo 802.11 b de la tecnología WiFi, tal como se muestra en la figura 39. El módulo GainSpan GS1011MIP Wi-Fi cuenta con las siguientes características:

Cumple con el estándar 802.11b y opera con Access Points con 802.11 b/g/n a velocidades de 11 Mbps

Soporta modo Infraestructura y modo Adhoc Interface UART o SPI de comunicación Hasta 3 MHz en modo esclavo con SPI Hasta 921.6 Kbps de velocidad con UART Pila completa de Wi-Fi , incluye WPS, la pila de red opcional y servicios Seguridad 802.11i WEP, WPA, WPA2-PSK, Enterprise Modulo certificado con RF Module: FCC/IC, ETSI, RoHS.

K60D100M Servidor Web HTTP

Internet Vídeo

Robot Móvil

WiFi

Figura 38.- Servidor Web HTTP en microcontrolador KD100M

Page 66: TESIStesis.ipn.mx/jspui/bitstream/123456789/12478/1/diseñoprototipo.pdf · A mi abuela María de la Luz Nava Martínez, por su apoyo, consejos, comprensión y ayuda en los momentos

CAPÍTULO II. Implementación del Prototipo- Diseño del Sistema de Monitoreo

44

Figura 39.- Tarjeta Inalámbrica WiFi TWR-K60D100M

Este módulo permite la comunicación Inalámbrica entre el servidor HTTP y la red

(Intranet o Internet). El diagrama a bloques de la conexión del módulo de WiFi es

mostrado en la figura 40.

Figura 40.- Conexión del Módulo WiFi con el Microcontrolador

2.4 Motorreductores y Móvil

Los motores de corriente continua también conocidos como motores DC, se alimentan de corriente continua, y son los encargados de producir una rotación mecánica. En robótica se utilizan por la facilidad de controlarlos y además, porque una de las aplicaciones que se le puede dar, es la variación de la velocidad. Entre las características más importantes están: voltaje de alimentación, la corriente, el torque y la velocidad. La desventaja de los motores DC, comúnmente empleados en

Page 67: TESIStesis.ipn.mx/jspui/bitstream/123456789/12478/1/diseñoprototipo.pdf · A mi abuela María de la Luz Nava Martínez, por su apoyo, consejos, comprensión y ayuda en los momentos

CAPÍTULO II. Implementación del Prototipo- Diseño del Sistema de Monitoreo

45

la construcción de robots, es su alta velocidad de giro (entre 2000 y 7000 rpm) y su bajo torque. El problema del torque y la velocidad, se soluciona usando cajas reductoras, que es un sistema de engranajes conectados al eje del motor, disminuyendo la velocidad de giro, a su vez, aumentando el torque del motor. Estos motores son conocidos como Motoreductores. Uno de los Motorreductores usado se ilustra en la figura 41.

Figura 41.- Motorreductor

El motor usado es el Modelo B01, y tiene las siguientes características:

Rango de voltaje de alimentación: 3 a 12Vdc. Características a 5Vdc:

Torque 2 KgF*cm. Velocidad 70 RPM. Consumo de corriente sin carga: 75 mA. Consumo de corriente con carga: 670mA.

Eje de 5.3mm. de diámetro aplanado por ambos lados a 3.6mm. Peso: 32gr.

En el caso del prototipo se usa un par de motores, los cuales se empotran en la parte trasera del móvil para proporcionarle la capacidad de desplazamiento y giro.

2.5 Puente H

Un driver, es un dispositivo que permite controlar una carga, como lo es un motor, en

el caso de los motores de DC, es común el uso del controlador puente H, nombrado así

por la forma en la que dispone sus elementos en forma de una H, siendo un conjunto

de cuatro elementos de conmutación ( circuitos semiconductores), toman un voltaje

de alimentación de DC entre dos pares de transistores de potencia, y como los

transistores permiten que la corriente fluya en sentido bidireccional, la dirección de la

corriente a través de la carga puede ser en ambas direcciones, dando la posibilidad de

girar en ambos sentidos al motor. La imagen 45, muestra el diagrama de control para

el desplazamiento del robot móvil, donde sí se activa S1 y S4, y a la vez se desactivan

S2 y S3, el motor se moverá en una dirección, en el caso contrario el motor gira en el

Page 68: TESIStesis.ipn.mx/jspui/bitstream/123456789/12478/1/diseñoprototipo.pdf · A mi abuela María de la Luz Nava Martínez, por su apoyo, consejos, comprensión y ayuda en los momentos

CAPÍTULO II. Implementación del Prototipo- Diseño del Sistema de Monitoreo

46

otro sentido, todo esto por el cambio en el sentido del flujo de la corriente.31 El arreglo

representativo de un puente H aplicado al control de giro de un motor, es mostrado en

la figura 42.

Figura 42.- Arreglo de un puente H

2.6 Control del sistema

Para controlar los motores del móvil, se implementó una etapa de potencia, ya que por sí solo el microcontrolador, no soporta la corriente necesaria para mover los motores, además se configuran como salidas cuatro patas del microcontrolador, las cuales son conectadas a las entradas del circuito integrado L293d, en su configuración de puente H, como se muestra en la figura 43.

31

Ver Referencia [12]

Figura 43.- L293D Configurado como puente H

Page 69: TESIStesis.ipn.mx/jspui/bitstream/123456789/12478/1/diseñoprototipo.pdf · A mi abuela María de la Luz Nava Martínez, por su apoyo, consejos, comprensión y ayuda en los momentos

CAPÍTULO II. Implementación del Prototipo- Diseño del Sistema de Monitoreo

47

Para que el móvil tenga movimiento, en diferentes direcciones se deben conmutar las

salidas, de todas las posibles combinaciones que se pueden generar con cuatro bits de

salida las importantes son lo que se muestran en la tabla 11.

Tabla 11.- Tabla Lógica para el Control de los Motores

Después de haber cargado el servidor, en el sistema TWR-K60D100M, se enlaza la

tarjeta WI-FI con el modem, y se accede a la página Web desde el navegador, en la

página se agregaron los botones, para realizar el control del móvil, al momento de

pulsar alguno de los botones, se genera un evento, y el microcontrolador responde

mandando por sus terminales de salida un nivel alto o bajo según sea el botón pulsado,

estas salidas son conectadas al puente H, esto es mostrado en la figura 41,

dependiendo de las señales de entrada en el puente H, el motor girara a la izquierda,

derecha o no gira. En la figura 44 se muestra el diseño del sistema de tracción para el

control del robot móvil.

L11 L21 L12 L22 M1 M2 Móvil

0 1 0 1 Derecha Derecha Adelante

1 0 1 0 Izquierda Izquierda Atrás

0 0 0 1 Detenido Derecha Derecha

0 1 0 0 Derecha Detenido Izquierda

Page 70: TESIStesis.ipn.mx/jspui/bitstream/123456789/12478/1/diseñoprototipo.pdf · A mi abuela María de la Luz Nava Martínez, por su apoyo, consejos, comprensión y ayuda en los momentos

CAPÍTULO II. Implementación del Prototipo- Diseño del Sistema de Monitoreo

48

Figura 44.- Diagrama Eléctrico para el Control de los Motores

Page 71: TESIStesis.ipn.mx/jspui/bitstream/123456789/12478/1/diseñoprototipo.pdf · A mi abuela María de la Luz Nava Martínez, por su apoyo, consejos, comprensión y ayuda en los momentos

CAPÍTULO II. Implementación del Prototipo- Diseño del Sistema de Monitoreo

49

Figura 45.- Diagrama de Control para el desplazamiento del Móvil

2.7 WiFi

El protocolo de comunicación para el servidor HTTP, hacia el Modem y/o dispositivo

proveedor de red Inalámbrica, se da a través de WiFi, que es el medio para entablar la

comunicación y al mismo tiempo proveer la capacidad de movilidad, manteniendo

disponible el servidor, sin la necesidad de tener un cable.

Freescale y GainSpan, desarrollaron una tarjeta con la capacidad de incorporar

tecnología inalámbrica con el protocolo WiFi, al sistema de la torre de Freescale, el

resultado fue la TWR-GS1011MI. La tarjeta WiFi se comunica con un microcontrolador,

usando mecanismos de intercambio de datos en forma serial, y puede ser UART o SPI.

La arquitectura del módulo WiFi de Freescale es mostrado en la figura 46.

Page 72: TESIStesis.ipn.mx/jspui/bitstream/123456789/12478/1/diseñoprototipo.pdf · A mi abuela María de la Luz Nava Martínez, por su apoyo, consejos, comprensión y ayuda en los momentos

CAPÍTULO II. Implementación del Prototipo- Diseño del Sistema de Monitoreo

50

Figura 46.- Arquitectura del Módulo GS1011MI con un Microcontrolador Freescale (Tomada de la guía de referencia del módulo GS1011MI)

En este caso, se empleó el protocolo SPI para la comunicación del módulo WiFi que

tiene la función de Esclavo, y el microcontrolador por su parte, como Maestro, este

último encargado de enviar la señalización de reloj y sincronización. Además, se

incorpora DHCP para solicitar direccionamiento IP sobre los dispositivos y/o

proveedores de red WiFi. El diagrama a bloques de la conexión entre el

microcontrolador y el módulo WiFi por el protocolo SPI, se muestra en la figura 47.

Page 73: TESIStesis.ipn.mx/jspui/bitstream/123456789/12478/1/diseñoprototipo.pdf · A mi abuela María de la Luz Nava Martínez, por su apoyo, consejos, comprensión y ayuda en los momentos

CAPÍTULO II. Implementación del Prototipo- Diseño del Sistema de Monitoreo

51

Los datos para el manejo del módulo WiFi, responde a cierta cantidad de caracteres

que el Kernel del microporcesador de la tarjeta WiFi entiende. Éstos caracteres son

ilustrados en la tabla 12.

Tabla 12.- Caracteres de Datos para el Control del Módulo WiFi

Patron Codificación Descripción

0xFD 0xFB 0xDD Control de Flujo XON

0xFA 0xFB 0xDA Control de Flujo XOFF

0x00 0xFB 0x20 Detección de Link Activo

0xFB 0xFB 0xDB Control ESCAPE

0xF5 0xFB 0xD5 Carácter IDLE

0xFF 0xFB 0xDF Detección de Link Inactivo

0xF3 0xFB 0xD3 Indicación de Link SPI Listo

El diagrama de la figura 48 muestra los pasos para iniciar y poner en operación la

tarjeta WiFi.

Host Controller Freescale

MCU/MPU (Master)

GainSpan WiFi GS1011MI

(Slave)

SPI_DOUT

SSPI_DIN

SSPI_DOUT

SPI_DIN

SPI_CS0

SSPI_SS

SPI_CLK

SSPI_CLK

GS_SPI_HOST_WAKEUP (GPIO)

GPIO_28 IRQA (B62)

Host Interface Selection Pin (GPIO26)

Figura 47.- Diagrama de la Interfaz Inalámbrica y el Microcontrolador por SPI

Page 74: TESIStesis.ipn.mx/jspui/bitstream/123456789/12478/1/diseñoprototipo.pdf · A mi abuela María de la Luz Nava Martínez, por su apoyo, consejos, comprensión y ayuda en los momentos

CAPÍTULO II. Implementación del Prototipo- Diseño del Sistema de Monitoreo

52

Manipulador de Datos SPI

Evento SPI RX/TX

Esperando el Evento

Contador TX

Si el flujo de Control esta Encendido?

Contador TX

YES

XOFF Detectado Anteriormente y Esperar indicación XON

NO

Byte de Relleno

1 Iniciando Transferencia de Datos 2 Proceso de Bytes Recibidos 3 Si el patrón XOFF es detectado, encender

bandera para esta condición

Haciendo Transferencia de Datos?

Contador TX

NO

Si el Host ha Despertado? Contador

TX

SI

Esperar el Evento

Figura 48.- Manejo del Control de Flujo de Datos en SPI

Page 75: TESIStesis.ipn.mx/jspui/bitstream/123456789/12478/1/diseñoprototipo.pdf · A mi abuela María de la Luz Nava Martínez, por su apoyo, consejos, comprensión y ayuda en los momentos

CAPÍTULO II. Implementación del Prototipo- Diseño del Sistema de Monitoreo

53

2.8 Programación del Sistema Operativo de Tiempo Real

MQX

La tendencia tecnológica de los últimos años, se ha inclinado a desarrollar dispositivos que integran el hardware con el software de manera directa. Al conjunto de estos dispositivos con el software, se les llama sistemas embebidos. A la par de este desarrollo y en busca de un mayor aprovechamiento de los recursos del hardware, se desarrollaron los sistemas operativos en tiempo real (RTOS por sus siglas en inglés, Real Time Operating System); ofreciendo una forma más fácil de adaptar código entre distintas plataformas de microcontroladores. Uno de los más recientes Sistemas Operativos en tiempo Real liberados, es MQX, proporcionado gratuitamente por la compañía Freescale. Este sistema operativo permite un diseño de aplicaciones, distribuido en forma de tareas, manejo de dispositivos lógicos y físicos, mediante la implementación de controladores diseñados por el programador, aplicado a un microprocesador o un multiprocesador, además de tener un control más estricto en cuanto a los recursos con los que cuenta el microcontrolador.

2.9 Diseño esencial del sistema operativo MQX La constitución esencial del sistema operativo MQX se basa en un núcleo llamado kernel, el cual integra los componentes del sistema. En la figura 49, se muestra la estructura del kernel del MQX y los principales componentes bajo los cuales opera.

Figura 49.- Composición del kernel del MQX

Kernel de MQX

Utilidades

Inicialización

Servicios de la memoria del nùcleo

Creación automática de Tareas

Programación RR y FIFO

Programación de cola de tareas

Semáforos Ligeros

Errores en las tareas

Page 76: TESIStesis.ipn.mx/jspui/bitstream/123456789/12478/1/diseñoprototipo.pdf · A mi abuela María de la Luz Nava Martínez, por su apoyo, consejos, comprensión y ayuda en los momentos

CAPÍTULO II. Implementación del Prototipo- Diseño del Sistema de Monitoreo

54

Una vez que se ha cargado el kernel del sistema operativo, éste tiene la función de administrar el uso de los recursos físicos del sistema, esto permite elaborar aplicaciones más complejas, ya que elimina la limitante de codificar linealmente, permitiendo controlar varias tareas en una sola aplicación, y que todas estén ejecutándose en paralelo o incluso en otro microcontrolador. La función de sus módulos es la de coordinar, sincronizar y comunicar información entre aplicaciones que se estén ejecutando paralelamente.

2.10 Módulos en el sistema operativo MQX Debido a que el núcleo de un sistema operativo en tiempo real es muy básico y sólo usa lo esencial, se construye el sistema en base al kernel, de esta forma se asegura la eficiencia del sistema final. Para seguir construyendo el sistema, se tienen tres tipos de módulos que se pueden agregar: las tareas, las funciones y los controladores.

2.11 Tareas en MQX En analogía directa con el entorno de software conocido, una tarea es una aplicación (programa) que interactúa de manera directa con el usuario. El funcionamiento de una tarea es representado en la figura 50.

Una tarea no se ejecuta todo el tiempo, el sistema operativo va ejecutando las tareas

según sea necesario y según sus prioridades dentro del proceso.

MQX provee varios ejemplos para comenzar con el desarrollo de nuevas tareas, de

acuerdo a las necesidades deseadas, uno de los ejemplos más básicos es imprimir un

Tarea 1

Tarea 2

Tarea 3

Tarea 4

Tarea 5

Figura 50.- Operación de Tareas en MQX

Page 77: TESIStesis.ipn.mx/jspui/bitstream/123456789/12478/1/diseñoprototipo.pdf · A mi abuela María de la Luz Nava Martínez, por su apoyo, consejos, comprensión y ayuda en los momentos

CAPÍTULO II. Implementación del Prototipo- Diseño del Sistema de Monitoreo

55

“HOLA MUNDO” en pantalla mediante terminal, en la figura 51 muestra el programa

para llevar a cabo dicho proceso.

/* hello.c */

#include <mqx.h> #include <fio.h> /* Task IDs */ #define HELLO_TASK 5 extern void hello_task(uint_32); TASK_TEMPLATE_STRUCT MQX_template_list[] = { /* Task Index, Function, Stack, Priority, Name, Attributes, Param, Time Slice */ { HELLO_TASK, hello_task, 500, 5, "hello",MQX_AUTO_START_TASK, 0L, 0}, { 0, 0, 0, 0, 0, 0, 0L, 0} }; void hello_task(uint_32 initial_data) { printf("\n Hello World \n"); _mqx_exit(0); }

El programa manda llamar las librerías de MQX, donde se alojan los parámetros para

dar inicio al sistema operativo, además asocia las librerías que contiene la familia de

los drivers. Se define el identificador de la tarea y su estructura, donde se integra el

nombre de la tarea, si profundizamos en el código de las librerías, observamos que el

dispositivo de comunicación es UART, y es empleado para transmitir los caracteres que

serán mostrado en pantalla, mediante la consola de terminal.

Los programas principales realizados en MQX se muestran en los Anexos del presente

documento.

2.12 Tipo de Programación en MQX El tipo de programación del RTOS cumple con las siguientes políticas:

i FIFO (First In, First Out)

También llamada de prioridad preventiva, establece que la tarea activa es la tarea de más alta prioridad dentro de las existentes, es decir, si una tarea se

Figura 51.- Código básico para definir y usar una tarea en MQX

Page 78: TESIStesis.ipn.mx/jspui/bitstream/123456789/12478/1/diseñoprototipo.pdf · A mi abuela María de la Luz Nava Martínez, por su apoyo, consejos, comprensión y ayuda en los momentos

CAPÍTULO II. Implementación del Prototipo- Diseño del Sistema de Monitoreo

56

encuentra en ejecución y por alguna condición, evento o circunstancia se genera o activa otra tarea, ésta será atendida con respecto al nivel de prioridad previamente establecido. Una representación de la operación de éste tipo de programación se muestra en la figura 52.

Figura 52.- Estructura de operación FIFO

ii Round-Robin

También llamada por intervalo de tiempo, establece que la tarea activa, se da en base al tiempo asignado para su ejecución, cuando otra tarea quiera ejecutarse, esta tendrá que esperar a que termine el tiempo asignado a la tarea activa, tal como se muestra en la figura 53.

Figura 53.- Estructura de Operación Round Robin

Page 79: TESIStesis.ipn.mx/jspui/bitstream/123456789/12478/1/diseñoprototipo.pdf · A mi abuela María de la Luz Nava Martínez, por su apoyo, consejos, comprensión y ayuda en los momentos

CAPÍTULO II. Implementación del Prototipo- Diseño del Sistema de Monitoreo

57

iii Programación Explicita

También llamada por cola de tareas, es un componente opcional, empleado para programar tareas o mecanismos de sincronización en base a colas, y las tareas pueden ser aplicando Round-Robin o FIFO.

2.13 Controlador Un driver es un programa que permite al sistema operativo interactuar con un periférico, haciendo una abstracción del hardware y provee de una interfaz para su uso. En base a ello, MQX incluye un gran número de controladores para dispositivos de Entrada y Salida (I/O), el cual se agrupa en familias de acuerdo con el tipo de dispositivo (I/O). En este caso, los drivers son utilizados para comunicar los motores, la USB, y el módulo de WiFi con el microcontrolador. La estructura de inicialización para un controlador sobre un dispositivo en MQX es mostrado en la figura 54.

Figura 54.- Estructura de un Dispositivo y Driver, de Entrada y Salida

Page 80: TESIStesis.ipn.mx/jspui/bitstream/123456789/12478/1/diseñoprototipo.pdf · A mi abuela María de la Luz Nava Martínez, por su apoyo, consejos, comprensión y ayuda en los momentos

CAPÍTULO II. Implementación del Prototipo- Diseño del Sistema de Monitoreo

58

2.14 Controlador GPIO

Dentro del microcontrolador, cada pata puede ser manejado hasta en cuatro modos, esto porque en cada pata puede tener hasta tres subsistemas, y la forma general en la que se manejan, esto último consiste en controlar el nivel de voltaje en la pata, estos niveles de voltaje corresponden a los especificados como “1” y ”0” lógicos. El modo general de control de los puertos, se conoce como GPIO (General Purpose Input/Output, Entrada Salida de Propósito General), este controlador está implementado en MQX de manera nativa, y se implementa mediante el estándar ANSI de entrada salida formateada; para su configuración, se requiere una estructura donde se indiquen las patas físicas a controlar. A diferencia de otros microcontroladores, la opción representada por MQX es el agrupamiento de patas dentro de estas estructuras, sin que necesariamente pertenezcan al mismo grupo físico de patas. La implementación del sistema sólo exige el control de un par de motores, una cámara UART y el módulo WiFi, por lo que es necesario habilitar varias patas de comunicación, y la cantidad dependerá del dispositivo a interconectar.

2.15 Sistema de Archivos USB Una característica en cuanto a hardware se refiere, es que el microcontrolador K60D100M posee comunicación USB, y que por software puede ser empleado como host. MQX incluye librerías para manejar dispositivos USB, y en este caso es usado como una opción, para alojar una página Web de mayor tamaño. El proceso de comunicación de USB con el microcontrolador es mostrado en el diagrama de la figura 55. Y en la figura 56 se muestra la opción de integrar una memoria USB como medio de almacenamiento para alojar una página Web de mayor tamaño.

Page 81: TESIStesis.ipn.mx/jspui/bitstream/123456789/12478/1/diseñoprototipo.pdf · A mi abuela María de la Luz Nava Martínez, por su apoyo, consejos, comprensión y ayuda en los momentos

CAPÍTULO II. Implementación del Prototipo- Diseño del Sistema de Monitoreo

59

Freescale MQX

Aplicación OTG

USB Drivers Drivers del Dispositivo USB

Librería de Clases para Driver USB

HUB

Capa Común de clases

Peticiones USB

USB HOST API

Controlador de Interface USB HOST

Freescale MQX Pila de Host USB

Respuestas USB

Dispositivo USB API

USB Host/Device/Controlador OTG

Bus Serial USB

Controlador de la Interfaz del

Dispositivo USB

Figura 55.- Proceso de Comunicación de USB con el Microcontrolador

Page 82: TESIStesis.ipn.mx/jspui/bitstream/123456789/12478/1/diseñoprototipo.pdf · A mi abuela María de la Luz Nava Martínez, por su apoyo, consejos, comprensión y ayuda en los momentos

CAPÍTULO II. Implementación del Prototipo- Diseño del Sistema de Monitoreo

60

2.16 Pila RTCS en MQX

MQX, provee una pila de protocolos denominada Stack de Comunicaciones en Tiempo Real, para llevar a cabo comunicaciones de Red, desde la capa física hasta la capa de aplicación. Los protocolos que soporta dicha Pila se muestra en la figura 57. Cada Protocolo es descrito en la guía de usuario provista por la distribución de MQX, donde se explica a fondo la manera de usar cada uno de ellos, estableciendo sus alcances y limitaciones. Como se muestra en el diagrama de la estructura de RTCS, uno de los elementos indispensables y que siempre está presente en la comunicación en red, es el uso de sockets, que es el mecanismo proveedor de paquetes de datos provenientes de las interfaces de red, a los protocolos apropiados en tiempo y forma. El proceso para el uso correcto de un socket es mostrado en la figura 58.

Servidor HTTP K60D100M

USB

WiFi

Cámara IP Opción de una Página

Web HTML más grande

de 512KB

Usuario Final

Puente H

Robot Móvil

WiFi

Figura 56.- Diagrama de Integración de los Componentes del Sistema

Page 83: TESIStesis.ipn.mx/jspui/bitstream/123456789/12478/1/diseñoprototipo.pdf · A mi abuela María de la Luz Nava Martínez, por su apoyo, consejos, comprensión y ayuda en los momentos

CAPÍTULO II. Implementación del Prototipo- Diseño del Sistema de Monitoreo

61

Aplicación

Sockets

ICMP TCP UDP IGMP

IPsec

IP

NAT

IP-E IPCP

ARP

Suelo

Ligando

Conectando Escuchando

Socket ()

Lazo ()

Escuchando ()

Aceptar ()

Conectar ()

Conectar ()

Enviando () Recibiendo ()

Figura 57.- Estructura del RTCS incluido en la distribución de MQX (Tomada de la Guía de Usuario RTCS, Freescale Semiconductor 2008)

Figura 58.- Proceso para crear y establecer un socket

Page 84: TESIStesis.ipn.mx/jspui/bitstream/123456789/12478/1/diseñoprototipo.pdf · A mi abuela María de la Luz Nava Martínez, por su apoyo, consejos, comprensión y ayuda en los momentos

CAPÍTULO II. Implementación del Prototipo- Diseño del Sistema de Monitoreo

62

Una vez que el socket se ha establecido e iniciado, lo que resta es arrancar el stack de protocolos a utilizar, las interfaces a emplear, las direcciones y datos asociados a cada segmento de los protocolos de red. De modo que se pueda iniciar comunicación. El modelo a seguir se muestra en el diagrama de la figura 59.32

32

Programas incluidos en los anexos.

Definir protocolos.

Cambiar parámetros

de creación

Crear RTCS

Inicializar interfaces

Agregar las interfaces

de dispositivos

Asociar la dirección

IP a las interfaces

Agregar las

puertas de enlace

Habilitar el registro

de RTCS

Figura 59.- Diagrama de inicialización de comunicaciones (RTCS).

Page 85: TESIStesis.ipn.mx/jspui/bitstream/123456789/12478/1/diseñoprototipo.pdf · A mi abuela María de la Luz Nava Martínez, por su apoyo, consejos, comprensión y ayuda en los momentos

CAPÍTULO II. Implementación del Prototipo- Diseño del Sistema de Monitoreo

63

2.17 Servidor WEB

Como característica adicional al conjunto de librerías de comunicaciones RTCS de MQX, se incluye código para iniciar un servidor Web (servidor HTTP); éste funciona de la misma forma que el modelo tradicional cliente-servidor, las páginas que puede ofrecer, son aquellas guardadas como código en forma de arreglos matriciales en valores hexadecimal, dentro del microcontrolador en el sistema TFS. 33 El método de inicialización del servidor Web sigue el diagrama de la figura 60.

33

El programa del servidor se encuentra en los anexos del presente documento.

Asociar la dirección

IP a las interfaces

Crear estructura

del Servidor

Iniciar Driver de la Interfaz

e inicializar Servidor

Diagrama de inicialización

de comunicaciones (RTCS).

Ejecutar Servidor Web y

esperar Peticiones

Figura 60.- Proceso de inicialización del servidor WEB

Page 86: TESIStesis.ipn.mx/jspui/bitstream/123456789/12478/1/diseñoprototipo.pdf · A mi abuela María de la Luz Nava Martínez, por su apoyo, consejos, comprensión y ayuda en los momentos

CAPÍTULO II. Implementación del Prototipo- Diseño del Sistema de Monitoreo

64

2.18 Diagramas Generales del sistema

Los diagramas generales del sistema se muestran en la figura 61 y 62.

Sistema Operativo

Tarea motores

Tarea Servidor Web

Iniciar MQX

Iniciar la Red

Establecer WiFi

Petición Servidor?

Corriendo Servidor

Tarea USB Tarea Motores

Tarea Motores

SI

NO

Configurar GPIOs

Petición Movimiento?

NO

SI

Girar Motor

Tarea USB

Sincronizar USB

Petición

USB?

Tomar Página

HTML

2

2

3

3

Red ON?

FIN

SI

SI

NO

NO

Tarea USB

Figura 61.- Tareas Generales del Sistema Operativo MQX

Figura 62.- Diagrama de Flujo General del Sistema MQX

Page 87: TESIStesis.ipn.mx/jspui/bitstream/123456789/12478/1/diseñoprototipo.pdf · A mi abuela María de la Luz Nava Martínez, por su apoyo, consejos, comprensión y ayuda en los momentos

CAPÍTULO II. Implementación del Prototipo- Diseño del Sistema de Monitoreo

65

2.19 Ambiente de desarrollo

Para la creación de software, se empleó el ambiente de desarrollo que provee el fabricante del microcontrolador, en este caso se trata del IDE (Integrated Development Enviroment, Entorno de Desarrollo Integrado) CodeWarrior versión 10.1 el cual permite la creación, compilación y descarga de código para el microcontrolador empleado. Además como aditamento se cuenta con MQX 3.7, unido con un parche que contiene las librerías del control para la integración del módulo WiFi, tal como se muestra en la figura 63.

Figura 63.- Ambiente de Desarrollo Code Warrior 10.1 y MQX 3.7

2.20 Lenguajes de Programación (C, HTML)

Para tener el control del dispositivo central, así como de los dispositivos auxiliares, es necesario conocer algunos lenguajes de programación, tales como, C y HTML. HTML es necesario, para diseñar la página Web, donde se muestra el sistema de control y monitoreo. Por otro lado el lenguaje C, es con el cual se programa el microcontrolador mediante su compilador CodeWarrior y MQX.

i Lenguaje HTML

HTML (HyperText Markup Language), es un lenguaje muy sencillo que permite describir hipertexto, es decir, texto presentado de forma estructurada, con enlaces (hyperlinks) que conducen a otros documentos o fuentes de información relacionadas, y con aplicaciones multimedia, es decir, con audio y video. La descripción se basa en especificar en el texto la estructura lógica del contenido, tal como, los títulos, párrafos, enumeraciones, definiciones, citas, así como los diferentes efectos que se quieren dar,

Page 88: TESIStesis.ipn.mx/jspui/bitstream/123456789/12478/1/diseñoprototipo.pdf · A mi abuela María de la Luz Nava Martínez, por su apoyo, consejos, comprensión y ayuda en los momentos

CAPÍTULO II. Implementación del Prototipo- Diseño del Sistema de Monitoreo

66

para ello hay que especificar los lugares del documento donde se debe colocar cada elemento de hipertexto, y al final se ejecute en un programa llamado navegador. HTML tiene dos ventajas que lo hacen un lenguaje muy importante a la hora de diseñar una página Web: Su compatibilidad y su facilidad de aprendizaje, debido al reducido número de etiquetas que usa. Sin embargo, el tamaño de los documentos HTML es importante, ya que los que son demasiado grandes tardan en cargarse, al igual que la cantidad de aplicaciones multimedia que ésta posea.

2.21 Estructura de una página Web Primero se comienza con la etiqueta <html>, indicando que comienza a usarse el lenguaje, y después de todo el código se cierra la etiqueta </html>. Las etiquetas <head></head> y <title></ title >, son para dar un título a la página. Y dentro de la etiqueta <body></body> se escribe todo lo que se quiera mostrar en la página Web. El cuerpo de un documento HTML contiene el texto que, con la presentación y los efectos que se decidan, se presentará ante el usuario final. Dichos efectos se especifican exclusivamente a través de las etiquetas. Esto quiere decir que los espacios, tabulaciones y retornos de carro que se introduzcan en el fichero fuente, no tienen ningún efecto a la hora de la presentación final del documento. En resumen, la estructura básica de un documento HTML se muestra en la figura 64. En la figura 65 se muestra el resultado del código básico de una Pagina HTML.

Figura 65.- Pagina Básica en HTML

<html align="center"> <head><title>Título</title></head> <body bgcolor="sky blue"> <b>INSTITUTO POLITÉCNICO NACIONAL <br> SERVIDOR DE MONITOREO <br> Texto, gráficos, enlaces, imágenes.</b> </body>

</html> >

Figura 64.- Estructura Básica de una Pagina Web HTML

Page 89: TESIStesis.ipn.mx/jspui/bitstream/123456789/12478/1/diseñoprototipo.pdf · A mi abuela María de la Luz Nava Martínez, por su apoyo, consejos, comprensión y ayuda en los momentos

CAPÍTULO II. Implementación del Prototipo- Diseño del Sistema de Monitoreo

67

2.22 Lenguaje C

El lenguaje de programación C es de propósito general, ofrece control de flujo, estructuras sencillas y un buen conjunto de operadores. No es un lenguaje de alto nivel, sino más bien un lenguaje pequeño, sencillo y no está especializado en ningún tipo de aplicación. Esto lo hace un lenguaje potente, con un campo de aplicación ilimitado y sobre todo, se aprende en poco tiempo. Éste lenguaje trabaja con tipos de datos que son directamente tratables por el hardware, de la mayoría de las computadoras actuales. No proporciona mecanismos para tratar tipos de datos que no sean los básicos (números, caracteres y direcciones), debiendo ser el programador el que los desarrolle. Esto permite que el código generado sea eficiente, y de ahí el éxito que ha tenido como lenguaje de desarrollo de sistemas. El no proporcionar estos mecanismos, se compensa al agregar funciones de librería para realizar todas estas tareas, que normalmente dependen del sistema operativo.

i Características

Sensible a mayúsculas y minúsculas: sum y Sum. Espacios en blanco. Sentencias terminan con un punto y coma. Bloques delimitados entre llaves. Elementos de un programa:

Muy pocas palabras reservadas. Funciones de librería estándar. Variables y funciones definidas por el programador.

ii Uso de las funciones

La definición de una función tiene la estructura: tipo identificador (argumentos ...) { ... Cuerpo de la función ... }

Una función se invoca proporcionando valores a los argumentos de la llamada.

Los argumentos se pasan siempre por valor. El valor se devuelve por medio de return(). Los procedimientos son funciones de tipo void. El control del número y tipo de argumentos es mínimo. Las funciones en C admiten recursividad.

Page 90: TESIStesis.ipn.mx/jspui/bitstream/123456789/12478/1/diseñoprototipo.pdf · A mi abuela María de la Luz Nava Martínez, por su apoyo, consejos, comprensión y ayuda en los momentos

68

Capítulo III

Resultados

Page 91: TESIStesis.ipn.mx/jspui/bitstream/123456789/12478/1/diseñoprototipo.pdf · A mi abuela María de la Luz Nava Martínez, por su apoyo, consejos, comprensión y ayuda en los momentos

69

Capítulo III Resultados

3.1 Introducción

Una vez terminado el diseño, se procedió al armado físico, integrando así, cada componente del sistema, dando como resultado final un robot móvil (prototipo mostrado en la figura 66 y 67) controlado desde Internet usando la comunicación WiFi y una página HTML interactiva para el manejo del móvil.

Figura 66.- Robot Móvil montado con el Servidor HTTP

Figura 67.- Servidor HTTP y Sistema de Comunicación WiFi

Page 92: TESIStesis.ipn.mx/jspui/bitstream/123456789/12478/1/diseñoprototipo.pdf · A mi abuela María de la Luz Nava Martínez, por su apoyo, consejos, comprensión y ayuda en los momentos

70

Posteriormente se programan y configuran los parámetros necesarios para realizar una prueba, en cada una de las etapas que conforman el sistema, para ello se utilizó una red Inalámbrica con un SSID: “SERVIDOR ESIMEZ”, difundida por un módem Inalámbrico trabajando en los protocolos a/b/g/n de WiFi con un nivel de encriptación y seguridad de los datos WPA/2 Personal.

3.2 Configuración del servidor a la red

Para configurar la conexión el servidor HTTP montado en el microcontrolador

K60D100M, hacia la red inalámbrica, se puede realizar de dos maneras, y son:

i Programación en Flash

Se ingresa en la programación del sistema operativo los parámetros de red como lo es

el SSID, dirección IP del servidor, mascara de subred a la que pertenece, Gateway, tipo

de encriptación y seguridad de la red. Estos parámetros se configuran en la librería

config.h, donde se alojan las configuraciones de red para el servidor. Éstos son fijos y

permanecerán intactos en la memoria flash del microcontrolador. En la figura 68 se

muestra dicho proceso.

Figura 68.- Configuración de los Parámetros de Red en MQX para el Servidor

ii Programación en Tiempo Real

Esta opción de configuración se realizar en tiempo real, es decir una vez que se

enciende el sistema, se presiona el Botón de configuración sobre la Tarjeta K60D100M,

Page 93: TESIStesis.ipn.mx/jspui/bitstream/123456789/12478/1/diseñoprototipo.pdf · A mi abuela María de la Luz Nava Martínez, por su apoyo, consejos, comprensión y ayuda en los momentos

71

indicando al sistema que difunda una red punto a punto (Adhoc), dicha red permite

ingresar los parámetros de configuración desde cualquier dispositivo capaz de soportar

HTML. El dispositivo debe conectarse a la red provisional, en el explorador de internet

se tiene que ingresar la dirección IP 1.1.1.1, dicha página pide autenticación pidiendo

un nombre de usuario y contraseña (usuario: admin y contraseña: admin), parámetros

que son programados en el sistema operativo del servidor en la librearía config.h, y

además se aloja una página Web donde se muestra en pantalla, los campos necesarios

para establecer la comunicación del servidor, a una red que este en su alcance. El

proceso se muestra en las imágenes 69,70, 71 y 72.

Figura 69.- Parámetros de Configuración en la Web Provisional para el Servidor en MQX

Figura 70.- Botones para la Configuración y Arranque del Servidor

Difundir red provisional

Arrancar sistema

Reinicio

Page 94: TESIStesis.ipn.mx/jspui/bitstream/123456789/12478/1/diseñoprototipo.pdf · A mi abuela María de la Luz Nava Martínez, por su apoyo, consejos, comprensión y ayuda en los momentos

72

Figura 71.- Pagina Web Provisional para Configuración del Servidor

Figura 72.- Parámetros de Configuración de Red en el Servidor en Tiempo Real

Page 95: TESIStesis.ipn.mx/jspui/bitstream/123456789/12478/1/diseñoprototipo.pdf · A mi abuela María de la Luz Nava Martínez, por su apoyo, consejos, comprensión y ayuda en los momentos

73

3.3 Página Web en el Servidor HTTP

Una vez que se han configurado los parámetros de red en el servidor, se reinicia el sistema, para asociar el servidor a la red configurada. Enseguida se conecta un dispositivo como un IPOD, Tablet, Laptop o celular configurándolo de tal manera que este dentro del mismo segmento de la red donde vive el servidor.

En el navegador Web del dispositivo se ingresa la dirección IP del servidor (en este caso 192.168.1.10) y hay un tiempo de espera para que el sistema cargue, de tal forma que en pantalla se obtendrá la página Web alojada en el servidor y ésta última contiene los botones de comando para el control del robot móvil y en otro segmento el video en tiempo real captado por la cámara IP. La página Web resultante es mostrada en la figura 74.

3.4 Implementación a Internet

Para trasladar el sistema a internet, se debe configurar el equipo proveedor de la red Inalámbrica, ya que éste último es el mecanismo encargado de abrirnos las puertas hacia la red de redes. El parámetro a configurar en el dispositivo es el protocolo NAT, el cual debe quedar establecido, de tal manera que la dirección IP privada perteneciente el servidor, sea traducida hacia Internet con la dirección IP pública de nuestro proveedor de Internet. En este caso se configuro dicho protocolo en un módem de la marca Huawei como se muestra en la figura 73.

Figura 73.- Configuración del Protocolo NAT en el dispositivo Proveedor de Red

Page 96: TESIStesis.ipn.mx/jspui/bitstream/123456789/12478/1/diseñoprototipo.pdf · A mi abuela María de la Luz Nava Martínez, por su apoyo, consejos, comprensión y ayuda en los momentos

74

El protocolo requiere conocer la dirección IP del servidor y el puerto por el cual entrara la petición desde Internet con la dirección IP pública, para poder traducir y redirigir la petición a la IP privada (Servidor). Ahora desde Internet se puede ingresar al servidor, no sin antes recordar que se debe conocer la dirección IP pública de nuestro dispositivo proveedor de Internet y redirigiéndola al puerto 80.

Figura 74.- Pagina Web alojada en el Servidor HTTP en el microcontrolador K60D100M

Page 97: TESIStesis.ipn.mx/jspui/bitstream/123456789/12478/1/diseñoprototipo.pdf · A mi abuela María de la Luz Nava Martínez, por su apoyo, consejos, comprensión y ayuda en los momentos

75

3.5 Conclusiones

La realización de este sistema cumple con los objetivos establecidos. También se

cumplieron con los objetivos particulares, puesto que se desarrolló una página Web,

que lleva de la mano una capa de servicio en red, con comunicación inalámbrica WiFi,

para monitorear y controlar en tiempo real un robot móvil.

Cabe mencionar que durante el proceso de desarrollo de este trabajo terminal,

cambiaron dos veces los objetivos particulares del mismo, ya que por un lado se

proponía usar una cámara conectada a través de USB hacia el microcontrolador, pero

debido a que se tendría que desarrollar un driver en el sistema operativo de MQX para

el control y manejo de la cámara, la poca experiencia de desarrollo con este tipo de

tarjeta, freno el desarrollo de este driver por su complejidad. Por otro lado se intento

conectar una cámara por el protocolo UART, pero la implementación para el video es

fallida por la velocidad de transmisión de datos que el protocolo soporta. De hecho

esta es una de las recomendaciones, el desarrollar la integración de una cámara o

sistema de visión diferente a los mencionados, que permita el tratamiento y

procesamiento digital de imágenes.

Por otro lado la tarjeta de WiFi usada, trabaja bajo el protocolo 802.11b, siendo una

limitante en la velocidad, para él envió de datos y se recomienda migrar al protocolo

802.11n que maneja velocidades mayores.

Como experiencia al desarrollar el proyecto, se puede compartir que la tarjeta de

desarrollo es difícil de conseguir y el tiempo que se tiene que esperar para tenerla

físicamente es complicada ya que tarda alrededor de 2 meses, por ser una tecnología

que no se desarrolla en México y los distribuidores oficiales sufren de trámites y

papeleo para importar estos dispositivos por provenir de E.U.A

En la cuestión de seguridad informática del sistema, tiene la capacidad de

implementarse en redes empresariales, mínimo se apega a los protocolos de seguridad

como autenticación 802.1x con llaves y certificados solicitados por el protocolo, y

pueden ser instalados en la memoria del microcontrolador o en una memoria externa

como una USB.

Acerca del robot móvil si se remarca que el desarrollado en el proyecto fue un

prototipo, pero realmente el móvil puede variar desde una oruga, araña, lancha,

helicóptero o algún otro desarrollo, para implantar el sistema de monitoreo, debido a

las capacidades y características presentes en el microcontrolador.

Page 98: TESIStesis.ipn.mx/jspui/bitstream/123456789/12478/1/diseñoprototipo.pdf · A mi abuela María de la Luz Nava Martínez, por su apoyo, consejos, comprensión y ayuda en los momentos

76

Glosario

CCTV.- Circuito Cerrado de Televisión.

VCR.- (Video Receiving Centre) Centro Receptor de Video.

DVR.- (Digital Video Receiving) Receptor de Video Digital.

LAN.- (Local Area Network) Red de Área Local.

IP.- (Internet Protocol) Protocolo de Internet.

Ethernet.- Es un estándar de redes de área local para computadores con acceso al

medio.

PDA.- (Personal digital assistant) Asistente Digital Personal.

VoIP.- (Voz over IP) Voz Sobre IP, es un grupo de recursos que hacen posible que la

señal de voz viaje a través de Internet.

NASA.- (National Aeronautics and Space Administration) Administración Nacional de

Aeronáutica y del Espacio

H.264.- Es una norma que define un códec de vídeo de alta compresión.

WAN.- (Wide Area Network) Red de Área Amplia.

GSM.- (Global System for Mobile Communications, originally Groupe Spécial Mobile)

Sistema Global Para las Comunicaciones Mobiles.

SMS.- (Short Message Service) Servicio de Mensajes Cortos.

GPRS.- ( General Packet Radio Service) Servicio General de Paquetes vía Radio.

MMS.- ( Multimedia Messaging System) Sistema de Mensajería Multimedia .

USIMC.- (Universal Subscriber Identity Module) Módulo de Identificación del

Abonado.

IEEE.- (Institute of Electrical and Electronics Engineers) Instituto de Ingenieros en

Electricidad y Electrónica.

3GPP.- (3rd Generation Partnership Project) Proyecto Asociación de Tercera

Generación.

OFDMA.- (Orthogonal Frecuency-Division Multiple Access) Acceso Múltiple por

División de Frecuencia Ortogonal.

Page 99: TESIStesis.ipn.mx/jspui/bitstream/123456789/12478/1/diseñoprototipo.pdf · A mi abuela María de la Luz Nava Martínez, por su apoyo, consejos, comprensión y ayuda en los momentos

77

MIMO.- (Multiple-input Multiple-output) Múltiple Entrada Múltiple Salida.

2G.- Telefonía móvil de segunda generación.

3G.- Telefonía móvil de Tercera generación.

UMTS.- (Universal Mobile Telecommunications System) Sistema universal de

telecomunicaciones móviles

OFDM.- (Orthogonal frequency-division multiplexing) La Multiplexación por División de

Frecuencias Ortogonales.

CCD.- (Charge-Coupled Device) Dispositivo de Carga Acoplada

RS323.- (Recommended Standard 232) es una interfaz que designa una norma para el

intercambio de una serie de datos binarios entre un DTE y un DCE.

MOSI.- (master out slave in) Salida de datos del Maestro.

MISO.- (Master Input Slave Output) Salida de datos del Esclavo.

CMOS.- (Complementary metal-oxide-semiconductor) Semiconductor de Óxido

Metálico Complementario

OSI.- (Open System Interconnection) El modelo de interconexión de sistemas abiertos.

PDU.- (Protocol Data Unit) Protocolo de Unidad de Datos.

TCP.- (Transmission Control Protocol) Protocolo de Control de Transmisión.

ARPANET.- Advanced Research Projects Agency Network

DARPA.- (Defense Advanced Research Projects Agency) Agencia de Investigación de

Proyectos Avanzados de Defensa.

HTTP.- (Hypertext Transfer Protocol) Protocolo de transferencia de hipertexto.

SMTP.- (Simple Mail Transfer Protocol) Protocolo para la transferencia simple de

correo electrónico.

FTP.- (File Transfer Protocol) Protocolo de Tranferencia de Archivos.

UDP.- (User Datagram Protocol) protocolo del nivel de transporte basado en el

intercambio de datagramas.

DNS .- (Domain Name System) Sistema de nombre de Dominio.

Buffer.- Memoria temporal.

Page 100: TESIStesis.ipn.mx/jspui/bitstream/123456789/12478/1/diseñoprototipo.pdf · A mi abuela María de la Luz Nava Martínez, por su apoyo, consejos, comprensión y ayuda en los momentos

78

Datagrama.- Paquete O fragmento de paquete de datos.

MAC.- (Media Access Control) Control de Acceso al Medio.

WWW.- (World Wide Web) Red Informática Mundial.

FHSS.- (Frequency Hopping Spread Spectrum) Espectro Ensanchado por Salto de

Frecuencia.

PLCP.- (Physical Layer Convergence Procedure) Procedimiento de convergencia de

capa física

CSMA/CD.- (Carrier Sense Multiple Access with Collision Detection) Acceso múltiple

con escucha de portadora y Detección de Colisiones.

PCF.- (Puntual Cordination Function) Función de Coordinación Puntual

LLC.-(LogicLink Control) Control de Enlace Logico.

Page 101: TESIStesis.ipn.mx/jspui/bitstream/123456789/12478/1/diseñoprototipo.pdf · A mi abuela María de la Luz Nava Martínez, por su apoyo, consejos, comprensión y ayuda en los momentos

ANEXOS

79

Anexos

3.6 Programas MQX

#include <mqx.h>

#include <bsp.h>

#include <rtcs.h>

const TASK_TEMPLATE_STRUCT MQX_template_list[] =

{

/* Task Index, Function, Stack, Priority,Name, Attributes, Param, Time

Slice */

{ 1,main_task,2500,8,"Main",MQX_AUTO_START_TASK, 0,0 },

{ 2,Switch_Task, 2000, 10,"Switch",MQX_AUTO_START_TASK,0,0},

{ 0 } //Tarea Ociosa

};

/*TASK*---------------------------------------------------------------

*

* Configuración de puertos y Memorias

*

*

*END----------------------------------------------------------------*/

void main_task(uint_32 temp) {

int_32 error;

_rtcs_if_handle ihandle;

_enet_address address;

HTTPD_STRUCT *server;

extern const HTTPD_CGI_LINK_STRUCT cgi_lnk_tbl[];

extern const TFS_DIR_ENTRY tfs_data[];

HTTPD_PARAMS_STRUCT *params;

#if DEMOCFG_USE_WIFI

ENET_ESSID ssid;

int_8 ssidbuf[32];

int_8 passphrasebuf[64];

int_8 wpakeybuf[30];

uint_32 mode;// = DEMOCFG_NW_MODE;

uint_32 sectype;// = DEMOCFG_SECURITY;

ENET_MEDIACTL_PARAM param;

#endif

#if BSPCFG_ENABLE_GPIODEV

const uint_32 output_set[] = {

LED_1 | GPIO_PIN_STATUS_0,

LED_2 | GPIO_PIN_STATUS_0,

LED_3 | GPIO_PIN_STATUS_0,

LED_4 | GPIO_PIN_STATUS_0,

GPIO_LIST_END

Page 102: TESIStesis.ipn.mx/jspui/bitstream/123456789/12478/1/diseñoprototipo.pdf · A mi abuela María de la Luz Nava Martínez, por su apoyo, consejos, comprensión y ayuda en los momentos

ANEXOS

80

};

#endif

const uint_32 input_set[] = {

WPS_TRIGGERE,

PROV_TRIGGER,

GPIO_LIST_END

};

/* Abriendo los puertos y Drivers para los Motores */

#if BSPCFG_ENABLE_GPIODEV

output_port = fopen("gpio:write", (char_ptr) &output_set);

#endif

/* Abriendo los puertos y drivers para botones de Arranque */

input_port = fopen("gpio:read", (char_ptr) &input_set);

#if RTCS_MINIMUM_FOOTPRINT

#if PSP_MQX_CPU_IS_K60D100M

/* Configuración de Memoria y parametros de inicio de RTCS */

_RTCSPCB_init = 4;

_RTCSPCB_grow = 2;

_RTCSPCB_max = 6;

_RTCS_msgpool_init = 4;

_RTCS_msgpool_grow = 2;

_RTCS_msgpool_max = 8;

_RTCS_socket_part_init = 4;

_RTCS_socket_part_grow = 2;

_RTCS_socket_part_max = 6;

#end

_RTCSTASK_stacksize = 2200;

/*Función*------------------------------------------------------------

*

* Creando Socket e iniciando parámetros de Red Inalámbrica

*

*

*END----------------------------------------------------------------*/

/* Creando el Socket y la comunicación en Red */

error = RTCS_create();

ENET_get_mac_address(DEMOCFG_DEFAULT_DEVICE, ENET_IPADDR,address);

error =ENET_initialize(DEMOCFG_DEFAULT_DEVICE,address,0,&ehandle);

#if DEMOCFG_USE_WIFI

memset(&ssidbuf,0,sizeof(ssidbuf));

ssid.essid = (char*)ssidbuf;

ssid.flags =0;

ssid.length =0;

error = ENET_mediactl (ehandle,ENET_GET_MEDIACTL_ESSID,&ssid);

if(!ssid.flags)

{

printf("\n Usar el SSID por Default \n");

Page 103: TESIStesis.ipn.mx/jspui/bitstream/123456789/12478/1/diseñoprototipo.pdf · A mi abuela María de la Luz Nava Martínez, por su apoyo, consejos, comprensión y ayuda en los momentos

ANEXOS

81

ssid.flags = 1;

ssid.essid = DEMOCFG_SSID;

ssid.length = strlen(DEMOCFG_SSID);

}

error = ENET_mediactl (ehandle,ENET_SET_MEDIACTL_ESSID,&ssid);

param.flags =0;

param.value =0;

error = ENET_mediactl(ehandle,ENET_GET_MEDIACTL_SEC_TYPE,&param);

if(!param.flags)

{

if ((strcmp(DEMOCFG_SECURITY,"wpa") == 0) ||

(strcmp(DEMOCFG_SECURITY,"wpa2") == 0))

{

param.data = DEMOCFG_PASSPHRASE;

param.length = strlen(DEMOCFG_PASSPHRASE);

error = ENET_mediactl

(ehandle,ENET_SET_MEDIACTL_PASSPHRASE,&param);

sectype = ENET_MEDIACTL_SECURITY_TYPE_WPA;

}

else if (strcmp(DEMOCFG_SECURITY,"wep") == 0)

{

param.data = DEMOCFG_WEP_KEY;

param.length = strlen(DEMOCFG_WEP_KEY);

param.flags = ENET_MEDIACTL_ENCODE_ENABLED;

param.flags |= (DEMOCFG_WEP_KEY_INDEX & 0xFF);

error = ENET_mediactl

(ehandle,ENET_SET_MEDIACTL_ENCODE,&param);

sectype = ENET_MEDIACTL_SECURITY_TYPE_WEP;

}

else if (strcmp(DEMOCFG_SECURITY,"none") == 0)

{

sectype = ENET_MEDIACTL_SECURITY_TYPE_NONE;

}

else

{

printf ("Tipo de Seguridad en Red NO soportada\n");

ENET_shutdown(ehandle);

return;

}

}

else

{

if((param.value == ENET_MEDIACTL_SECURITY_TYPE_WPA) ||

(param.value == ENET_MEDIACTL_SECURITY_TYPE_WPA2))

{

memset(&passphrasebuf,0,sizeof(passphrasebuf));

param.data = passphrasebuf;

ENET_mediactl

(ehandle,ENET_GET_MEDIACTL_PASSPHRASE,&param) ;

if(!param.flags)

{

param.data = DEMOCFG_PASSPHRASE;

param.length = strlen(DEMOCFG_PASSPHRASE);

}

sectype = ENET_MEDIACTL_SECURITY_TYPE_WPA;

Page 104: TESIStesis.ipn.mx/jspui/bitstream/123456789/12478/1/diseñoprototipo.pdf · A mi abuela María de la Luz Nava Martínez, por su apoyo, consejos, comprensión y ayuda en los momentos

ANEXOS

82

error = ENET_mediactl

(ehandle,ENET_SET_MEDIACTL_PASSPHRASE,&param);

}

else if(param.value == ENET_MEDIACTL_SECURITY_TYPE_WEP)

{

memset(&wpakeybuf,0,sizeof(wpakeybuf));

param.data = wpakeybuf;

ENET_mediactl (ehandle,ENET_GET_MEDIACTL_ENCODE,&param)

;

if(!param.flags)

{

param.data = DEMOCFG_WEP_KEY;

param.length = strlen(DEMOCFG_WEP_KEY);

param.flags = 0;

param.value = (DEMOCFG_WEP_KEY_INDEX & 0xF);

}

sectype = ENET_MEDIACTL_SECURITY_TYPE_WEP;

error=ENET_mediactl(ehandle,ENET_SET_MEDIACTL_ENCODE,&param);

}

}

error = ENET_mediactl

(ehandle,ENET_SET_MEDIACTL_SEC_TYPE,&sectype);

param.flags =0;

param.value =0;

error = ENET_mediactl (ehandle,ENET_GET_MEDIACTL_MODE,&param);

/*TASK*---------------------------------------------------------------

*

* Configuración del tipo de Infraestructura

*

*

*END----------------------------------------------------------------*/

if(param.flags)

{

mode = param.value;

}

else

{

if (strcmp(DEMOCFG_NW_MODE,"Infraestructura") == 0)

{

mode = ENET_MEDIACTL_MODE_INFRA;

}

else if (strcmp(DEMOCFG_NW_MODE,"adhoc Punto a Punto") == 0)

{

mode = ENET_MEDIACTL_MODE_ADHOC;

}

else

{

Page 105: TESIStesis.ipn.mx/jspui/bitstream/123456789/12478/1/diseñoprototipo.pdf · A mi abuela María de la Luz Nava Martínez, por su apoyo, consejos, comprensión y ayuda en los momentos

ANEXOS

83

printf("Infraestructura de Red NO Soportada\n");

ENET_shutdown(ehandle);

return;

}

}

/*TASK*---------------------------------------------------------------

*

* Ligando Parámetros de Red a la página Web

*

*

*END----------------------------------------------------------------*/

error = ENET_mediactl (ehandle,ENET_SET_MEDIACTL_MODE,&mode);

#endif

error = RTCS_if_add(ehandle, RTCS_IF_ENET, &ihandle);

error = RTCS_if_bind(ihandle, ENET_IPADDR, ENET_IPMASK);

error = _io_tfs_install("tfs:", tfs_data);

printf("Preparando el servidor HTTP ...\n");

params = httpd_default_params(NULL);

if (params) {

params->root_dir = (HTTPD_ROOT_DIR_STRUCT*)root_dir;

params->index_page = "\\index.html";

params->max_ses = _RTCS_socket_part_max - 1;

server = httpd_init(params);

}

HTTPD_SET_PARAM_CGI_TBL(server,

(HTTPD_CGI_LINK_STRUCT*)cgi_lnk_tbl);

/*TASK*---------------------------------------------------------------

*

* Arrancando el Servidor y bucle infinito

*

*

*END----------------------------------------------------------------*/

printf("Arrancando el Servidor HTTP..\n");

#if HTTPD_SEPARATE_TASK || !HTTPDCFG_POLL_MODE

httpd_server_run(server);

_task_block();

#else

while (1)

{

httpd_server_poll(server, 1);

}

#endif

}

Page 106: TESIStesis.ipn.mx/jspui/bitstream/123456789/12478/1/diseñoprototipo.pdf · A mi abuela María de la Luz Nava Martínez, por su apoyo, consejos, comprensión y ayuda en los momentos

ANEXOS

84

/*TASK*---------------------------------------------------------------

*

* Parámetros de Red

*

*

*END----------------------------------------------------------------*/

#ifndef _config_h_

#define _config_h_

#ifndef ENET_IPADDR

#define ENET_IPADDR IPADDR(192,168,100,100) //IP DEL SERVIDOR

#endif

#ifndef ENET_IPMASK

#define ENET_IPMASK IPADDR(255,255,255,0) //MASCARA DEL SERVIDOR

#endif

#define DEMOCFG_USE_WIFI 1 /* HABILITANDO INTERFAZ WIFI */

#if DEMOCFG_USE_WIFI

#define DEMOCFG_SSID "Server Esimez" //SSID DE LA RED A CONECTAR

//Posibles Valores managed or adhoc

#define DEMOCFG_NW_MODE "managed" //TIPO DE INFRAESTRUCTURA

#define DEMOCFG_SECURITY "wpa2" //TIPO DE SEGURIDAD

#define DEMOCFG_PASSPHRASE "POLITECNICO" //EN CASO DE WPA

#define DEMOCFG_WEP_KEY "POLITECNICO" //CLAVE WEP

#define DEMOCFG_WEBPARAM_SSID "Web Provicional" //RED A DIFUNDIR

#define DEMOCFG_WEBPARAM_CH 11 //CANAL A DIFUNDIR

#define DEMOCFG_WEBPARAM_USERNAME "admin" //USUARIO PORTAL WEB

#define DEMOCFG_WEBPARAM_PWD "admin" //PASSWORD

#define DEMOCFG_WEBPARAM_IP "1.1.1.1,255.255.255.0" //PARAMETROS

PARA WEB PROVICIONAL

//Possible values 1,2,3,4

#define DEMOCFG_WEP_KEY_INDEX 3

#define DEMOCFG_DEFAULT_DEVICE 1

#endif

#ifndef DEMOCFG_DEFAULT_DEVICE

#define DEMOCFG_DEFAULT_DEVICE BSP_DEFAULT_ENET_DEVICE

#endif

#endif // _config_h_

Page 107: TESIStesis.ipn.mx/jspui/bitstream/123456789/12478/1/diseñoprototipo.pdf · A mi abuela María de la Luz Nava Martínez, por su apoyo, consejos, comprensión y ayuda en los momentos

ANEXOS

85

/*Estrcutra cgi.c*----------------------------------------------------

*

* Estructura para ligar botones de control de los Motores

*

*

*END----------------------------------------------------------------*/

#include "httpd.h"

#include "cgi.h"

#include "httpdsrv.h"

volatile uint_8 Motores_status = 0;

extern MQX_FILE_PTR output_port;

_mqx_int cgi_toggle_MotorI1 (HTTPD_SESSION_STRUCT *session);

_mqx_int cgi_toggle_MotorD1 (HTTPD_SESSION_STRUCT *session);

_mqx_int cgi_toggle_MotorI2 (HTTPD_SESSION_STRUCT *session);

_mqx_int cgi_toggle_MotorD2(HTTPD_SESSION_STRUCT *session);

const HTTPD_CGI_LINK_STRUCT cgi_lnk_tbl[] = {

{ "toggle MOTORI1", cgi_toggle_MotorI1},

{ "toggle MOTORD1", cgi_toggle_MotorD1},

{ "toggle MOTORI1", cgi_toggle_MotorI2},

{ "toggle MOTORD2", cgi_toggle_MotorD2},

{ 0, 0 }

_mqx_int cgi_toggle_MotorI1(HTTPD_SESSION_STRUCT *session) {

#if BSPCFG_ENABLE_GPIODEV

static const uint_32 led[] = {

MotorI_1,

GPIO_LIST_END

};

if (output_port == NULL)

return session->request.content_len;

led_status ^= 0x01;

ioctl(output_port, (led_status & 0x01) ? GPIO_IOCTL_WRITE_LOG1 :

GPIO_IOCTL_WRITE_LOG0, (pointer) &led);

#endif

return session->request.content_len;

}

_mqx_int cgi_toggle_MotorD1(HTTPD_SESSION_STRUCT *session) {

#if BSPCFG_ENABLE_GPIODEV

static const uint_32 led[] = {

MotorD_1,

GPIO_LIST_END

};

if (output_port == NULL)

return session->request.content_len;

led_status ^= 0x02;

Page 108: TESIStesis.ipn.mx/jspui/bitstream/123456789/12478/1/diseñoprototipo.pdf · A mi abuela María de la Luz Nava Martínez, por su apoyo, consejos, comprensión y ayuda en los momentos

ANEXOS

86

ioctl(output_port, (led_status & 0x02) ? GPIO_IOCTL_WRITE_LOG1 :

GPIO_IOCTL_WRITE_LOG0, (pointer) &led);

#endif

return session->request.content_len;

}

_mqx_int cgi_toggle_MotorI3(HTTPD_SESSION_STRUCT *session) {

#if BSPCFG_ENABLE_GPIODEV

static const uint_32 led[] = {

MOTORI_2,

GPIO_LIST_END

};

if (output_port == NULL)

return session->request.content_len;

led_status ^= 0x04;

ioctl(output_port, (led_status & 0x04) ? GPIO_IOCTL_WRITE_LOG1 :

GPIO_IOCTL_WRITE_LOG0, (pointer) &led);

#endif

return session->request.content_len;

}

_mqx_int cgi_toggle_MotorD2(HTTPD_SESSION_STRUCT *session) {

#if BSPCFG_ENABLE_GPIODEV

static const uint_32 led[] = {

MOTORD_2,

GPIO_LIST_END

};

if (output_port == NULL)

return session->request.content_len;

led_status ^= 0x08;

ioctl(output_port, (led_status & 0x08) ? GPIO_IOCTL_WRITE_LOG1 :

GPIO_IOCTL_WRITE_LOG0, (pointer) &led);

#endif

return session->request.content_len;

}

/*Estrcutra cgi.c*----------------------------------------------------

*

* Paginas contenidas en el servidor

*

*

*END----------------------------------------------------------------*/

const TFS_DIR_ENTRY tfs_data[] = {

{ "/bargraph.bmp", 0, (unsigned

char*)tfs_web_pages_bargraph_bmp, sizeof(tfs_web_pages_bargraph_bmp)

},

{ "/camera.html", 0, (unsigned char*)tfs_web_pages_camera_html,

sizeof(tfs_web_pages_camera_html) },

{ "/constru.gif", 0, (unsigned char*)tfs_web_pages_constru_gif,

sizeof(tfs_web_pages_constru_gif) },

{ "/f1.jpg", 0, (unsigned char*)tfs_web_pages_f1_jpg,

sizeof(tfs_web_pages_f1_jpg) },

Page 109: TESIStesis.ipn.mx/jspui/bitstream/123456789/12478/1/diseñoprototipo.pdf · A mi abuela María de la Luz Nava Martínez, por su apoyo, consejos, comprensión y ayuda en los momentos

ANEXOS

87

{ "/index.html", 0, (unsigned char*)tfs_web_pages_index_html,

sizeof(tfs_web_pages_index_html) },

{ "/index2.html", 0, (unsigned char*)tfs_web_pages_index2_html,

sizeof(tfs_web_pages_index2_html) },

{ "/motor.html", 0, (unsigned char*)tfs_web_pages_led_html,

sizeof(tfs_web_pages_led_html) },

{ "/line.bmp", 0, (unsigned char*)tfs_web_pages_line_bmp,

sizeof(tfs_web_pages_line_bmp) },

{ "/mqx.css", 0, (unsigned char*)tfs_web_pages_mqx_css,

sizeof(tfs_web_pages_mqx_css) },

{ "/request.js", 0, (unsigned char*)tfs_web_pages_request_js,

sizeof(tfs_web_pages_request_js) },

{ 0, 0, 0, 0 }

};

Page 110: TESIStesis.ipn.mx/jspui/bitstream/123456789/12478/1/diseñoprototipo.pdf · A mi abuela María de la Luz Nava Martínez, por su apoyo, consejos, comprensión y ayuda en los momentos

ANEXOS

88

3.7 Paginas HTML

/*Estrcutra cgi.c*----------------------------------------------------

*

* Indice de Pagina HTML

*

*

*END----------------------------------------------------------------*/

<html align="center">

<frameset rows="25%,*,7%" border="0" frameborder="0" y

framespacing="0">

<frame src="index2.html" >

<frameset cols="35%,*">

<frame src="led.html">

<frame src="http://192.168.100.13">

</frameset>

<frame src="b.html" >

</frameset>

</html>

/*Estrcutra cgi.c*----------------------------------------------------

*

* Encabezado de Pagina HTML

*

*

*END----------------------------------------------------------------*/

<html align="center">

<head>

<title>Webserver</title>

<body background="f1.JPG">

<img Src="Esime.png" height="120" width="150" align="left" >

<img Src="IPN.png" height="120" width="110" align="right" >

<font size=7 face="algerian"> <b>INSTITUTO POLITÉCNICO

NACIONAL</b></font>

<br>

<font size=5 color="336600"> <b>ESCUELA SUPERIOR DE INGENIERÍA

MECÁNICA Y ELÉCTRICA</b></font>

<br>

<font size=7 face="quartz ms"> SERVIDOR WEB HTTP POR WIFI</font>

</body>

</html>

/*Estrcutra cgi.c*----------------------------------------------------

*

Page 111: TESIStesis.ipn.mx/jspui/bitstream/123456789/12478/1/diseñoprototipo.pdf · A mi abuela María de la Luz Nava Martínez, por su apoyo, consejos, comprensión y ayuda en los momentos

ANEXOS

89

* Ligando Cámara IP a la Pagina HTML

*

*

*END----------------------------------------------------------------*/

<html align="center">

<body>

<title> camera</title>

<h1>Video en Tiempo Real<h1>

<script type="text/javascript"

src="http://www.ilive.to/embed/6542&width=480&height=360&autoplay=true

"></script>

</body>

</html>

/*Estrcutra cgi.c*----------------------------------------------------

*

* Control de Motores desde Pagina Web

*

*

*END----------------------------------------------------------------*/

<html align="center">

<head>

<title>Webserver</title>

<script src="request.js" type="text/javascript"></script>

<script type="text/javascript">

if (window.attachEvent) {

window.attachEvent("onload", sfHover2);

}

</script>

<script type="text/javascript">

function toggle_MotorI1() {

makeRequest("toggle MotorI1.cgi");

}

function toggle_MotorD1() {

makeRequest("toggle MotorD1.cgi");

}

function toggle_MotorI2() {

makeRequest("toggle MotorI2.cgi");

}

function toggle_MotorID2() {

makeRequest("toggle MotorD2.cgi");

}

</script>

</head>

<body >

<br>

<h1>

Page 112: TESIStesis.ipn.mx/jspui/bitstream/123456789/12478/1/diseñoprototipo.pdf · A mi abuela María de la Luz Nava Martínez, por su apoyo, consejos, comprensión y ayuda en los momentos

ANEXOS

90

<font size=6 align="center"face="castellar" color="blue">Control

de Carro </font>

</h1>

<img Src="a.png" height="80" width="80" align="center" type=submit

name=led value=ADELANTE onclick="toggle_MotorI1()">

<br>

<img Src="i.png" height="80" width="100" align="center" type=submit

name=led value=IZQUIERDA onclick="toggle_MotorD1()" >

<img Src="d.png" height="80" width="100" align="center" type=submit

name=led value=DERECHA onclick="toggle_MotorI2()" >

<br>

<img Src="ab.png" height="80" width="80" align="center" type=submit

name=led value=REVERSA onclick="toggle_MotorD2()">

</div>

</div>

<br>

<font align="center" face="quartz ms" size=7 color="red">TESIS

IPN</font>

</body>

</html

Page 113: TESIStesis.ipn.mx/jspui/bitstream/123456789/12478/1/diseñoprototipo.pdf · A mi abuela María de la Luz Nava Martínez, por su apoyo, consejos, comprensión y ayuda en los momentos

ANEXOS

91

3.8 Análisis Económico En el aspecto económico el proyecto destaca por haber sido desarrollado con herramientas que ofrecen una gran ventaja en cuanto a precio-desempeño, ya que se decidió implementar en el sistema, tecnología reciente con un buen desempeño. Los gastos realizados en el proyecto se describen en la tabla 13.

Tabla 13.- Análisis Económico

Componente Cantidad Precio

TWR-K60D100M-KIT

1 $2206 (169.99USD)

TWR-WIFI-G1011M1

1 $895.2 (69 USD)

Licencia CodeWarrior Development Studio

$26932.5

Moto reductor

2 $120

Puente H l293d

1 $40

Placa 5x5

1 $8

Móvil

1 $200

Cableado

(el necesario) $3

Batería Lipo

1 $130

Cámara IP

1 $890

Mano de Obra

x2 $120,000

Total $151,424.7

El presupuesto requerido para la implementación del proyecto es de 31424.7,

aunque si se trabaja con la versión de prueba por 30 se puede omitir el gasto

de la licencia.

Page 114: TESIStesis.ipn.mx/jspui/bitstream/123456789/12478/1/diseñoprototipo.pdf · A mi abuela María de la Luz Nava Martínez, por su apoyo, consejos, comprensión y ayuda en los momentos

ANEXOS

92

3.9 Bibliografía

[1] Kruegle Herman, CCTV surveillance: analog and digital video practices and technology, Butterwork-Heinemana, 2ª Edición, pags 14-25. [2] Gonzalo Pajares Martinsanz, Vision por computador: imágenes digitales y compresión, 2ª Edición, Alfaomega 2008, pags 50-220. [3] Aníbal Ollero Baturonte, Robótica manipuladores y robot móviles, 3ª Edición Alfaomega 2002, pags 146-365. [4] http://www.superinventos.com/S111110.htm [5] IEEE Communications Society, WiMAX Technology and Network Evolution, 1ª Edición, Ming-Yee Lai 2010, pags 30-100 pags. [6] Matthew Baker, The UMTS Long Term Evolution, 2ª Edición, Wiley, pags 25-50. [7] Raj Kamal, Embedded Sytems-Arquitecture, Proagramin and Desing, 2ª Edición, McGraw-Hill 2008, pags 134-143. [8] Gary A Danube, Network Warrior, 2ª Edición, Cover Nexus 2011, pags 100-400. [9] Roldan Martinez, Comunicaciones en redes WLAN Wifi y Seguridad, 3ª Edición, McGraw-Hill 2011, pags 35-90. [10] Orduña Huerta Juan Manuel, Arquitectura y Programación de Microcontroladores, 1ª Edición, Lorens, pags 10-25. [11] Quero Enrique, Sistema Operativos y Lenguajes de Programación, 1ª Edición 2009, Rogar, pags 197-256. [12] Muhammad H. Rashid, Electrónica de Potencia-Circuitos, dispositivos y aplicaciones, 3ª Edición, Pearson, pags 94-100.