#include <WiFi.h>
#include <HTTPClient.h>
#include <ArduinoJson.h>
const char* ssid = "Wokwi-GUEST";
const char* senha = "";
String url = "https://callback-iot.up.railway.app/data";
DynamicJsonDocument doc(50);
unsigned long ultimoHorario = 0;
// Temporizador: 10.000ms (10s)
unsigned long temporizador = 10000;
void setup() {
Serial.begin(115200);
WiFi.begin(ssid, senha);
Serial.println("Conectando Wi-Fi");
while(WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.print("\nConectado: IP ");
Serial.println(WiFi.localIP());
}
void loop() {
// Enviar conforme temporizador
if ((millis() - ultimoHorario) > temporizador) {
if(WiFi.status()== WL_CONNECTED) {
HTTPClient http;
http.begin(url.c_str());
int res = http.GET();
if (res > 0) {
Serial.print("HTTP Response code: ");
Serial.println(res);
String conteudo = http.getString();
Serial.println(conteudo);
DeserializationError erro = deserializeJson(doc, conteudo);
if (!erro) {
for (int i = 0; doc[i]; i++) {
float temp = doc[i]["temperature"];
float umid = doc[i]["humidity"];
float pres = doc[i]["pressure"];
Serial.print(temp);
Serial.print("°C, ");
Serial.print(umid);
Serial.print("%, ");
Serial.print(pres);
Serial.println("hPa");
}
}
else {
Serial.print("Erro JSON: ");
Serial.println(erro.f_str());
}
}
else {
Serial.print("ERRO HTTP: ");
Serial.println(res);
}
http.end();
}
else {
Serial.println("ERRO WiFi Desconectado.");
}
ultimoHorario = millis();
}
}