#include <WiFi.h>
#include <HTTPClient.h>
#include <ArduinoJson.h>
const char* ssid = "Wokwi-GUEST";
const char* password = "";
const char* host = "opensky-network.org";
const int httpsPort = 443;
const String url = "/api/states/all";
void setup() {
Serial.begin(115200);
delay(10);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.println("Connecting to WiFi...");
}
Serial.println("Connected to WiFi");
HTTPClient client;
Serial.print("Connecting to ");
Serial.println(host);
if (!client.begin(host, httpsPort)) {
Serial.println("Connection failed");
return;
}
Serial.print("Requesting URL: ");
Serial.println(url);
int httpResponseCode = client.GET();
if (httpResponseCode != 200) {
Serial.print("Request failed. Error code: ");
Serial.println(httpResponseCode);
return;
}
String response = client.getString();
client.end();
DynamicJsonDocument doc(1024);
DeserializationError error = deserializeJson(doc, response);
if (error) {
Serial.print("deserializeJson() failed: ");
Serial.println(error.c_str());
return;
}
const JsonArray& data = doc["states"];
int maxFlights = 20;
int numFlights = std::min(maxFlights, data.size());
for (int i = 0; i < numFlights; i++) {
const JsonObject& flight = data[i].as<JsonObject>();
double latitude = flight["0"].as<double>();
double longitude = flight["1"].as<double>();
// نمایش اطلاعات هواپیما
Serial.print("Flight ");
Serial.println(i + 1);
Serial.print("ICAO24: ");
Serial.println(flight["2"].as<String>());
Serial.print("Callsign: ");
Serial.println(flight["1"].as<String>());
Serial.print("Latitude: ");
Serial.println(latitude);
Serial.print("Longitude: ");
Serial.println(longitude);
Serial.println();
}
}
void loop() {
// تکرار کد در این قسمت
}