Diseño de un Prototipo de Monitoreo y Control por Internet
Hardware: PIC16F877
Software:
Lenguaje C Compilador PCM CCS Inc.
Formato:
PDF 184 Páginas


Resumen

En el presente trabajo, se ha desarrollado un prototipo de un dispositivo de Adquisición de Datos y Control basados en Internet, el cual es un Sistema Empotrado cuya unidad central de procesamiento es un microcontrolador, donde se implementa un servidor Web escribiendo la pila TCP/IP incluido el protocolo HTTP y que utiliza la popular interfaz Ethernet. La realización de estos prototipos demuestra la aplicación cierta de Internet en este campo, aun cuando el desarrollo de la misma, tuvo inicialmente otras motivaciones. El prototipo puede monitorear la Temperatura y la Humedad relativa del ambiente así como la tensión de línea A.C.. El prototipo puede ser usado para impartir cursos avanzados de redes que profundicen en el diseño y operación de la pila de protocolos TCP/IP. Los resultados presentan lo potencial del uso de Internet en esta materia y abre adicionales líneas de trabajos.

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

 
Para Obtener una Copia de este Trabajo contáctame al correo:  cnarvaez@udo.edu.ve
 

Inicio

Ficha técnica

Cursos

Libros

Enlaces

Noticias

Fotos

Creado y Mantenido con

**2002**


Ingeniero Carlos A. Narváez.
Universidad de Oriente Venezuela.
Para Mayor información contáctame al correo:  cnarvaez@udo.edu.ve
Ultima Revision:  abril 06, 2008 .