#include "DHTesp.h"
#include "WiFi.h"
#include "HTTPClient.h"
#define ldrPin 2
const int DHT_PIN = 15;
const float gama = 0.7;
const float rl10 = 50;
const char* noWa = "6283848095917";
int apikey = 7625616;
const char* host = "api.callmebot.com";
DHTesp dhtSensor;
void setup() {
Serial.begin(115200);
Serial.print("Connecting to WiFi.");
WiFi.begin("Wokwi-GUEST", "", 6);
while (WiFi.status() != WL_CONNECTED) {
delay(100);
Serial.print(".");
}
Serial.println(" Connected!");
dhtSensor.setup(DHT_PIN, DHTesp::DHT22);
}
void loop() {
TempAndHumidity data = dhtSensor.getTempAndHumidity();
float suhu = data.temperature; //nilai suhu
float kelembaban = data.humidity; //nilai kelembaban
int nilaiLDR = analogRead(ldrPin);
nilaiLDR = map(nilaiLDR, 4095, 0, 1024, 0); //mengubah nilai pembacaan sensor LDR dari nilai ADC arduino menjadi nilai ADC ESP32
float voltase = nilaiLDR / 1024.*5;
float resistansi = 2000 * voltase / (1-voltase/5);
int ldr = pow(rl10*1e3*pow(10,gama)/resistansi,(1/gama)); //nilai ldr
Serial.println("Temp: " + String(suhu) + "°C");
Serial.println("Humidity: " + String(kelembaban) + "%");
Serial.println("LDR: " + String(ldr)+" Lux");
Serial.print("---");
WiFiClient client;
/*const int httpPort = 443;
if(!client.connect(host, httpPort)){
Serial.println("Connection Failed");
return;
}*/
String Link;
String respon;
HTTPClient http;
Link = "http://api.callmebot.com/whatsapp.php?phone="+String(noWa)+"&text=Monitoring+Realtime+ESP32%0A%2D%2D%3E+Suhu+%3A+%2A"+String(suhu)+"+%C2%B0C%2A%0A%2D%2D%3E+Kelembaban+%3A+%2A"+String(kelembaban)+"+%25%2A%0A%2D%2D%3E+LDR+%3A+%2A"+String(ldr)+"+Lux%2A&apikey="+String(apikey);
//Link = "http://api.callmebot.com/whatsapp.php?phone=6283848095917&text=Monitoring+Sensor+ESP32&apikey=7625616";
//Link = "http://api.callmebot.com/whatsapp.php?phone="+String(noWa)+"&text=Monitoring+Realtime+ESP32%0A%2D%2D%3E+Suhu+%3A+"+String(suhu)+"+%C2%B0C"/*%0A%2D%2D%3E+Kelembaban+%3A+"+String(kelembaban)+"+%25%0A%2D%2D%3E+LDR+%3A+"+String(ldr)+*/"+Lux&apikey="+String(apikey);
http.begin(client, Link);
respon = http.POST(Link);
//String respon = http.getString();
Serial.println(respon);
http.end();
delay(20000);
}