//C++ Code for Turn on/off a LED by AGS
#include <WiFi.h>
#include <ThingSpeak.h>
// Configuración de red WiFi
const char* ssid = "Wokwi-GUEST"; // Nombre de la red WiFi
const char* contrasena = ""; // Contraseña de la red WiFi
// Configuración de ThingSpeak
unsigned long idCanal = 2790899; // Reemplaza con tu ID de canal
const char* claveAPIlectura = "LF5IJ2QASHLCSSXA"; // Reemplaza con tu clave de lectura
WiFiClient cliente;
int pinLuz = 12; // Pin donde está conectada la luz o el relé
void setup() {
Serial.begin(115200);
// Configurar el pin como salida
pinMode(pinLuz, OUTPUT);
// Conectar a la red WiFi
WiFi.begin(ssid, contrasena);
Serial.print("Conectando a WiFi...");
while (WiFi.status() != WL_CONNECTED) {
delay(100);
Serial.print(".");
}
Serial.println("Conectado a WiFi");
// Conectar a ThingSpeak
ThingSpeak.begin(cliente);
}
void loop() {//a continuación comentamos detenidamente el bucle que se repetirá infinito
int estadoLuz = ThingSpeak.readIntField(idCanal, 1, claveAPIlectura); // Creamos la variable estadoLuz con la lectura del dato que se encuentra en nuestro canal, en el field 1 y aportando como prueba la apikey de lectura
if (estadoLuz == 1) { //si estado de luz es 1, entonces hacer:
digitalWrite(pinLuz, HIGH); // Activamos el PIN 12 (que habiamos llamado PIN LUZ)
Serial.println("Luz encendida"); //escribimmos en el monitor en serie una frase
} else if (estadoLuz == 0) {
digitalWrite(pinLuz, LOW); // Apagar la luz
Serial.println("Luz apagada");
} else {
Serial.println("Error al leer el estado de la luz");
}
delay(100); // Esperar 0,1 segundo antes de la próxima lectura
}