DNS Web Client for WIZnet Academu

Dependencies:   WIZnetInterface mbed

Committer:
joon874
Date:
Mon Apr 04 06:34:53 2016 +0000
Revision:
0:02f6cd2ee811
DNS web Client for WIZnetacademy

Who changed what in which revision?

UserRevisionLine numberNew contents of line
joon874 0:02f6cd2ee811 1 #include "mbed.h"
joon874 0:02f6cd2ee811 2 #include "EthernetInterface.h"
joon874 0:02f6cd2ee811 3
joon874 0:02f6cd2ee811 4 DigitalOut myled1(LED1,1);
joon874 0:02f6cd2ee811 5 DigitalOut myled2(LED2,1);
joon874 0:02f6cd2ee811 6
joon874 0:02f6cd2ee811 7 #define ECHO_SERVER_PORT 80 // HTTP default Port 80
joon874 0:02f6cd2ee811 8 char ServerName[] = "naver.com";
joon874 0:02f6cd2ee811 9 char http_cmd[] = "GET / HTTP/1.0\r\n\r\n";
joon874 0:02f6cd2ee811 10
joon874 0:02f6cd2ee811 11 #define BUFFER_SIZE 2048
joon874 0:02f6cd2ee811 12 char buffer[BUFFER_SIZE];
joon874 0:02f6cd2ee811 13
joon874 0:02f6cd2ee811 14
joon874 0:02f6cd2ee811 15 // Intitialize the Ethernet Client Library
joon874 0:02f6cd2ee811 16 EthernetInterface eth;
joon874 0:02f6cd2ee811 17
joon874 0:02f6cd2ee811 18
joon874 0:02f6cd2ee811 19 int main() {
joon874 0:02f6cd2ee811 20
joon874 0:02f6cd2ee811 21 printf("-- Welcome WIZwiki-W7500 Platform -- \r\n");
joon874 0:02f6cd2ee811 22
joon874 0:02f6cd2ee811 23 myled1 = 0;
joon874 0:02f6cd2ee811 24
joon874 0:02f6cd2ee811 25 // Enter a MAC Address for your Platform
joon874 0:02f6cd2ee811 26 uint8_t mac_addr[6] = {0x00, 0x08, 0xDC, 0x03, 0x04, 0x02};
joon874 0:02f6cd2ee811 27
joon874 0:02f6cd2ee811 28 // Initializing MAX Address
joon874 0:02f6cd2ee811 29 eth.init(mac_addr);
joon874 0:02f6cd2ee811 30
joon874 0:02f6cd2ee811 31 do{
joon874 0:02f6cd2ee811 32 printf(" Link - Wait... \r\n");
joon874 0:02f6cd2ee811 33 wait(1);
joon874 0:02f6cd2ee811 34 }while(!eth.ethernet_link());
joon874 0:02f6cd2ee811 35 printf("-- Ethetnet PHY Link - Done -- \r\n");
joon874 0:02f6cd2ee811 36
joon874 0:02f6cd2ee811 37 if (eth.connect() < 0 )
joon874 0:02f6cd2ee811 38 printf("-- EThernet Connect - Fail -- \r\n");
joon874 0:02f6cd2ee811 39 else
joon874 0:02f6cd2ee811 40 {
joon874 0:02f6cd2ee811 41 printf("-- Assigned Network Information -- \r\n");
joon874 0:02f6cd2ee811 42 printf(" IP : %s\r\n\r\n", eth.getIPAddress());
joon874 0:02f6cd2ee811 43 printf(" MASK : %s\r\n\r\n", eth.getNetworkMask());
joon874 0:02f6cd2ee811 44 printf(" GW : %s\r\n\r\n", eth.getGateway());
joon874 0:02f6cd2ee811 45 }
joon874 0:02f6cd2ee811 46
joon874 0:02f6cd2ee811 47 // Initialize the TCP Socket Connection
joon874 0:02f6cd2ee811 48 TCPSocketConnection sock;
joon874 0:02f6cd2ee811 49
joon874 0:02f6cd2ee811 50 if(sock.connect(ServerName, ECHO_SERVER_PORT) < 0)
joon874 0:02f6cd2ee811 51 printf("-- Connect - Fail -- \r\n");
joon874 0:02f6cd2ee811 52 else
joon874 0:02f6cd2ee811 53 {
joon874 0:02f6cd2ee811 54 printf("-- Connect - Connected -- \r\n");
joon874 0:02f6cd2ee811 55 wait(3);
joon874 0:02f6cd2ee811 56 while(sock.is_connected() == false)
joon874 0:02f6cd2ee811 57 {
joon874 0:02f6cd2ee811 58 printf(" .");
joon874 0:02f6cd2ee811 59 }
joon874 0:02f6cd2ee811 60 sock.send_all(http_cmd, sizeof(http_cmd));
joon874 0:02f6cd2ee811 61 }
joon874 0:02f6cd2ee811 62
joon874 0:02f6cd2ee811 63 while(true) {
joon874 0:02f6cd2ee811 64
joon874 0:02f6cd2ee811 65 int n = sock.receive_all(buffer, BUFFER_SIZE);
joon874 0:02f6cd2ee811 66
joon874 0:02f6cd2ee811 67 if(n < 0)
joon874 0:02f6cd2ee811 68 break;
joon874 0:02f6cd2ee811 69 else
joon874 0:02f6cd2ee811 70 {
joon874 0:02f6cd2ee811 71 for(int i=0; i<n; i++)
joon874 0:02f6cd2ee811 72 printf("%c", buffer[i]);
joon874 0:02f6cd2ee811 73 }
joon874 0:02f6cd2ee811 74
joon874 0:02f6cd2ee811 75 if(sock.is_connected() == false){
joon874 0:02f6cd2ee811 76 sock.close();
joon874 0:02f6cd2ee811 77
joon874 0:02f6cd2ee811 78 myled1 = 1;
joon874 0:02f6cd2ee811 79
joon874 0:02f6cd2ee811 80 while(1) {
joon874 0:02f6cd2ee811 81 myled2 = 1;
joon874 0:02f6cd2ee811 82 wait(0.5);
joon874 0:02f6cd2ee811 83 myled2 = 0;
joon874 0:02f6cd2ee811 84 wait(0.5);
joon874 0:02f6cd2ee811 85 }
joon874 0:02f6cd2ee811 86 }
joon874 0:02f6cd2ee811 87
joon874 0:02f6cd2ee811 88 }
joon874 0:02f6cd2ee811 89
joon874 0:02f6cd2ee811 90 }