TCP Client, WIZwiki-W7500ECO. It will get weather of South Korea from openweathermap.org

Dependencies:   WIZnetInterface mbed

Fork of TCPClient_HelloWorld by jehoon song

You are viewing an older revision! See the latest version

Homepage

Prerequisite

This example is for obtainning and printting data from server(OpenWeatherMap). WIZwiki-W7500ECO is TCP client mode.

To implement this function, you need a Platform board, network Interface board.

  • WIZwiki-W7500ECO from WIZnet (Platform board and Ethernet I/F board)

Hardware Configuration

WIZwiki-W7500ECO Pin map

http://wizwiki.net/wiki/lib/exe/fetch.php?media=products:wizwiki-w7500eco:wizwiki-w7500eco_detailpinout.png


Software

Select the city

  1. include "mbed.h"
  2. include "EthernetInterface.h"

int main() {

int phy_link; printf("Wait a second...\r\n"); uint8_t mac_addr[6] = {0x00, 0x08, 0xDC, 0x1c, 0xa8, 0x95};

EthernetInterface eth; eth.init(mac_addr); Use DHCP eth.connect();

do{ phy_link = eth.ethernet_link(); printf("..."); wait(2); }while(!phy_link); printf("\r\n");

printf("IP Address is %s\r\n", eth.getIPAddress());

TCPSocketConnection sock; sock.connect("api.openweathermap.org", 80);

char http_cmd[] = "GET /data/2.5/weather?q=Seoul,kr HTTP/1.0\n\n"; sock.send_all(http_cmd, sizeof(http_cmd)-1);

char buffer[400]; int ret; while (true) { ret = sock.receive(buffer, sizeof(buffer)-1); if (ret <= 0) break; buffer[ret] = '\0'; printf("Received %d chars from server: %s\n", ret, buffer); }

sock.close();

eth.disconnect();

} <</code>>


All wikipages