WIZ Proto Makers 3th Network
Dependencies: WIZnetInterface mbed
Fork of WIZwiki-W7500-lecture by
main.cpp@0:d7c890f9ee69, 2015-06-25 (annotated)
- Committer:
- joon874
- Date:
- Thu Jun 25 03:01:49 2015 +0000
- Revision:
- 0:d7c890f9ee69
- Child:
- 2:ba228e5b659c
TCP Client Example to get weather info on WIZwiki-W7500
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
joon874 | 0:d7c890f9ee69 | 1 | #include "mbed.h" |
joon874 | 0:d7c890f9ee69 | 2 | #include "EthernetInterface.h" |
joon874 | 0:d7c890f9ee69 | 3 | |
joon874 | 0:d7c890f9ee69 | 4 | int main() { |
joon874 | 0:d7c890f9ee69 | 5 | |
joon874 | 0:d7c890f9ee69 | 6 | int phy_link; |
joon874 | 0:d7c890f9ee69 | 7 | printf("Wait a second...\r\n"); |
joon874 | 0:d7c890f9ee69 | 8 | uint8_t mac_addr[6] = {0x00, 0x08, 0xDC, 0x00, 0x01, 0x02}; |
joon874 | 0:d7c890f9ee69 | 9 | |
joon874 | 0:d7c890f9ee69 | 10 | EthernetInterface eth; |
joon874 | 0:d7c890f9ee69 | 11 | eth.init(mac_addr); //Use DHCP |
joon874 | 0:d7c890f9ee69 | 12 | eth.connect(); |
joon874 | 0:d7c890f9ee69 | 13 | |
joon874 | 0:d7c890f9ee69 | 14 | do{ |
joon874 | 0:d7c890f9ee69 | 15 | phy_link = eth.ethernet_link(); |
joon874 | 0:d7c890f9ee69 | 16 | printf("..."); |
joon874 | 0:d7c890f9ee69 | 17 | wait(2); |
joon874 | 0:d7c890f9ee69 | 18 | }while(!phy_link); |
joon874 | 0:d7c890f9ee69 | 19 | printf("\r\n"); |
joon874 | 0:d7c890f9ee69 | 20 | |
joon874 | 0:d7c890f9ee69 | 21 | printf("IP Address is %s\r\n", eth.getIPAddress()); |
joon874 | 0:d7c890f9ee69 | 22 | |
joon874 | 0:d7c890f9ee69 | 23 | TCPSocketConnection sock; |
joon874 | 0:d7c890f9ee69 | 24 | sock.connect("api.openweathermap.org", 80); |
joon874 | 0:d7c890f9ee69 | 25 | |
joon874 | 0:d7c890f9ee69 | 26 | |
joon874 | 0:d7c890f9ee69 | 27 | char http_cmd[] = "GET /data/2.5/weather?q=Seoul,kr HTTP/1.0\n\n"; |
joon874 | 0:d7c890f9ee69 | 28 | sock.send_all(http_cmd, sizeof(http_cmd)-1); |
joon874 | 0:d7c890f9ee69 | 29 | |
joon874 | 0:d7c890f9ee69 | 30 | char buffer[400]; |
joon874 | 0:d7c890f9ee69 | 31 | int ret; |
joon874 | 0:d7c890f9ee69 | 32 | while (true) { |
joon874 | 0:d7c890f9ee69 | 33 | ret = sock.receive(buffer, sizeof(buffer)-1); |
joon874 | 0:d7c890f9ee69 | 34 | if (ret <= 0) break; |
joon874 | 0:d7c890f9ee69 | 35 | buffer[ret] = '\0'; |
joon874 | 0:d7c890f9ee69 | 36 | printf("Received %d chars from server: %s\n", ret, buffer); |
joon874 | 0:d7c890f9ee69 | 37 | } |
joon874 | 0:d7c890f9ee69 | 38 | |
joon874 | 0:d7c890f9ee69 | 39 | sock.close(); |
joon874 | 0:d7c890f9ee69 | 40 | |
joon874 | 0:d7c890f9ee69 | 41 | eth.disconnect(); |
joon874 | 0:d7c890f9ee69 | 42 | |
joon874 | 0:d7c890f9ee69 | 43 | } |