//Muhammad Zidane Dharmawan
//1911102441028
#include <WiFi.h>
#include <WiFiClient.h>
#include "DHTesp.h"
#include "CTBot.h"
DHTesp dhtSensor;
CTBot myBot;
String ssid = "Wokwi-GUEST";
String pass = "";
String token = "5898316145:AAFUZoBvOaCqaZZng5a1dYyZkTJoL3L_wsI";
const int DHT_PIN = 15;
const int lampu = LED_BUILTIN;
void sendSensor()
{
TempAndHumidity data = dhtSensor.getTempAndHumidity();
}
void setup() {
Serial.begin(9600);
Serial.println("Starting TelegramBot...");
myBot.wifiConnect(ssid, pass);
myBot.setTelegramToken(token);
if (myBot.testConnection())
Serial.println("\nKoneksi Ke Telegram BOT Berhasil!");
else
Serial.println("\nTidak Terkoneksi Ke Telegram BOT");
pinMode(lampu, OUTPUT);
digitalWrite(lampu, HIGH);
dhtSensor.setup(DHT_PIN, DHTesp::DHT22);
}
void loop() {
TempAndHumidity data = dhtSensor.getTempAndHumidity();
TBMessage msg;
if (myBot.getNewMessage(msg)) {
if (msg.text.equalsIgnoreCase("On")) { //Perintah dari telegram ke perangkat
digitalWrite(lampu, HIGH); //Lampu dihidupkan
Serial.println("\nLampu Dihidupkan");
myBot.sendMessage(msg.sender.id, "The Led is now ON"); //Balasan dari perangkat ke Bot Telegram
}
else if (msg.text.equalsIgnoreCase("Off")) { //Perintah dari telegram ke perangkat
digitalWrite(lampu, LOW); //Lampi dihidupkan
Serial.println("\nLampu Dimatikan");
myBot.sendMessage(msg.sender.id, "The Led is now OFF"); //Balasan dari perangkat ke Bot Telegram
}
else if (msg.text.equalsIgnoreCase("Cek Suhu")){
Serial.println("Temp: " + String(data.temperature, 2) + "°C");
Serial.println("Humidity: " + String(data.humidity, 1) + "%");
myBot.sendMessage(msg.sender.id, "Temperature : " + String(data.temperature, 2) + "°C"); //Balasan dari perangkat ke Bot Telegram
myBot.sendMessage(msg.sender.id, "Kelembapan : " + String(data.humidity, 1) + "%"); //Balasan dari perangkat ke Bot Telegram
}
else { // otherwise...
// generate the message for the sender
String reply;
reply = (String)"Welcome " + msg.sender.username + (String)". Silahkan gunakan perintah On, Off, Atau Cek Suhu.";
myBot.sendMessage(msg.sender.id, reply); // and send it
}
}
delay(500);
}