sdfghjjh
Dependencies: Adafruit_GFX WIZnetInterface mbed
Fork of Weather_Forecast_Helloworld_WIZwiki-W7500 by
Diff: main.cpp
- Revision:
- 15:c4e32b8b8130
- Parent:
- 13:6396875b2889
- Child:
- 16:60040aaa87df
diff -r 6396875b2889 -r c4e32b8b8130 main.cpp --- a/main.cpp Tue Apr 18 01:42:25 2017 +0000 +++ b/main.cpp Tue Jun 13 03:55:46 2017 +0000 @@ -3,9 +3,8 @@ #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 +19,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() { @@ -71,43 +29,55 @@ uint8_t mac_addr[6] = {0x00, 0x08, 0xDC, 0xff, 0xff, 0x25}; eth.init(mac_addr); //Use DHCP + + // phy link + do{ + phy_link = eth.ethernet_link(); + printf("..."); + wait(2); + }while(!phy_link); + printf("\r\n"); + + eth.connect(); + + printf("IP Address is %s\r\n\r\n", eth.getIPAddress()); + printf("MASK Address is %s\r\n\r\n", eth.getNetworkMask()); + printf("GATEWAY Address is %s\r\n\r\n", eth.getGateway()); + printf("MAC Address is %s\r\n\r\n", eth.getMACAddress()); while(1){ - - // phy link - do{ - phy_link = eth.ethernet_link(); - printf("..."); - wait(2); - }while(!phy_link); - printf("\r\n"); - - eth.connect(); - - printf("IP Address is %s\r\n\r\n", eth.getIPAddress()); - printf("MASK Address is %s\r\n\r\n", eth.getNetworkMask()); - printf("GATEWAY Address is %s\r\n\r\n", eth.getGateway()); - printf("MAC Address is %s\r\n\r\n", eth.getMACAddress()); - // TCP socket connect to openweather server //TCPSocketConnection sock; - sock.connect("api.openweathermap.org", 80); + char http_addr[]="api.openweathermap.org"; + int port=80; + //connect + /////////////////////////////////////////////////////////// + sock.connect(http_addr, port); + //////////////////////////////////////////////////////////// // 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 + /////////////////////////////////////////////////////// + + /////////////////////////////////////////////////////// // get data into buffer char buffer[2048]; int ret; while (true) { - ret = sock.receive(buffer, sizeof(buffer)-1); - if (ret <= 0) - break; + // break the while(), when don't received tha data + // save the data to buffer + // save the return value to ret + //receive data + ////////////////////////////////////////////////////// + + + + //////////////////////////////////////////////////// buffer[ret] = '\0'; printf("Received %d chars from server: %s\n", ret, buffer); } @@ -180,21 +150,12 @@ 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 - sock.close(); - eth.disconnect(); + //close + ////////////////////////////////////////////////// + ////////////////////////////////////////////////// /* * everytime in delay, request weather forecast */