Closed Bartje007 closed 2 months ago
// Replace with your network credentials
const char* ssid = "";
const char* password = "";
// Replace with your latitude and longitude
const float latitude = 3.7395;
const float longitude = 51.1016;
// OpenWeatherMap API key
const char* apiKey = "ri79Qbraj0TY33oWkNEg3C2LtoWdGe44AC3XrvUb";
void setup() {
Serial.begin(9600);18:42 14/07/2024
connectToWiFi();
getWeatherData();
}
void loop() {
// Nothing to do here
}
void connectToWiFi() {
Serial.println("Connecting to WiFi...");
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.println("Connecting to WiFi..."); }
Serial.println("Connected to WiFi");
}
void getWeatherData() {
HTTPClient http;"
String url = "https://api.nasa.gov/mars-photos/api/v1/rovers/curiosity/photos?sol=1000&camera=fhaz&api_key="ri79Qbraj0TY33oWkNEg3C2LtoWdGe44AC3XrvUb"
String payload = http.getString();
Serial.println("Received API response:");
Serial.println(payload);
parseWeatherData(payload); } else {
Serial.print("Error getting weather data: ");
Serial.println(httpResponseCode); }
http.end();
}
void parseWeatherData(String jsonData) {
StaticJsonDocument<2000> doc; // Adjust the size according to your JSON
DeserializationError error = deserializeJson(doc, jsonData);
size_t jsonSize = jsonData.length();
Serial.print("JSON size: ");
Serial.println(jsonSize);
// Check for parsing errors
if (error) {
Serial.print("deserializeJson() failed: ");
Serial.println(error.c_str());
return; }
// Extract data
const char* cod = doc["cod"];
Serial.print("cod: ");
Serial.println(cod);
int cnt = doc["cnt"];
Serial.print("cnt: ");
Serial.println(cnt);
JsonArray list = doc["list"];
for (JsonObject obj : list) {
int dt = obj["dt"];
Serial.print("dt: ");
Serial.println(dt);
float temp = obj["main"]["temp"];
Serial.print("temp: ");
Serial.println(temp);
const char* description = obj["weather"][0]["description"];
Serial.print("description: ");
Serial.println(description);
int humidity = obj["main"]["humidity"];
Serial.print("humidity: ");
Serial.println(humidity);
float windSpeed = obj["wind"]["speed"];
Serial.print("wind speed: ");
Serial.println(windSpeed);
Serial.println(); // for readability }
}
``
// Replace with your network credentials
const char* ssid = "";
const char* password = "";
// Replace with your latitude and longitude
const float latitude = 3.7395;
const float longitude = 51.1016;
// OpenWeatherMap API key
const char* apiKey = "ri79Qbraj0TY33oWkNEg3C2LtoWdGe44AC3XrvUb";
void setup() {
Serial.begin(9600);18:42 14/07/2024
connectToWiFi();
getWeatherData();
}
void loop() {
// Nothing to do here
}
void connectToWiFi() {
Serial.println("Connecting to WiFi...");
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.println("Connecting to WiFi...");
}
Serial.println("Connected to WiFi");
}
void getWeatherData() {
HTTPClient http;"
String url = "https://api.nasa.gov/mars-photos/api/v1/rovers/curiosity/photos?sol=1000&camera=fhaz&api_key="ri79Qbraj0TY33oWkNEg3C2LtoWdGe44AC3XrvUb"
String payload = http.getString();
Serial.println("Received API response:");
Serial.println(payload);
parseWeatherData(payload);
} else {
Serial.print("Error getting weather data: ");
Serial.println(httpResponseCode);
}
http.end();
}
void parseWeatherData(String jsonData) {
StaticJsonDocument<2000> doc; // Adjust the size according to your JSON
DeserializationError error = deserializeJson(doc, jsonData);
size_t jsonSize = jsonData.length();
Serial.print("JSON size: ");
Serial.println(jsonSize);
// Check for parsing errors
if (error) {
Serial.print("deserializeJson() failed: ");
Serial.println(error.c_str());
return;
}
// Extract data
const char* cod = doc["cod"];
Serial.print("cod: ");
Serial.println(cod);
int cnt = doc["cnt"];
Serial.print("cnt: ");
Serial.println(cnt);
JsonArray list = doc["list"];
for (JsonObject obj : list) {
int dt = obj["dt"];
Serial.print("dt: ");
Serial.println(dt);
float temp = obj["main"]["temp"];
Serial.print("temp: ");
Serial.println(temp);
const char* description = obj["weather"][0]["description"];
Serial.print("description: ");
Serial.println(description);
int humidity = obj["main"]["humidity"];
Serial.print("humidity: ");
Serial.println(humidity);
float windSpeed = obj["wind"]["speed"];
Serial.print("wind speed: ");
Serial.println(windSpeed);
Serial.println(); // for readability
}
}
include
include
include
// Replace with your network credentials
const char* ssid = "";
const char* password = "";
// Replace with your latitude and longitude
const float latitude = 3.7395;
const float longitude = 51.1016;
// OpenWeatherMap API key
const char* apiKey = "ri79Qbraj0TY33oWkNEg3C2LtoWdGe44AC3XrvUb";
void setup() {
Serial.begin(9600);18:42 14/07/2024
connectToWiFi();
getWeatherData();
}
void loop() {
// Nothing to do here
}
void connectToWiFi() {
Serial.println("Connecting to WiFi...");
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
}
Serial.println("Connected to WiFi");
}
void getWeatherData() {
HTTPClient http;"
String url = "https://api.nasa.gov/mars-photos/api/v1/rovers/curiosity/photos?sol=1000&camera=fhaz&api_key="ri79Qbraj0TY33oWkNEg3C2LtoWdGe44AC3XrvUb"
} else {
}
http.end();
}
void parseWeatherData(String jsonData) {
StaticJsonDocument<2000> doc; // Adjust the size according to your JSON
DeserializationError error = deserializeJson(doc, jsonData);
size_t jsonSize = jsonData.length();
Serial.print("JSON size: ");
Serial.println(jsonSize);
// Check for parsing errors
if (error) {
}
// Extract data
const char* cod = doc["cod"];
Serial.print("cod: ");
Serial.println(cod);
int cnt = doc["cnt"];
Serial.print("cnt: ");
Serial.println(cnt);
JsonArray list = doc["list"];
for (JsonObject obj : list) {
}
}