#include "DHTesp.h"
#include "WiFi.h"
#include "HTTPClient.h"
#include "CTBot.h"
#define ldrPin 2
int LED = 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";
String token = "6028107999:AAEiyN8rS8bWHF9ULba4l2WaKXbeIrXt4w4";
DHTesp dhtSensor;
CTBot bot;
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(" ");
Serial.println(" Connected!");
dhtSensor.setup(DHT_PIN, DHTesp::DHT22);
bot.setTelegramToken(token);
if(bot.testConnection()){
Serial.println("Tele Terhubung");
}
else{
Serial.println("Gagal Terhubung");
digitalWrite(LED, LOW);
}
}
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.println("---");
WiFiClient client;
/*const int httpPort = 443;
if(!client.connect(host, httpPort)){
Serial.println("Connection Failed");
return;
}*/
String Link;
String respon;
HTTPClient http;
bot.sendMessage (1354426222,"Peringatan !!, keadaan di TKP sedang tidak baik \n\n--> Suhu : "+String(suhu)+" °C \n--> Kelembaban : "+String(kelembaban)+" % \n--> LDR : "+String(ldr)+" Lux");
Serial.println(" <Tele Terkirim>");
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.print("Whatsapp : ");
Serial.println(respon);
http.end();
delay(30000);
}