weather forecast WIZwiki-W7500 for academy
Dependencies: Adafruit_GFX WIZnetInterface mbed
Fork of Weather_Forecast_Helloworld_WIZwiki-W7500 by
Diff: main.cpp
- Revision:
- 14:28b09c3f456b
- Parent:
- 13:6396875b2889
diff -r 6396875b2889 -r 28b09c3f456b main.cpp --- a/main.cpp Tue Apr 18 01:42:25 2017 +0000 +++ b/main.cpp Tue Jun 13 01:22:22 2017 +0000 @@ -2,11 +2,6 @@ #include "EthernetInterface.h" #include "Adafruit_SSD1306.h" -// W7500 onboard LED & Init -DigitalOut rled(LED1,1); -DigitalOut gled(LED2,0); -DigitalOut bled(LED3,1); - // I2C Class I2C i2c(PA_10,PA_9); @@ -20,47 +15,6 @@ TCPSocketConnection sock; -// LED desplay functions -void clean(){ - rled = 0; gled = 0; bled = 0; -} -void clouds(){ - rled = 1; gled = 1; bled = 1; -} -void thunderstorm(){ - while(1){ - rled = 0; gled = 0; bled = 0; - wait(0.5); - rled = 1; gled = 1; bled = 1; - wait(0.5); - }; -} -void rain(){ - rled = 1; gled = 1; bled = 0; -} -void mist(){ - while(1){ - rled = 1; gled = 1; bled = 0; - wait(0.5); - rled = 1; gled = 1; bled = 1; - wait(0.5); - }; -} -void haze(){ - rled = 0; gled = 1; bled = 0; -} -void fog(){ - while(1){ - rled = 1; gled = 0; bled = 0; - wait(1.0); - rled = 1; gled = 1; bled = 0; - wait(1.0); - }; -} -void error(){ - rled = 1; gled = 1; bled = 1; -} - int main() { @@ -70,16 +24,17 @@ //--------- Have to modify the mac address------------- uint8_t mac_addr[6] = {0x00, 0x08, 0xDC, 0xff, 0xff, 0x25}; - eth.init(mac_addr); //Use DHCP + + //Ethernet Init using DHCP + + ///////////////////// while(1){ - // phy link - do{ - phy_link = eth.ethernet_link(); - printf("..."); - wait(2); - }while(!phy_link); + // wait phy link... + + //////////////////// + printf("\r\n"); eth.connect(); @@ -91,23 +46,32 @@ // TCP socket connect to openweather server //TCPSocketConnection sock; - sock.connect("api.openweathermap.org", 80); - + + /////////////////////////////////////////// + // GET method, to request weather forecast - //char http_cmd[] = "GET /data/2.5/weather?q=Seoul,kr&appid=a0ca47dd7f6066404629b3e1ad728981 HTTP/1.0\n\n"; char http_cmd[] = "GET /data/2.5/weather?q=London,uk&appid=a0ca47dd7f6066404629b3e1ad728981 HTTP/1.0\n\n"; - //char http_cmd[] = "GET /data/2.5/weather?q=Berlin,de&appid=a0ca47dd7f6066404629b3e1ad728981 HTTP/1.0\n\n"; + - sock.send_all(http_cmd, sizeof(http_cmd)-1); + // send data(request) + + + ////////////////////////////////////////// + // get data into buffer char buffer[2048]; int ret; + + // receive data + while (true) { - ret = sock.receive(buffer, sizeof(buffer)-1); - if (ret <= 0) - break; + // break the while(), when received tha data + // save the data to ret + + + //////////////////////////////// buffer[ret] = '\0'; printf("Received %d chars from server: %s\n", ret, buffer); } @@ -179,16 +143,6 @@ gOled.printf("Temper : %d\n", temp); gOled.display(); gOled.setTextCursor(0,0); - - //LED display rely on weather condition - if(strcmp(weather_con,"Clouds")==0) clouds(); - else if(strcmp(weather_con,"Rain")==0) rain(); - else if(strcmp(weather_con,"Thunderstorm")==0) thunderstorm(); - else if(strcmp(weather_con,"Clean")==0) clean(); - else if(strcmp(weather_con,"Mist")==0) mist(); - else if(strcmp(weather_con,"Haze")==0) haze(); - else if(strcmp(weather_con,"Fog")==0) fog(); - else error(); //Disconnection