Example program for the Ethernet Shield V2.0 by SeeedStudio. The example gets an IP address via DHCP and then requests http://mbed.org/media/uploads/mbed_official/hello.txt

Dependencies:   WIZ820ioInterface mbed

Committer:
screamer
Date:
Fri Apr 11 13:13:51 2014 +0000
Revision:
1:bb040724d21b
Parent:
0:1e952439b254
Child:
2:3b6c391a682d
Add comments

Who changed what in which revision?

UserRevisionLine numberNew contents of line
screamer 0:1e952439b254 1 #include "mbed.h"
screamer 0:1e952439b254 2 #include "WIZ820ioInterface.h"
screamer 0:1e952439b254 3
screamer 0:1e952439b254 4 Serial pc(USBTX, USBRX);
screamer 0:1e952439b254 5 WIZ820ioInterface eth(D11, D12, D13, D10, NC);
screamer 0:1e952439b254 6
screamer 0:1e952439b254 7 int main()
screamer 0:1e952439b254 8 {
screamer 0:1e952439b254 9 wait(3);
screamer 1:bb040724d21b 10
screamer 1:bb040724d21b 11 // Initialize the interface.
screamer 1:bb040724d21b 12 // If no param is passed to init() then DHCP will be used on connect()
screamer 1:bb040724d21b 13 int s = eth.init();
screamer 0:1e952439b254 14 if (s != NULL) {
screamer 0:1e952439b254 15 pc.printf(">>> Could not initialise. Halting!\n");
screamer 0:1e952439b254 16 exit(0);
screamer 0:1e952439b254 17 }
screamer 0:1e952439b254 18
screamer 1:bb040724d21b 19 pc.printf(">>> Get IP address...\n");
screamer 0:1e952439b254 20 while (1) {
screamer 1:bb040724d21b 21 s = eth.connect(); // Connect to network
screamer 0:1e952439b254 22
screamer 0:1e952439b254 23 if (s == false || s < 0) {
screamer 0:1e952439b254 24 pc.printf(">>> Could not connect to network. Retrying!\n");
screamer 0:1e952439b254 25 wait(3);
screamer 0:1e952439b254 26 } else {
screamer 0:1e952439b254 27 break;
screamer 0:1e952439b254 28 }
screamer 0:1e952439b254 29 }
screamer 1:bb040724d21b 30 pc.printf(">>> Got IP address: %s\n", eth.getIPAddress());
screamer 0:1e952439b254 31
screamer 1:bb040724d21b 32 // Prepare the http request to mbed.org
screamer 0:1e952439b254 33 char http_cmd[] = "GET /media/uploads/mbed_official/hello.txt HTTP/1.0\n\n";
screamer 0:1e952439b254 34 TCPSocketConnection sock;
screamer 0:1e952439b254 35 sock.connect("mbed.org", 80);
screamer 0:1e952439b254 36 sock.send_all(http_cmd, sizeof(http_cmd)-1);
screamer 0:1e952439b254 37 pc.printf(">>> Sent request to mbed.org\n");
screamer 0:1e952439b254 38
screamer 1:bb040724d21b 39 // Read the response
screamer 0:1e952439b254 40 char buffer[300];
screamer 0:1e952439b254 41 int ret;
screamer 0:1e952439b254 42 while (true) {
screamer 0:1e952439b254 43 ret = sock.receive(buffer, sizeof(buffer)-1);
screamer 0:1e952439b254 44 if (ret <= 0)
screamer 0:1e952439b254 45 break;
screamer 0:1e952439b254 46 buffer[ret] = '\0';
screamer 0:1e952439b254 47 pc.printf(">>> Received %d chars from mbed.org:\n%s\n", ret, buffer);
screamer 0:1e952439b254 48 }
screamer 0:1e952439b254 49 sock.close();
screamer 0:1e952439b254 50
screamer 1:bb040724d21b 51 // Disconnect from network
screamer 0:1e952439b254 52 eth.disconnect();
screamer 0:1e952439b254 53 return 0;
screamer 0:1e952439b254 54 }