#include "CTBot.h"
#include "DHT.h"
CTBot myBot;
DHT dht(15, DHT22);
String ssid = "Wokwi-GUEST";
String pass = "";
String token = "6180616294:AAGLCi_ba8S--CIeCVC-9Zm2AO8w2v4Ak8E";
void setup() {
Serial.begin(9600);
pinMode(LED_BUILTIN, OUTPUT);
digitalWrite(LED_BUILTIN, LOW);
Serial.println("TelegramBot membaca sensor DHT22");
dht.begin();
delay(2000);
if (myBot.wifiConnect(ssid, pass))
Serial.println("\nOk wifi");
else
Serial.println("\nnot Ok wifi");
myBot.setTelegramToken(token);
if (myBot.testConnection())
Serial.println("\ntestConnection OK");
else
Serial.println("\ntestConnection NOK");
}
void loop() {
TBMessage msg;
// membaca suhu dan kelembapan
float t = dht.readTemperature();
float h = dht.readHumidity();
if (myBot.getNewMessage(msg)) {
Serial.println(msg.text);
if (msg.text.equalsIgnoreCase("READ TEMP")) {
myBot.sendMessage(msg.sender.id, "Suhu: " + String(t) + "*C");
}
else if (msg.text.equalsIgnoreCase("READ HUM")) {
myBot.sendMessage(msg.sender.id, "Kelembaban: " + String(h) + "%");
}
else {
String reply;
reply = (String)"Halo " + msg.sender.username + (String)". Coba perintah READ TEMP or READ HUM.";
myBot.sendMessage(msg.sender.id, reply);
}
}
// memberikan peringatan jika suhu lebih dari 30 derajat celcius
if (t > 30) {
digitalWrite(LED_BUILTIN, HIGH);
myBot.sendMessage(msg.sender.id, "Suhu PANAS sekitar "+ String(t) + "*C");
}
else{
digitalWrite(LED_BUILTIN, LOW);
}
delay(500);
}