Bonjour, je suis débutant sur arduino et j'aimerais pouvoir récupérer les données météo fournit par yahoo. J'ai trouvé ce code sur le forum mais impossible de le faire fonctionner. Je me demande si l'ip de yahoo et la bonne dans le code. Quelqu'un aurait une idée ?
#include <SPI.h>
#include <Ethernet.h>
#include <TextFinder.h>
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
byte ip[] = { 192, 168, 0, 222 };
byte gateway[] = { 192, 168, 0, 254 };
byte subnet[] = { 255, 255, 255, 0 };
// Server Yahoo
IPAddress server(87,248,122,181);
EthernetClient client;
TextFinder finder( client );
char place[50];
char hum[30];
void setup()
{
// Start Ehternet
Ethernet.begin(mac, ip);
// Start Serial Port
Serial.begin(9600);
Serial.println("Setup...");
}
void loop()
{
if (client.connect(server, 80))
{
// Call Wetter-API
// w: ID from your City
// http://weather.yahooapis.com/forecastrss?w=12893459&u=c
///
Serial.println("Connect to Yahoo Weather...");
client.println("GET /forecastrss?w=12893459&u=c HTTP/1.0");
client.println("HOST:weather.yahooapis.com\n\n");
client.println();
Serial.println("Connected...");
}
else
{
Serial.println(" connection failed");
}
if (client.connected())
{
// Humidity
if ( (finder.getString("<yweather:atmosphere humidity=\"", "\"",hum,4)!=0) )
{
Serial.print("Humidity: ");
Serial.println(hum);
}
else
{
Serial.print("No Humidity Data");
}
// Place/City
if ( (finder.getString("<title>Conditions for ", " ",place,50)!=0) )
{
Serial.print("City: ");
Serial.println(place);
}
// Temperature
if(finder.find("temp=") )
{
int temperature = finder.getValue();
Serial.print("Temp C: ");
Serial.println(temperature);
}
else
{
Serial.print("No Temperature Data");
}
// END XML
}
else
{
Serial.println("Disconnected");
}
client.stop();
client.flush();
delay(60000);
}
Désolé barbudor j'ai oublié de mettre le détail du moniteur série. J'ai du changement car j'arrive à me connecter mais je n'obtient aucune données météo.
Voici ce que dit le moniteur série avec le même code de mon deuxième post.
Setup...
Connect to Yahoo Weather...
Connected...
Disconnected
Si je remplace la partie comme tu me le demande j'ai une erreur de compilation sur la boucle "while" et le compilateur me dit que "while" n'est pas déclaré ???
PS: la traduction de l'interface de la version 1.0.1 de l'IDE et fausse. Dans édition au lieu de "Copier" il ont mis "Coller" lol.