#include <WiFi.h>
#include <ThingESP.h>
#include <DHT.h>
#define DHTPIN 15
#define DHTTYPE DHT11 // DHT 11
DHT dht(DHTPIN, DHTTYPE);
ThingESP32 thing("dndi", "testled", "testled1");
int LED =26;
unsigned long previousMillis = 0;
const long INTERVAL = 6000;
void setup()
{
Serial.begin(115200);
pinMode(LED, OUTPUT);
thing.SetWiFi("Wokwi-GUEST","");
thing.initDevice();
}
String HandleResponse(String query)
{
float h = dht.readHumidity();
// Read temperature as Celsius (the default)
float t = dht.readTemperature();
// Read temperature as Fahrenheit (isFahrenheit = true)
float f = dht.readTemperature(true);
Serial.println("Temperature :");
Serial.print(t);
Serial.println("Humidity");
Serial.print(h);
String humid = "Humidity: " + String(h) + " % \n";
String temp = "Temperature: " + String(t) + "°C, " + String(f) + "°F \n";
if (query == "temperature") {
return temp;
}
else if (query == "humidity") {
return humid;
}
if (query == "led on"){
digitalWrite(LED, HIGH);
}
else if (query == "led off"){
digitalWrite(LED, LOW);
}
else return "Your query was invalid..";
if (query == "led on")
{
digitalWrite(LED, 1);
return "Done: LED Turned ON";
}
else if (query == "led off")
{
digitalWrite(LED, 0);
return "Done: LED Turned OFF";
}
else if (query == "led status")
return digitalRead(LED) ? "LED is ON" : "LED is OFF";
else
return "Your query was invalid..";
}
void loop()
{
// if (millis() - previousMillis >= INTERVAL)
// {
// previousMillis = millis();
// String msg = digitalRead(LED) ? "LED is ON" : "LED is OFF";
// thing.sendMsg("PHONE_NUMBER", msg);
// }
thing.Handle();
}