DNS Web Client for WIZnet Academu
Dependencies: WIZnetInterface mbed
main.cpp@0:02f6cd2ee811, 2016-04-04 (annotated)
- 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?
User | Revision | Line number | New 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 | } |