diff options
Diffstat (limited to 'libraries/Bridge/examples/YahooWeather')
| -rw-r--r-- | libraries/Bridge/examples/YahooWeather/YahooWeather.ino | 94 | 
1 files changed, 0 insertions, 94 deletions
diff --git a/libraries/Bridge/examples/YahooWeather/YahooWeather.ino b/libraries/Bridge/examples/YahooWeather/YahooWeather.ino deleted file mode 100644 index b751e1d..0000000 --- a/libraries/Bridge/examples/YahooWeather/YahooWeather.ino +++ /dev/null @@ -1,94 +0,0 @@ -/* -  Yahoo Weather Forecast parser -  - http://developer.yahoo.com/weather/ - This sketch demonstrate how to use the Linux command line tools - to parse a simple XML file on the Arduino Yún. -  - First thing download the XML file from the Yahoo Weather service  - than use "grep" and "cut" to extract the data you want. -  - To find  the location ID of your location, browse or search for your  - city from the Weather home page. The location ID is in the URL for  - the forecast page for that city. -  - created 21 Jun 2013 - by Federico Vanzati -  - */ - -#include <Bridge.h> - -String locationID = "725003";  // Turin, Italy - -// table with keywords to search in the XML file -// the third column is the tag to the field -String forecast[10][3] = { -  "location",   "2",  "city", -  "condition",  "6",  "temperature", -  "condition",  "2",  "condition", -  "astronomy",  "2",  "sunrise", -  "astronomy",  "4",  "sunset", -  "atmosphere", "2",  "humidity", -  "atmosphere", "6",  "pressure", -  "wind",       "6",  "wind speed", -  "wind",       "4",  "wind direction", -  "wind",       "2",  "chill temperature"   -}; - - -void setup() { -  Bridge.begin(); -  Serial.begin(9600); -  while(!Serial); -   -  Serial.println("Weather Forecast for your location: \n"); -} - -void loop() { - -  for(int i=0; i<10; i++) { -     -    // Compose the request -     -    // curl is a program that connect to an URL an download the content -    // is used to get the weather forecast from yahoo in XML format -    String command = "curl -s ";  // -s is the silent option -    command += "http://weather.yahooapis.com/forecastrss";  // yahoo weather RSS service -    command += "?w=";  // query for the location -    command += locationID; -    //command += "\\&u=c";  // ask for celsius degrees -     -    // add a new process  -    // grep is used to extract a single line of content containig a search keyword form the XML -    command += " | ";  // pipe a new process -    command += "grep ";  -    command += forecast[i][0];  // word to search in the XML file - -    // add a new process  -    // cut is a program that split a text in different fields  -    // when encouter the passed  character delimiter -    command += " | ";  // pipe a new process -    command += "cut "; -    command += "-d \\\" ";  // -d parameter split the string every " char -    command += "-f ";  // -f parameter is to return the 6th splitted element  -    command += forecast[i][1]; // the field are already manually calculated and inserted in the forecast table - - -    Serial.print(forecast[i][2]); -    Serial.print("= "); -     -    // run the command -    Process wf; -    wf.runShellCommand(command); -     -    while(wf.available()>0) -    { -      Serial.print( (char)wf.read() ); -    } -  } -   -  //do nothing forevermore -  while(1);   -} -  | 
