/**
ESP32 + DHT22 Example for Wokwi
https://wokwi.com/arduino/projects/322410731508073042
*/
#include <WiFi.h>
#include <HTTPClient.h>
#include "DHTesp.h"
#include "ThingSpeak.h"
const int DHT_PIN = 15;
const int LED_PIN = 13;
const char* WIFI_NAME = "Wokwi-GUEST";
const char* WIFI_PASSWORD = "";
const char* serverName = "http://168.138.124.25/php_app/add.php";
DHTesp dhtSensor;
WiFiClient client;
void setup() {
Serial.begin(115200);
dhtSensor.setup(DHT_PIN, DHTesp::DHT22);
pinMode(LED_PIN, OUTPUT);
WiFi.begin(WIFI_NAME, WIFI_PASSWORD);
while (WiFi.status() != WL_CONNECTED){
delay(1000);
Serial.println("Wifi not connected");
}
Serial.println("Wifi connected !");
Serial.println("Local IP: " + String(WiFi.localIP()));
WiFi.mode(WIFI_STA);
ThingSpeak.begin(client);
}
void loop() {
delay(60000);
TempAndHumidity data = dhtSensor.getTempAndHumidity();
ThingSpeak.setField(1,data.temperature);
ThingSpeak.setField(2,data.humidity);
if (data.temperature > 35 || data.temperature < 12 || data.humidity > 70 || data.humidity < 40) {
digitalWrite(LED_PIN, HIGH);
}else{
digitalWrite(LED_PIN, LOW);
}
Serial.println("Temp: " + String(data.temperature, 2) + "°C");
Serial.println("Humidity: " + String(data.humidity, 1) + "%");
if(WiFi.status() == WL_CONNECTED){
HTTPClient http;
// Inicia o cliente
http.begin(serverName);
http.addHeader("Content-Type", "application/x-www-form-urlencoded");
// Cria os dados a serem enviados
String httpRequestData = "temp1=" + String(data.temperature, 2) + "&hum1=" + String(data.humidity, 1);
int httpResponseCode = http.POST(httpRequestData);
if (httpResponseCode>0) {
String response = http.getString();
Serial.println(httpResponseCode);
Serial.println(response);
}
else {
Serial.print("Erro no código: ");
Serial.println(httpResponseCode);
}
// Encerra a conexão
http.end();
}
else {
Serial.println("Erro na conexão WiFi");
}
delay(600000);
}