PDF de programación - Mi primer WEB

Imágen de pdf Mi primer WEB

Mi primer WEBgráfica de visualizaciones

Publicado el 18 de Septiembre del 2018
685 visualizaciones desde el 18 de Septiembre del 2018
1,3 MB
22 paginas
Creado hace 8a (27/12/2012)
Mi primer WEB

Si bien el aspecto del proyecto puede intimidar por la cantidad de archivos que contiene, (alrededor
de 54 en total) la verdad es que solo nos moveremos en tres:

main.c, config.h y hardware.h.

Estos tres archivos contienen toda la información necesaria para personalizar nuestro Stack y
adecuarlo a casi cualquier configuración de trabajo.
La idea de trabajar con este Stack es la de poder adaptarlo a sistemas de relativa simpleza y bajo
costo con una transferencia real de 10Mbits.
En este primer ejemplo vamos a colocar un sitio web dentro de una memoria 25LC256 con el cual
vamos a controlar el estado de dos LED´s y recibir el voltaje leído desde el conversor analógico por
el canal AN0.

Debe usted estar seguro que su electrónica no tiene problemas, conexiones flojas,
fuente de alimentación deficiente, etc.

Intencionalmente este trabajo ha sido construido en un simple protoboard en lugar de usar alguna
entrenadora adecuada, esto para poder graficar claramente la simpleza de su implementación a nivel
de hardware y la posibilidad de ajustarlo a casi cualquier aplicación que requiera Ethernet.

El proyecto del web-server ya esta ajustado para ser compilado sin problemas sin embargo se
debe entender que para poder compilar el proyecto desde cero debemos hacer algunos ajustes en el
MPLAB.
Para esto nos paramos en el árbol de proyecto, sobre el nombre del proyecto, botón derecho y nos
vamos a Build Options, una vez ahí debemos ir configurando las distintas partes del del MPLAB.

La capa de red esta resuelta con un ENC28J60
que nos dará conectividad a 10Mb.
Podemos ensamblar la placa nosotros mismos
o podemos comprar el modulo ya armado, la
experiencia dice que hay algunos componentes
de esta electrónica un tanto complejos de
conseguir como el cristal de 25Mhz, los
transformadores adaptadores en el conector
RJ45 y algunas resistencias de precisión.
Debe respetar los valores detallados en el
diagrama NO FUNCIONA DE OTRA
FORMA!!
Por esto es que recomendamos comprar la
placa ya armada puesto que tiene un costo muy económico y no vale la pena encarar el armado de la
misma.

Observe las imágenes en la pagina siguiente para tener una idea del hardware necesario y la
estructura del proyecto como así también la configuración del MPLAB.

Taller practico Ethernet con PIC´s 1

Taller practico Ethernet con PIC´s 2

Configurar el MPLAB C18 para el Stack Microchip

1) Incluir las rutas de los archivos 2) Configurar correctamente el compilador

3) Configurar el modelo de memoria

4) Configurar el optimizador de C18

Taller practico Ethernet con PIC´s 3

Desde el punto de vista electrónico necesitamos tener 3,3 Voltios para alimentar el ENC28J60.
Cuidado, el PIC se alimenta con 5V lo mismo que la memoria y el SN74LS125, solo el ENC28J60
se alimenta con 3,3V (En determinados momentos este chip tiene un consumo de energía relevante).

Para el reloj de nuestro PIC usaremos un cristal de 10Mhz y dos condesadores de 18pF.

En este primer trabajo la web estará contenida en una memora SPI del tipo 25LC256, mas adelante
veremos como compilar la web en la propia FLASH del microcontrolador.

Taller practico Ethernet con PIC´s 4

Memoria 25LC256. (Alimentada a 5V)

Para adecuar los niveles de tensión entre el PIC (5V) y el ENC28J60 (3,3V) necesitaremos un
adaptador como el SN74LS125. (Alimentado a 5V)

En nuestro caso solo estamos conectado un buffer, el que maneja los datos y se conecta al pin 23 del
controlador (SDI).

La parte de RED la resolvemos directamente con una interfaz que ya trae montado el ENC28J60.
Hemos usado este enfoque solo por practicidad pero se puede armar totalmente la electrónica
siguiendo el siguiente diagrama:

Taller practico Ethernet con PIC´s 5

Taller practico Ethernet con PIC´s 6

Placa ya terminada. (Alimentar esta placa a 3,3V)

El diagrama electrónico de este trabajo puede verlo en los archivos:

• Circuito_PIC.pdf Contiene el diagrama completo del PIC18F4620 y sus conexiones

periféricas, LED´s, Memorias, etc.

• Circuito_ENC28J60.pdf Contiene el diagrama completo de la placa de RED.

Taller practico Ethernet con PIC´s 7

La idea es lograr programar una web como la que se aprecia en la imagen dentro de la memoria
25LC256. Tome el archivo Ejemplo_1.zip y descomprimalo, el proyecto está ya listo para ser
compilado, también encontrará web.b y todas las fuentes para reformar la web.

Para lograr esto necesitamos seguir varios pasos, primero la construcción de la propia pagina web
que se puede realizar con cualquier herramienta web de diseño (teniendo siempre en cuenta el
espacio con que contamos, no es lo mismo meter un sitio web en un servidor PC que un PIC).
Nosotros para simplificar las cosas trabajaremos con una pagina ya construida la cual
modificaremos con PageBreeze Luego que tenemos nuestra pagina creada debemos compilarla
con la herramienta de Microchip MPFS.EXE. Esta herramienta formatea nuestra pagina web y todos
los archivos vinculados a ella en un formato comprensible para el STACK y su sistema operativo.

Es decir entonces que para hacer funcionar todo necesitamos dos tipos de compilación,
la del propio MPLAB que genera el archivo .hex que enviamos a la FLASH del PIC con
el programador de PIC que estemos usando.
Y por otro lado la compilación con MPFS del sitio web que programaremos en la
memoria SPI 25LC256. Esta programación la haremos mediante el servidor FTP que
esta dentro del propio STACK y al cual nos conectaremos mediante una sesión clásica
FTP con cualquier soft FTP desde el lado de la computadora.
Está claro entonces que para poder programar nuestro sitio dentro de la memoria
25LC256 tenemos que tener ya funcionando el STACK puesto que nos conectaremos a
la memoria con el servidor FTP que esta en el propio STACK, en otras palabras, el
propio micro es quien programa la memoria 25LC256 a través de una conexión remota
mediante FTP tal cual lo haríamos en un servidor web informático.

Puede ver aquí un video
de como funciona la carga de la web de manera remota mediante FTP.
Dentro del archivo congif.h entre otras cosas usted encontrará las siguientes configuraciónes
resaltadas en color rojo que son de absoluta utilidad para el control del FTP.



Taller practico Ethernet con PIC´s 8

// Nombre por defecto

/******************************************************************************
* Global configuration file for the Microchip TCP/IP Stack *
*============================================================================*
#ifndef _CONFIG_H
#define _CONFIG_H
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define VERSION "1.0" // Firmware versión
#include "include/Hardware.h"
//*****************************************************************************
// TCP/IP Config
//
// Define the default values for your MAC and IP configuration.
// Notice that the IP addresses are separated by commas and not by the
// traditional dot in the decimal dotted notation.
//
#define DEFAULT_MAC_ADDRESS { 0x00, 0x04, 0xa3, 0x00, 0x02, 0x00 }
#define DEFAULT_IP_ADDRESS { 192, 168, 1, 201 } // IP por defecto
#define DEFAULT_NETMASK { 255, 255, 255, 0 }
#define DEFAULT_GATEWAY { 192, 168, 1, 1 }
#define DEFAULT_NS1 { 192, 168, 1, 1 }
#define DEFAULT_NETBIOS_NAME "Firtec_TCP"
//*****************************************************************************
// Stack Modules
// Enable/Disable supported protocol and application modules for the TCP/IP
// stack. The TCP and UDP protocol modules will be enabled according to the
// modules you select here.
#define STACK_USE_ICMP // ICMP reply (ping) module
#define STACK_USE_HTTP_SERVER // HTTP server
//#define STACK_USE_IP_GLEANING // Obtain IP address via IP Gleaning
#define STACK_USE_DHCP // DHCP (Necesario si me conecto con un Router)
#define STACK_USE_FTP_SERVER // FTP server activo!!!!
//#define STACK_USE_TCP_EXAMPLE1 // HTTP example in tcp_client_ex1.c
#define STACK_USE_ANNOUNCE // Ethernet Device Discoverer server/client
//#define STACK_USE_SNTP // SNTP client
#define STACK_USE_DNS // DNS client
#define STACK_USE_NBNS // NetBIOS Name Service Server
//#define STACK_USE_UDPTEST // Enable UDP Test code
//*****************************************************************************
// Some time related definitions
// Define Ticks per second for the tick manager
//
#define TICKS_PER_SECOND (100) // 10ms
//#define USE_TIME // Include time routines
#define TIME_SOURCE_TICK // Time source is Timer0 Tick counter
//#define TIME_SOURCE_32KTIMER
#define TZ_OFFSET (-3) // Time Zone offset (negative west of GMT)
#define SNTP_UPDATE_SECS (43200) // SNTP update interval in seconds (12hrs)
//*****************************************************************************
// Miscellaneous Stack Optio
  • Links de descarga
http://lwp-l.com/pdf13540

Comentarios de: Mi primer WEB (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad