#include <WiFi.h>
#include <HTTPClient.h>
#include <ArduinoJson.h>
const char* ssid = "Wokwi-GUEST";
const char* password = "";
const char* apiEndpoint = "https://8000-axelcarrill-iotbackwowk-upei094zfbm.ws-us106.gitpod.io/dispositivos/1";
int ledPin = 14;
void setup() {
Serial.begin(115200);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.println("Conectando a WiFi...");
}
Serial.println("Conectado a WiFi");
pinMode(ledPin, OUTPUT);
}
void loop() {
// Realizar la solicitud HTTP cada 5 segundos
static unsigned long lastUpdateTime = 0;
const unsigned long interval = 5000;
if (millis() - lastUpdateTime >= interval) {
lastUpdateTime = millis();
// Realizar la solicitud HTTP
HTTPClient http;
http.begin(apiEndpoint);
int httpCode = http.GET();
if (httpCode > 0) {
if (httpCode == HTTP_CODE_OK) {
String payload = http.getString();
Serial.println("Consulta exitosa:");
Serial.println(payload);
// Crear un objeto JSON para procesar la respuesta
DynamicJsonDocument doc(1024);
deserializeJson(doc, payload);
// Obtener el valor del campo 'valor'
int ledStatus = doc["valor"];
// Controlar el LED según el valor obtenido
if (ledStatus == 1) {
// Encender el LED
Serial.println("Encender LED = 1");
digitalWrite(ledPin, HIGH);
} else if (ledStatus == 0) {
// Apagar el LED
Serial.println("Apagar LED = 0");
digitalWrite(ledPin, LOW);
}
} else {
Serial.print("Error en la consulta HTTP, código: ");
Serial.println(httpCode);
}
} else {
Serial.println("Error en la conexión HTTP");
}
http.end();
}
// Tu código del bucle principal aquí
}