Weather info from OPenweathermap.org with TCPClient on WIZwiki-W7500
Dependencies: WIZnetInterface mbed
Fork of TCPClient_HelloWorld_WIZwiki-W7500 by
Prerequisite
This example is for obtainning and printting data from server(OpenWeatherMap). WIZwiki-W7500 is TCP client mode.
To implement this function, you need a Platform board, network Interface board.
- WIZwiki-W7500 from WIZnet (Platform board and Ethernet I/F board)
Hardware Configuration
WIZwiki-W7500 Pin map
Software
Select the city
char http_cmd0[] = "GET /data/2.5/weather?q=Seoul,kr&appid="; char http_cmd1[] = API_key; char http_cmd2[] = " HTTP/1.0\n\n"; sock.send_all(http_cmd0, sizeof(http_cmd0)-1); sock.send_all(http_cmd1, sizeof(http_cmd1)-1); sock.send_all(http_cmd2, sizeof(http_cmd2)-1);
Caution
This example requires an API key that can be obtained by signning up to the openweathmap site. //
Revision 3:7b25a01a7f62, committed 2017-04-06
- Comitter:
- jcm931213
- Date:
- Thu Apr 06 12:13:11 2017 +0000
- Parent:
- 2:c4fef61e151d
- Commit message:
- Revert mac_addr and eth.init
Changed in this revision
main.cpp | Show annotated file Show diff for this revision Revisions of this file |
diff -r c4fef61e151d -r 7b25a01a7f62 main.cpp --- a/main.cpp Thu Apr 06 11:50:11 2017 +0000 +++ b/main.cpp Thu Apr 06 12:13:11 2017 +0000 @@ -10,10 +10,10 @@ int phy_link; uart.baud(115200); uart.printf("Wait a second...\r\n"); - //uint8_t mac_addr[6] = {0x00, 0x08, 0xDC, 0x00, 0x01, 0x02}; + uint8_t mac_addr[6] = {0x00, 0x08, 0xDC, 0x00, 0x01, 0x02}; EthernetInterface eth; - + eth.init(mac_addr); //Use DHCP eth.connect(); do{ @@ -23,7 +23,7 @@ }while(!phy_link); uart.printf("\r\n"); - uart.printf("IP Address is %s\r\n", eth.getIPAddress()); + uart.printf("IP Address is %s\r\n\n", eth.getIPAddress()); TCPSocketConnection sock; sock.connect("api.openweathermap.org", 80); @@ -43,7 +43,7 @@ ret = sock.receive(buffer, sizeof(buffer)-1); if (ret <= 0) break; buffer[ret] = '\0'; - uart.printf("Received %d chars from server: %s\n", ret, buffer); + uart.printf("--Received %d chars from server:\r\n %s\r\n\n", ret, buffer); } sock.close();