Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: WIZnetInterface WIZwiki-W7500-lecture mbed
Fork of WIZwiki-W7500-lecture2-udp 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 | } | 
