//Bibliotecas----------------------------------------------------------
#include <WiFi.h>
#include <ThingSpeak.h>
//Constantes e variáveis-----------------------------------------------
//Credenciais WiFi
char ssid[] = "Wokwi-GUEST"; // Rede WiFi - SSID (nome)
char pass[] = ""; // Senha da rede WiFi
WiFiClient client;
unsigned long myChannelNumber = 2632428; //ThingSpeak Channel ID
const char * myReadAPIKey = "JXBH503RAVGYBZDO"; //ThingSpeak Channel Read API Key
int x; //Variável para receber dados do ThingSpeak
const int LED = 4; //Constante ref. LED
//Inicialização de entradas, saídas, WiFi e ThingSpeak-----------------
void setup() {
// Inicia o Serial Monitor
Serial.begin(115200);
// Conectar ao WiFi
WiFi.begin(ssid, pass);
Serial.print("Conectando-se a rede WiFi: ");
Serial.println(ssid);
while(WiFi.status() != WL_CONNECTED){
Serial.print(".");
delay(5000);
}
Serial.println("");
Serial.println("WiFi conectado!");
Serial.print("Endereço IP: ");
Serial.println(WiFi.localIP()); //Exibe o endereço IP
ThingSpeak.begin(client); // Inicializa o ThingSpeak
pinMode(LED, OUTPUT); //Config. pino LED como saída
}
//Prgrama principal----------------------------------------------------
void loop() {
// Faz a leitura dos dados no ThingSpeak.
// Há 8 fields no canal, e é possível ler 8 diferentes dados
// em um canal. Aqui iremos ler o field 1.
x = ThingSpeak.readLongField(myChannelNumber, 1, myReadAPIKey);
//Repassamos a leitura 0 ou 1 para o HIGH/LOW do digitalWrite digitalWrite
(LED,x); //Repassa o valor recebido do ThingSpeak para o estado do pino
Serial.println(x);
delay(15000); // Aguarda 15 segundos para atualizar o canal(versão gratuita limita 15 seg)
}