
ECE4180 lab2 part 5
Dependencies: EthernetInterface mbed-rtos mbed
Fork of TCPSocket_HelloWorld by
main.cpp@15:da930157dc32, 2015-10-06 (annotated)
- 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?
User | Revision | Line number | New 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 | } |