Contenido
INDICE......................................................................................................................................i
LISTA DE
FIGURAS...............................................................................................................iv
RESUMEN...............................................................................................................................vi
INTRODUCCION....................................................................................................................1
1
PLANTEAMIENTO DEL
PROBLEMA.............................................................................2
1.1
Planteamiento del
Problema........................................................................................2
1.2
Justificación................................................................................................................4
1.3
Alcance y
limitaciones.................................................................................................4
1.4
Objetivos...................................................................................................................5
2
FUNDAMENTOS TEORICOS..........................................................................................6
2.1
Sistemas
Embebidos o
Empotrados............................................................................6
2.2
El
Modelo Cliente
Servidor........................................................................................7
2.3
Dispositivos de Adquisición de datos y control basados en
Internet.............................8
2.4
Protocolos necesarios para implementar un Servidor
Web.........................................11
2.4.1
Interfaz
Física Ethernet.............................................................................11
2.4.2
Protocolo
IP............................................................................................13
2.4.3
Protocolo ARP........................................................................................16
2.4.4
Protocolo ICMP......................................................................................17
2.4.5
Protocolo
TCP........................................................................................18
2.4.6
Protocolo http..........................................................................................24
3
METODOLOGIA DE
TRABAJO.....................................................................................30
3.1
Ciclo de
vida de desarrollo de
software....................................................................30
3.2
Etapas
en el ciclo de vida de desarrollo de
Software.................................................31
3.3
Modelos
de ciclo de
vida.........................................................................................32
3.4
Modelo
en
Cascada.................................................................................................33
3.5
Modelo a
usar para el desarrollo de este
trabajo.......................................................34
4
FASE DE
DEFINICIÓN DEL
PROYECTO....................................................................36
4.1
Consideraciones generales del
Prototipo...................................................................36
4.2
Especificaciones preliminares del
Prototipo...............................................................38
4.3
Especificaciones
Operacionales................................................................................38
4.4
Diagrama
de Bloque
básico......................................................................................39
4.5
Consideraciones para el diseño del
sistema...............................................................39
4.5.1
Herramientas de
desarrollo.......................................................................40
4.5.2
Sensores..................................................................................................40
4.5.3
Memoria
Externa......................................................................................41
4.5.4
Controlador de
Red.................................................................................41
4.5.5
Fuente
de
Poder.......................................................................................41
4.5.6
Software
a
Desarrollar..............................................................................41
4.5.7
El
Microcontrolador.................................................................................42
5
FASE DE
DISEÑO DEL
PROYECTO.............................................................................43
5.1
Diseño
de Hardaware...............................................................................................43
5.1.1
El
Microcontrolador.................................................................................43
5.1.2
Interfaz
tarjeta de
Red-Microcontrolador..................................................44
5.1.3
Memoria
Externa......................................................................................45
5.1.4
Interfaz
RS232.........................................................................................46
5.1.5
Sensor
de
Humedad.................................................................................47
5.1.6
Sensor
de
Temperatura............................................................................47
5.1.7
Interfaz
de Línea
AC................................................................................48
5.1.8
Entradas
y Salidas
Digitales......................................................................49
5.1.9
Fuente
de
Poder.......................................................................................49
5.2
Diseño
Web.............................................................................................................50
5.3
Diseño
del Software Controlador de la Tarjeta de
Red..............................................54
5.3.1
Hardware
Ethernet...................................................................................54
5.3.2
Recepción y Transmisión de
Paquetes.......................................................55
5.3.3
DMA
Remoto..........................................................................................57
5.3.4
Diseño
del Software
Controlador..............................................................57
5.4
Diseño
del Software
TCP/IP....................................................................................59
5.4.1
Proceso
Petición
Respuesta......................................................................60
5.4.2
Diseño
Programa
Principal........................................................................61
5.4.3
Diseño
Respuesta ARP............................................................................63
5.4.4
Diseño
IP.................................................................................................64
5.4.5
Diseño
Respuesta
Ping.............................................................................65
5.4.6
Diseño
TCP.............................................................................................66
5.4.7
Diseño
http...............................................................................................77
5.5
Módulos
a
Desarrollar..............................................................................................84
6
FASE DE
DEFINICION DE PRUEBAS Y CONSTRUCCION DEL PROTOTIPO.......85
6.1
Definición de
Pruebas...............................................................................................85
6.2
Construcción del
Prototipo.......................................................................................88
6.3
Pruebas
realizadas....................................................................................................89
7
FASE DE INTEGRACIÓN DEL SISTEMA Y DESARROLLO DE
SOFTWARE...........90
7.1
Desarrollo del sitio
Web...........................................................................................90
7.1.1
Página
Principal index.htm........................................................................90
7.1.2
Marco
Salida00.htm.................................................................................91
7.1.3
Marco
inicio.htm......................................................................................93
7.1.4
Marco
datos.egi y los Contenidos
Dinámicos............................................93
7.1.5
Contenido del Sitio
Web..........................................................................94
7.1.6
Transferencia del Sitio Web a la Memoria EEPROM................................94
7.2
El
Programa
Principal...............................................................................................97
7.2.1
Definiciones Generales, Variables, Prototipos e
Incluye.............................97
7.2.2
La
Función main()....................................................................................98
7.2.3
Inicialización del
PIC..............................................................................100
7.2.4
Lectura
del Convertidor
Analógico-Digital..............................................100
7.2.5
Calculando el Checksum........................................................................101
7.2.6
Funciones
Temporales............................................................................101
7.3
Desarrollo del Software Controlador de
Red..........................................................102
7.3.1
Definiciones módulo
ne2.h......................................................................102
7.3.2
Funciones de
Entrada/Salida...................................................................104
7.3.3
Inicialización de la NIC...........................................................................104
7.3.4
Accesando el Buffer de
Paquetes............................................................105
7.3.5
Recepción de
Paquetes..........................................................................106
7.3.6
Análisis
de
Paquetes...............................................................................107
7.3.7
Transmisión de
Paquetes........................................................................107
7.3.8
Dirección Física de la NIC.....................................................................108
7.4
Desarrollo del Software Protocolo ARP.................................................................108
7.5
Desarrollo del Software ICMP...............................................................................110
7.6
Desarrollo del Software Protocolo
IP.....................................................................111
7.6.1
Definiciones
IP.......................................................................................111
7.6.2
Recepción Paquete
IP............................................................................112
7.6.3
Preparando el Encabezado
IP.................................................................113
7.7
Desarrollo del Software Protocolo
TCP..................................................................115
7.7.1
Definiciones, Variables, y Prototipos
TCP...............................................115
7.7.2
Recepción de un Segmento
TCP............................................................116
7.7.3
Implementando la Máquina de Estados
TCP...........................................117
7.7.4
Preparando el Encabezado
TCP.............................................................122
7.8
Desarrollo del Software Protocolo http...................................................................123
7.8.1
Sistema
de Archivo
ROM......................................................................123
7.8.2
Ciclo de
Acceso de la Memoria EEPROM.............................................124
7.8.3
Análisis
de una Petición http....................................................................125
7.8.4
Búsqueda
de Archivos en el Directorio de la EEPROM..........................127
7.8.5
Manejo
de las Salidas
Digitales...............................................................128
7.8.6
Apuntando el contenido del Archivo en la EEPROM...............................129
7.8.7
Transferencia del Contenido de un Archivo en la EEPROM....................129
7.8.8
Transmitiendo un Segmento TCP incluida la Información http..................131
8
FASE DE PRUEBAS DEL
SISTEMA............................................................................132
8.1
Comprobación del Funcionamiento de la Red
Local................................................132
8.2
Pruebas
del protocolo ARP....................................................................................132
8.3
Prueba
repuesta
Ping..............................................................................................134
8.4
Prueba
protocolos IP, TCP, http............................................................................134
8.5
Prueba
de las Entradas y Salidas
Digitales...............................................................138
8.6
Comprobación del Funcionamiento de los
Sensores................................................139
8.7
Manejando múltiples
peticiones...............................................................................139
CONCLUSIONES Y
RECOMENDACIONES...................................................................140
REFERENCIAS....................................................................................................................142
GLOSARIO..........................................................................................................................144
APENDICE- Listado del
Programa........................................................................................157
LISTA DE
FIGURAS
Figura
Página
1. Iteracción
Cliente-Servidor.....................................................................................................7
2.Dispositivo de ADC
Empotrado..............................................................................................9
3. Dispositivo de ADC usando
PC...........................................................................................10
4. TCP/IP y el Modelo OSI.....................................................................................................11
5. Formato de trama Ethernet II (RFC
894)..............................................................................13
6. Formato de Datagrama
IP....................................................................................................15
7. Formato de Mensaje ARP....................................................................................................16
8. Formato para mensajes ICMP echo
request y echo reply......................................................17
9. Negociación en tres
pasos....................................................................................................19
10.Cierre de una conexión
TCP................................................................................................21
11. Formato de Segmento
TCP................................................................................................23
12.Anatomía de un URL...........................................................................................................25
13. Modelo
Cascada................................................................................................................33
14. Diagrama de Bloque del Servidor
MicroWeb......................................................................39
15. Diagrama de Bloque del
Microcontrolador
PIC16F877......................................................44
16.Interfaz Microcontrolador-Tarjeta
de
Red............................................................................45
17. Memoria Externa
24LS256................................................................................................46
18. Interfaz RS-232.................................................................................................................46
19. Módulo Sensor de Humedad
HTM1505............................................................................47
20. Sensor de Temperatura
TCN75.........................................................................................47
21. Circuito del Sensor de
Temperatura
TCN75.......................................................................48
22. Interfaz de Línea
AC..........................................................................................................48
23. Entradas y Salidas
Digitales................................................................................................49
24. Fuente de
Poder.................................................................................................................49
25. Interruptores
Virtuales........................................................................................................51
26. Diseño Web-Página Principal y
sus tres
Marcos..................................................................53
27. Diagrama de bloque del
Controlador Ethernet.....................................................................54
28. Estructura circular de
almacenamiento.................................................................................56
29. Ciclo de acceso del Controlador
Ethernet...........................................................................58
30. Proceso
Petición-Respuesta...............................................................................................61
31. Diagrama de Flujo del Programa
Princial.............................................................................62
32. Diagrama de Flujo arp_resp().............................................................................................63
33. Diagrama de Flujo ip_recv()...............................................................................................64
34. Diagrama de Flujo ping_resp()............................................................................................65
35. Máquina de estados TCP-Lado
Servidor............................................................................66
36. Opciones más comnes del
encabezado
TCP.......................................................................68
37. Diagrama de flujo tcp_recv()..............................................................................................69
38. Diagrama de flujo tcp_handler()..........................................................................................70
39. Diagrama de flujo tcp_listen().............................................................................................74
40. Diagrama de flujo syn_recv(),
tcp_estab() y fin_wait().........................................................75
41. Diagrama de flujo fin_wait_2()............................................................................................76
42. Sistema de directorio de
archivos EEPROM.......................................................................77
43. Operación de escritura del
esclavo.....................................................................................78
44. Operación de lectura del
esclavo........................................................................................79
45. Diagrama de flujo http_receive().........................................................................................80
46. Diagrama de flujo find_file()................................................................................................82
47. Diagrama de flujo tx_http_byte().........................................................................................83
48. Módulos del Servidor MicroWeb.......................................................................................84
49. Prototipo
Construido..........................................................................................................88
50. Salida del Servidor McroWeb............................................................................................91
51. Marco salida00.htm...........................................................................................................92
52. Marco inicio.htm................................................................................................................93
53. Marco datos.egi.................................................................................................................94
54. Contenido del Sitio
Web....................................................................................................95
55. Generando el archivo imagen.rom.......................................................................................96
56. Salida del Servidor MicroWeb.........................................................................................135
57. Estado de las entradas y Salidas
Digitales..........................................................................138
58. Valor de los
Sensores.......................................................................................................13
|