/**
ESP32 + DHT22 Example for Wokwi
https://wokwi.com/arduino/projects/322410731508073042
*/
#include "DHTesp.h"
#define DEEP_SLEEP_TIME 2
const int DHT1_PIN = 15;
const int DHT2_PIN = 12;
const int DHT3_PIN = 14;
const int DHT4_PIN = 27;
const int DHT5_PIN = 18;
const int DHT6_PIN = 19;
DHTesp dhtSensor1;
DHTesp dhtSensor2;
DHTesp dhtSensor3;
DHTesp dhtSensor4;
DHTesp dhtSensor5;
DHTesp dhtSensor6;
void goToDeepSleep(){
Serial.println("going to sleep...");
esp_sleep_enable_timer_wakeup(DEEP_SLEEP_TIME * 60 * 1000000);
esp_deep_sleep_start();
}
void setup() {
Serial.begin(115200);
dhtSensor1.setup(DHT1_PIN, DHTesp::DHT22);
dhtSensor2.setup(DHT2_PIN, DHTesp::DHT22);
dhtSensor3.setup(DHT3_PIN, DHTesp::DHT22);
dhtSensor4.setup(DHT4_PIN, DHTesp::DHT22);
dhtSensor5.setup(DHT5_PIN, DHTesp::DHT22);
dhtSensor6.setup(DHT6_PIN, DHTesp::DHT22);
outputTime();
outputTemps();
// delay(time_delay);
goToDeepSleep();
}
void outputTime() {
//TODO: SYNC Time with Internet
time_t now;
struct tm timeinfo;
time(&now);
localtime_r(&now, &timeinfo);
char strftime_buf[64];
// Set timezone to Eastern Standard Time and print local time
setenv("TZ", "EST5EDT,M3.2.0/2,M11.1.0", 1);
tzset();
localtime_r(&now, &timeinfo);
strftime(strftime_buf, sizeof(strftime_buf), "%c", &timeinfo);
Serial.println("The current date/time in New York is: " + String(strftime_buf));
}
void outputTemps() {
//TODO: refactor
TempAndHumidity data1 = dhtSensor1.getTempAndHumidity();
Serial.println("Temp1: " + String(data1.temperature, 2) + "°C");
Serial.println("Humidity1: " + String(data1.humidity, 1) + "%");
Serial.println("---");
// + String(gettimeofday(&tv_now, NULL)) + " ");
TempAndHumidity data2 = dhtSensor2.getTempAndHumidity();
Serial.println("Temp2: " + String(data2.temperature, 2) + "°C");
Serial.println("Humidity2: " + String(data2.humidity, 1) + "%");
Serial.println("---");
TempAndHumidity data3 = dhtSensor3.getTempAndHumidity();
Serial.println("Temp3: " + String(data3.temperature, 2) + "°C");
Serial.println("Humidity3: " + String(data3.humidity, 1) + "%");
Serial.println("---");
TempAndHumidity data4 = dhtSensor4.getTempAndHumidity();
Serial.println("Temp4: " + String(data4.temperature, 2) + "°C");
Serial.println("Humidity4: " + String(data4.humidity, 1) + "%");
Serial.println("---");
TempAndHumidity data5 = dhtSensor5.getTempAndHumidity();
Serial.println("Temp5: " + String(data5.temperature, 2) + "°C");
Serial.println("Humidity5: " + String(data5.humidity, 1) + "%");
Serial.println("---");
TempAndHumidity data6 = dhtSensor6.getTempAndHumidity();
Serial.println("Temp6: " + String(data6.temperature, 2) + "°C");
Serial.println("Humidity6: " + String(data6.humidity, 1) + "%");
Serial.println("---");
}
void loop() {
// outputTime();
// outputTemps();
// delay(time_delay);
}