Ethernet test for ECE 4180 and others to find your IP address and do a simple HTTP GET request over port 80.

Dependencies:   mbed Socket lwip-eth lwip-sys lwip

Committer:
mkersh3
Date:
Thu Apr 04 05:26:09 2013 +0000
Revision:
0:e7ca326e76ee
Ethernet Test for ECE4180 and others to find their IP Address and do a simple HTTP GET request over port 80.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mkersh3 0:e7ca326e76ee 1 #include "mbed.h"
mkersh3 0:e7ca326e76ee 2 #include "EthernetInterface.h"
mkersh3 0:e7ca326e76ee 3
mkersh3 0:e7ca326e76ee 4 Serial pc(USBTX, USBRX);
mkersh3 0:e7ca326e76ee 5
mkersh3 0:e7ca326e76ee 6 int main()
mkersh3 0:e7ca326e76ee 7 {
mkersh3 0:e7ca326e76ee 8 EthernetInterface eth;
mkersh3 0:e7ca326e76ee 9 eth.init(); //Use DHCP
mkersh3 0:e7ca326e76ee 10 eth.connect();
mkersh3 0:e7ca326e76ee 11 printf("IP Address is %s\n", eth.getIPAddress());
mkersh3 0:e7ca326e76ee 12
mkersh3 0:e7ca326e76ee 13 TCPSocketConnection sock;
mkersh3 0:e7ca326e76ee 14 sock.connect("mbed.org", 80);
mkersh3 0:e7ca326e76ee 15
mkersh3 0:e7ca326e76ee 16 char http_cmd[] = "GET /media/uploads/mbed_official/hello.txt HTTP/1.0\n\n";
mkersh3 0:e7ca326e76ee 17 sock.send_all(http_cmd, sizeof(http_cmd)-1);
mkersh3 0:e7ca326e76ee 18
mkersh3 0:e7ca326e76ee 19 char buffer[300];
mkersh3 0:e7ca326e76ee 20 int ret;
mkersh3 0:e7ca326e76ee 21 while (true) {
mkersh3 0:e7ca326e76ee 22 ret = sock.receive(buffer, sizeof(buffer)-1);
mkersh3 0:e7ca326e76ee 23 if (ret <= 0)
mkersh3 0:e7ca326e76ee 24 break;
mkersh3 0:e7ca326e76ee 25 buffer[ret] = '\0';
mkersh3 0:e7ca326e76ee 26 printf("Received %d chars from server:\n%s\n", ret, buffer);
mkersh3 0:e7ca326e76ee 27 }
mkersh3 0:e7ca326e76ee 28
mkersh3 0:e7ca326e76ee 29 sock.close();
mkersh3 0:e7ca326e76ee 30
mkersh3 0:e7ca326e76ee 31 eth.disconnect();
mkersh3 0:e7ca326e76ee 32
mkersh3 0:e7ca326e76ee 33 while(1) {}
mkersh3 0:e7ca326e76ee 34 }