#include <WiFi.h> // Biblioteca standard de WiFi pentru ESP32
#include "DHT.h" // Biblioteca pentru senzorul DHT
// Configurare Senzor
#define DHTPIN 15 // Pinul GPIO la care am conectat senzorul
#define DHTTYPE DHT22 // Tipul senzorului (DHT11 sau DHT22)
DHT dht(DHTPIN, DHTTYPE); // Inițializăm senzorul
// Configurare WiFi pe Wokwi
const char* ssid = "Wokwi-GUEST"; // Numele rețelei virtuale de pe Wokwi
const char* password = ""; // Parola este goală pe rețeaua virtuală
// Detalii server de test (folosim o adresă publică pentru teste IoT)
const char* server_url = "http://httpbin.org/get";
void setup() {
Serial.begin(111500); // Inițializăm portul Serial pentru a vedea datele
dht.begin(); // Pornim senzorul
// Începem conexiunea la WiFi
Serial.print("Conectare la WiFi: ");
Serial.println(ssid);
WiFi.begin(ssid, password); // Comandă ESP32 să se conecteze
// Așteptăm până se conectează (Wokwi simulează această întârziere)
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("Conectat la WiFi cu succes!");
Serial.print("Adresa IP: ");
Serial.println(WiFi.localIP()); // Afișăm IP-ul primit virtual
}
void loop() {
// Citim datele de la senzor
float umiditate = dht.readHumidity();
float temperatura = dht.readTemperature();
// Verificăm dacă citirea a reușit
if (isnan(umiditate) || isnan(temperatura)) {
Serial.println("Eroare la citirea senzorului!");
return;
}
// Afișăm datele în consola Serial locală
Serial.print("Umiditate: "); Serial.print(umiditate); Serial.print("% ");
Serial.print("Temperatura: "); Serial.print(temperatura); Serial.println("°C");
// Aici ar urma partea de trimitere a datelor către server.
// Pentru cel mai simplu test, doar vom simula un GET request către serverul nostru de test.
if(WiFi.status()== WL_CONNECTED){ // Dacă suntem încă conectați la WiFi
Serial.println("Trimitere date către server... simulată.");
// Într-un proiect real de master, aici s-ar folosi biblioteca HTTPClient.h
// pentru a face un request gen httpbin.org/get?temp=24.5&hum=50
}
delay(5000); // Așteptăm 5 secunde înainte de următoarea citire
}