#include <WiFi.h>
#include <WiFiClientSecure.h>
#include <UniversalTelegramBot.h>
#include "DHT.h"
// Konfigurasi WiFi
const char* ssid = "Wokwi-GUEST";
const char* password = "";
// Token bot Telegram
#define BOT_TOKEN "8096462221:AAHDRRfuEiRpFWta3eaSbZMLgMjx2zG2LZM"
// ID chat Telegram (dapatkan dari bot)
#define CHAT_ID "7012465456"
// Konfigurasi DHT22
#define DHTPIN 14 // Pin DHT
#define DHTTYPE DHT22 // Tipe DHT (DHT22)
DHT dht(DHTPIN, DHTTYPE);
// Objek bot Telegram
WiFiClientSecure client;
UniversalTelegramBot bot(BOT_TOKEN, client);
void setup() {
// Inisialisasi serial monitor
Serial.begin(9600);
Serial.println("DHT 22 dengan Telegram");
// Inisialisasi DHT
dht.begin();
// Hubungkan ke WiFi
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.println("Menghubungkan ke WiFi...");
}
Serial.println("WiFi Terhubung!");
Serial.print("IP Address: ");
Serial.println(WiFi.localIP());
// Konfigurasi koneksi aman untuk Telegram
client.setInsecure(); // Untuk menghindari validasi sertifikat
}
void loop() {
delay(1000);
// Baca suhu dan kelembaban
float h = dht.readHumidity();
float t = dht.readTemperature();
// Periksa jika pembacaan gagal
if (isnan(h) || isnan(t)) {
Serial.println("Gagal membaca dari sensor DHT!");
return;
}
// Cetak ke serial monitor
Serial.print("Temperature: ");
Serial.print(t);
Serial.print(" *C\t");
Serial.print("Humidity: ");
Serial.print(h);
Serial.println(" %");
// Kirim data ke Telegram
String message = "🔥 Suhu: " + String(t) + "°C\n💧 Kelembaban: " + String(h) + "%";
bot.sendMessage(CHAT_ID, message, "");
}