#include <Arduino.h>
#include <DHT.h>
#include <ArduinoJson.h>
// --- Configuração do sensor DHT22 ---
#define DHTPIN 17 // GPIO do ESP32 (no Wokwi, conecte o DATA do DHT22 aqui)
#define DHTTYPE DHT22 // Tipo do sensor
DHT dht(DHTPIN, DHTTYPE);
// --- Configuração do JSON ---
const int TAMANHO = 200; // Tamanho do buffer JSON
void setup() {
Serial.begin(115200);
dht.begin(); // Inicializa o sensor
}
void loop() {
// Leitura dos sensores
float temp = dht.readTemperature(); // Temperatura em °C
float hum = dht.readHumidity(); // Umidade %
// Se falhar a leitura, sai do loop
if (isnan(temp) || isnan(hum)) {
Serial.println("{\"erro\":\"Falha ao ler DHT22\"}");
delay(2000);
return;
}
float jerseyTemp = temp + 1.5; // Simula temperatura da pele (camisa)
int heartRate = random(100, 180); // Batimentos cardíacos simulados
// --- Criação do objeto JSON ---
StaticJsonDocument<TAMANHO> json;
json["device"] = "esp32";
json["temp"] = temp;
json["hum"] = hum;
json["jerseyTemp"] = jerseyTemp;
json["heartRate"] = heartRate;
json["ts"] = millis();
// --- Serializa JSON e envia pela Serial USB ---
serializeJson(json, Serial);
Serial.println();
delay(5000); // Atualiza a cada 5 segundos
};