ECE4180 lab2 part 5

Dependencies:   EthernetInterface mbed-rtos mbed

Fork of TCPSocket_HelloWorld by mbed official

Committer:
ycai47
Date:
Tue Oct 06 19:24:51 2015 +0000
Revision:
15:da930157dc32
Parent:
11:59dcefdda506
4180 lab2 part 5

Who changed what in which revision?

UserRevisionLine numberNew contents of line
donatien 0:bb128f0e952f 1 #include "mbed.h"
donatien 0:bb128f0e952f 2 #include "EthernetInterface.h"
donatien 0:bb128f0e952f 3
ycai47 15:da930157dc32 4 Serial pc(USBTX, USBRX); // tx, rx
ycai47 15:da930157dc32 5
ycai47 15:da930157dc32 6 extern "C" void mbed_mac_address(char *mac);
ycai47 15:da930157dc32 7
emilmont 7:65188f4a8c25 8 int main() {
ycai47 15:da930157dc32 9
ycai47 15:da930157dc32 10 // to get the mac address of the mbed
ycai47 15:da930157dc32 11 char mac[6];
ycai47 15:da930157dc32 12 mbed_mac_address(mac);
ycai47 15:da930157dc32 13 for(int i=0; i<6;i++) {
ycai47 15:da930157dc32 14 printf("%02X ", mac[i]);
ycai47 15:da930157dc32 15 }
ycai47 15:da930157dc32 16 printf("\n");
ycai47 15:da930157dc32 17
donatien 0:bb128f0e952f 18 EthernetInterface eth;
donatien 0:bb128f0e952f 19 eth.init(); //Use DHCP
donatien 0:bb128f0e952f 20
ycai47 15:da930157dc32 21 pc.printf("Testing Init");
ycai47 15:da930157dc32 22 int err = eth.connect(15000);
ycai47 15:da930157dc32 23 if (err != 0 ) {
ycai47 15:da930157dc32 24 pc.printf("Error in connection error code is %d. \n", err);
ycai47 15:da930157dc32 25 } else {
ycai47 15:da930157dc32 26 // exit(1);
ycai47 15:da930157dc32 27 }
ycai47 15:da930157dc32 28 pc.printf("IP Address is %s\n", eth.getIPAddress());
emilmont 7:65188f4a8c25 29 TCPSocketConnection sock;
donatien 0:bb128f0e952f 30 sock.connect("mbed.org", 80);
donatien 0:bb128f0e952f 31
emilmont 9:4757a976148d 32 char http_cmd[] = "GET /media/uploads/mbed_official/hello.txt HTTP/1.0\n\n";
emilmont 11:59dcefdda506 33 sock.send_all(http_cmd, sizeof(http_cmd)-1);
emilmont 7:65188f4a8c25 34
emilmont 9:4757a976148d 35 char buffer[300];
donatien 0:bb128f0e952f 36 int ret;
emilmont 7:65188f4a8c25 37 while (true) {
emilmont 9:4757a976148d 38 ret = sock.receive(buffer, sizeof(buffer)-1);
emilmont 7:65188f4a8c25 39 if (ret <= 0)
emilmont 7:65188f4a8c25 40 break;
emilmont 9:4757a976148d 41 buffer[ret] = '\0';
emilmont 9:4757a976148d 42 printf("Received %d chars from server:\n%s\n", ret, buffer);
emilmont 7:65188f4a8c25 43 }
donatien 0:bb128f0e952f 44
emilmont 7:65188f4a8c25 45 sock.close();
donatien 0:bb128f0e952f 46
emilmont 7:65188f4a8c25 47 eth.disconnect();
donatien 5:01f6c3e112af 48
emilmont 9:4757a976148d 49 while(1) {}
donatien 0:bb128f0e952f 50 }