Local version for working on Nucleo F401 and Ethernet shield

Dependencies:   WIZnet_Library mbed

Fork of Embedded_web_wiznet by IPN ESIME ZACATENCO

Committer:
Ademir501
Date:
Mon Jun 09 22:37:27 2014 +0000
Revision:
0:2f0a30377d42
Child:
1:f39ba31afda9
wiznet.h;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Ademir501 0:2f0a30377d42 1 //w5500
Ademir501 0:2f0a30377d42 2 #include "mbed.h"
Ademir501 0:2f0a30377d42 3 #include "WIZnetInterface.h"
Ademir501 0:2f0a30377d42 4
Ademir501 0:2f0a30377d42 5 #define ECHO_SERVER_PORT 80
Ademir501 0:2f0a30377d42 6
Ademir501 0:2f0a30377d42 7 SPI spi(PTD7, PTD6, PTD5); // mosi, miso, sclk
Ademir501 0:2f0a30377d42 8 WIZnetInterface eth(&spi, PTD4, PTA20); // spi, cs, reset
Ademir501 0:2f0a30377d42 9 Serial pc(PTA2,PTA1);
Ademir501 0:2f0a30377d42 10 DigitalOut led(PTB0);
Ademir501 0:2f0a30377d42 11
Ademir501 0:2f0a30377d42 12 void f_ethernet_init(void);
Ademir501 0:2f0a30377d42 13
Ademir501 0:2f0a30377d42 14
Ademir501 0:2f0a30377d42 15 const char * IP_Addr = "169.254.175.210";
Ademir501 0:2f0a30377d42 16 const char * IP_Subnet = "255.255.255.0";
Ademir501 0:2f0a30377d42 17 const char * IP_Gateway = "169.254.175.209";
Ademir501 0:2f0a30377d42 18 int ret,dummy;
Ademir501 0:2f0a30377d42 19 int lv=1;
Ademir501 0:2f0a30377d42 20
Ademir501 0:2f0a30377d42 21
Ademir501 0:2f0a30377d42 22 char a[]={"HTTP/1.0 200 OK\r\nContent-Type: text/html\r\nPragma: no-cache\r\n\r\n"};
Ademir501 0:2f0a30377d42 23 char b[]={"<html>\r\n<body>\r\n"};
Ademir501 0:2f0a30377d42 24 char c[]={"<title>FRDM KL46Z</title>\r\n"};
Ademir501 0:2f0a30377d42 25 char d[]={"<h2>Pagina Web usando Wiznet </h2>\r\n"};
Ademir501 0:2f0a30377d42 26 char e[]={"<br /><hr>\r\n"};
Ademir501 0:2f0a30377d42 27 char f[]={"<FONT FACE=\"Arial\" SIZE=\"2\" COLOR=\"FF0000\">"};
Ademir501 0:2f0a30377d42 28
Ademir501 0:2f0a30377d42 29 char paq_en[32];
Ademir501 0:2f0a30377d42 30
Ademir501 0:2f0a30377d42 31
Ademir501 0:2f0a30377d42 32
Ademir501 0:2f0a30377d42 33 int main()
Ademir501 0:2f0a30377d42 34 {
Ademir501 0:2f0a30377d42 35 f_ethernet_init();
Ademir501 0:2f0a30377d42 36 TCPSocketServer server;
Ademir501 0:2f0a30377d42 37 server.bind(ECHO_SERVER_PORT);
Ademir501 0:2f0a30377d42 38 server.listen();
Ademir501 0:2f0a30377d42 39 pc.printf("\nEsperando conexion con cliente...\n");
Ademir501 0:2f0a30377d42 40 TCPSocketConnection client;
Ademir501 0:2f0a30377d42 41 while(lv)
Ademir501 0:2f0a30377d42 42 {
Ademir501 0:2f0a30377d42 43 lv=server.accept(client);
Ademir501 0:2f0a30377d42 44 if(!lv)
Ademir501 0:2f0a30377d42 45 {
Ademir501 0:2f0a30377d42 46 pc.printf("Cliente conectado: %s\n", client.get_address());
Ademir501 0:2f0a30377d42 47
Ademir501 0:2f0a30377d42 48 }
Ademir501 0:2f0a30377d42 49 else
Ademir501 0:2f0a30377d42 50 {
Ademir501 0:2f0a30377d42 51 wait(10);
Ademir501 0:2f0a30377d42 52 }
Ademir501 0:2f0a30377d42 53 }
Ademir501 0:2f0a30377d42 54
Ademir501 0:2f0a30377d42 55
Ademir501 0:2f0a30377d42 56 client.send(a,sizeof(a));
Ademir501 0:2f0a30377d42 57 client.send(b,sizeof(b));
Ademir501 0:2f0a30377d42 58 client.send(c,sizeof(c));
Ademir501 0:2f0a30377d42 59 client.send(d,sizeof(d));
Ademir501 0:2f0a30377d42 60 client.send(e,sizeof(e));
Ademir501 0:2f0a30377d42 61 client.send(f,sizeof(f));
Ademir501 0:2f0a30377d42 62
Ademir501 0:2f0a30377d42 63
Ademir501 0:2f0a30377d42 64
Ademir501 0:2f0a30377d42 65
Ademir501 0:2f0a30377d42 66 while(1)
Ademir501 0:2f0a30377d42 67 {
Ademir501 0:2f0a30377d42 68 dummy++;
Ademir501 0:2f0a30377d42 69 sprintf(paq_en,"<FONT><br>Contador=%d</FONT>",dummy);
Ademir501 0:2f0a30377d42 70 client.send(paq_en,sizeof(paq_en));
Ademir501 0:2f0a30377d42 71 wait(1);
Ademir501 0:2f0a30377d42 72 }
Ademir501 0:2f0a30377d42 73 }
Ademir501 0:2f0a30377d42 74
Ademir501 0:2f0a30377d42 75 void f_ethernet_init()
Ademir501 0:2f0a30377d42 76 {
Ademir501 0:2f0a30377d42 77 uint8_t mac[]={0x00,0x08,0xDC,0x1C,0xAA,0xCA};
Ademir501 0:2f0a30377d42 78 // mbed_mac_address((char *)mac);
Ademir501 0:2f0a30377d42 79 pc.printf("\tIniciando Servidor Ethernet...\n\r");
Ademir501 0:2f0a30377d42 80 wait(1);
Ademir501 0:2f0a30377d42 81 ret = eth.init(mac, IP_Addr, IP_Subnet, IP_Gateway);
Ademir501 0:2f0a30377d42 82 if(!ret)
Ademir501 0:2f0a30377d42 83 {
Ademir501 0:2f0a30377d42 84 pc.printf("Inicializado, MAC= %s\n\r",eth.getMACAddress());
Ademir501 0:2f0a30377d42 85 }
Ademir501 0:2f0a30377d42 86 else
Ademir501 0:2f0a30377d42 87 {
Ademir501 0:2f0a30377d42 88 pc.printf("Fallo comunicacion... Reinicie dispositivos...\n\r");
Ademir501 0:2f0a30377d42 89 }
Ademir501 0:2f0a30377d42 90 pc.printf("Conectando.");
Ademir501 0:2f0a30377d42 91 wait(2);
Ademir501 0:2f0a30377d42 92 pc.printf(".");
Ademir501 0:2f0a30377d42 93 wait(2);
Ademir501 0:2f0a30377d42 94 pc.printf(".\n\r");
Ademir501 0:2f0a30377d42 95 wait(1);
Ademir501 0:2f0a30377d42 96 ret = eth.connect();
Ademir501 0:2f0a30377d42 97 if(!ret)
Ademir501 0:2f0a30377d42 98 {
Ademir501 0:2f0a30377d42 99 pc.printf("Conexion Establecida!\n\n\r");
Ademir501 0:2f0a30377d42 100 wait(1);
Ademir501 0:2f0a30377d42 101 pc.printf("IP=%s\n\rMASK=%s\n\rGW=%s\n\r",eth.getIPAddress(), eth.getNetworkMask(), eth.getGateway());
Ademir501 0:2f0a30377d42 102 }
Ademir501 0:2f0a30377d42 103 else
Ademir501 0:2f0a30377d42 104 {
Ademir501 0:2f0a30377d42 105 pc.printf("Fallo conexion... Reinicie dispositivos...\n\r");
Ademir501 0:2f0a30377d42 106 }
Ademir501 0:2f0a30377d42 107 }