Prakiotakhir - Farhan Akbar - 2011102441147
Prakiotakhir - Farhan Akbar - 2011102441147
NIM : 2011102441147
Kelas : A
Project : https://wokwi.com/projects/352199719998264321
Syntax:
#include "CTBot.h"
#include <DHTesp.h>
CTBot myBot;
DHTesp dhtSensor;
CTBotReplyKeyboard Tbl;
CTBotInlineKeyboard TbLp1on, TbLp2on, TbLp1off, TbLp2off, TbLpAllon,
TbLpAlloff;
#define dhtPin 15
#define LAMPU_1_ON "Lampu_1_ON"
#define LAMPU_1_OFF "Lampu_1_OFF"
#define LAMPU_2_ON "Lampu_2_ON"
#define LAMPU_2_OFF "Lampu_2_OFF"
#define SEMUA_LAMPU_ON "Semua_Lampu_ON"
#define SEMUA_LAMPU_OFF "Semua_Lampu_OFF"
#define TIDAK "Tidak"
String Status_Lampu_1;
String Status_Lampu_2;
bool TampilkanTombol;
void setup() {
Serial.begin(115200);
Serial.println("Memulai Koneksi...");
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(Lampu1, OUTPUT);
pinMode(Lampu2, OUTPUT);
digitalWrite(Lampu1, HIGH);
digitalWrite(Lampu2, HIGH);
dhtSensor.setup(dhtPin, DHTesp::DHT22);
Tbl.addButton("LAMPU 1");
Tbl.addButton("LAMPU 2");
Tbl.addRow();
Tbl.addButton("SUHU");
Tbl.addButton("KELEMBAPAN");
Tbl.addRow();
Tbl.addButton("SEMUA LAMPU ON");
Tbl.addButton("SEMUA LAMPU OFF");
Tbl.addRow();
Tbl.addButton("SUHU & KELEMBAPAN");
Tbl.addRow();
Tbl.addButton("CEK STATUS");
Tbl.enableResize();
TampilkanTombol = false;
✅ Ya", LAMPU_1_ON,
TbLp1on.addButton("
CTBotKeyboardButtonQuery);
TbLp1on.addButton("❌ Tidak", TIDAK,
CTBotKeyboardButtonQuery);
✅ Ya", LAMPU_2_ON,
TbLp2on.addButton("
CTBotKeyboardButtonQuery);
TbLp2on.addButton("❌ Tidak", TIDAK,
CTBotKeyboardButtonQuery);
✅ Ya", LAMPU_2_OFF,
TbLp2off.addButton("
CTBotKeyboardButtonQuery);
TbLp2off.addButton("❌ Tidak", TIDAK,
CTBotKeyboardButtonQuery);
✅ Ya", SEMUA_LAMPU_ON,
TbLpAllon.addButton("
CTBotKeyboardButtonQuery);
TbLpAllon.addButton("❌ Tidak", TIDAK,
CTBotKeyboardButtonQuery);
✅ Ya", SEMUA_LAMPU_OFF,
TbLpAlloff.addButton("
CTBotKeyboardButtonQuery);
TbLpAlloff.addButton("❌ Tidak", TIDAK,
CTBotKeyboardButtonQuery);
}
void loop() {
float suhu = dhtSensor.getTemperature();
float kelembapan = dhtSensor.getHumidity();
TBMessage msg;
if (myBot.getNewMessage(msg)) {
if (msg.text.equalsIgnoreCase("/start")) {
myBot.sendMessage(msg.sender.id, "Halo pengguna \nSelamat
Datang Di Telegram Bot Kelas A IoT.\n\nGunakan tombol dibawah untuk
mengontrol lampu 👇", Tbl);
Serial.println("\nUser memulai Bot \n");
TampilkanTombol = true;
}
// lampu1
else if (msg.text.equalsIgnoreCase("LAMPU 1")) {
if (Lampu_1 == HIGH) {
myBot.sendMessage(msg.sender.id, "Saat ini Lampu 1 dalam
keadaan ON\nApakah anda ingin mematikan Lampu 1?", TbLp1off);
Serial.println("\nUser mengirim perintah 'Lampu 1' \nSaat
ini Lampu 1 dalam keadaan ON \n");
} else {
myBot.sendMessage(msg.sender.id, "Saat ini Lampu 1 dalam
keadaan OFF\nApakah anda ingin menyalakan Lampu 1?", TbLp1on);
Serial.println("\nUser mengirim perintah 'Lampu 1' \nSaat
ini Lampu 1 dalam keadaan OFF \n");
}
}
// lampu2
else if (msg.text.equalsIgnoreCase("LAMPU 2")) {
if (Lampu_2 == HIGH) {
myBot.sendMessage(msg.sender.id, "Saat ini Lampu 2 dalam
keadaan ON\nApakah anda ingin mematikan Lampu 2?", TbLp2off);
Serial.println("\nUser mengirim perintah 'Lampu 2' \nSaat
ini Lampu 2 dalam keadaan ON \n");
} else {
myBot.sendMessage(msg.sender.id, "Saat ini Lampu 2 dalam
keadaan OFF\nApakah anda ingin menyalakan Lampu 2?", TbLp2on);
Serial.println("\nUser mengirim perintah 'Lampu 2' \nSaat
ini Lampu 2 dalam keadaan OFF \n");
}
}
// Suhu
else if (msg.text.equalsIgnoreCase("SUHU")) {
Serial.println("Mengirim data suhu dan ke Telegram...");
String suhucuy;
suhucuy = (String)"Suhu yang diterima : " + suhu + "°C";
myBot.sendMessage(msg.sender.id, suhucuy);
}
// Kelembapan
else if (msg.text.equalsIgnoreCase("KELEMBAPAN")) {
Serial.println("Mengirim data kelembapan dan ke Telegram...");
String kelembapancuy;
kelembapancuy = (String)"Kelembapan yang diterima : " +
kelembapan + "%";
myBot.sendMessage(msg.sender.id, kelembapancuy);
}
// semualampuon
else if (msg.text.equalsIgnoreCase("SEMUA LAMPU ON")) {
myBot.sendMessage(msg.sender.id, "Apakah anda ingin
menyalakan Semua Lampu?", TbLpAllon);
Serial.println("\nUser ingin menyalakan semua lampu\n");
}
// semualampuoff
else if (msg.text.equalsIgnoreCase("SEMUA LAMPU OFF")) {
myBot.sendMessage(msg.sender.id, "Apakah anda ingin
mematikan Semua Lampu?", TbLpAlloff);
Serial.println("\nUser ingin mematikan semua lampu\n");
}
// suhudankelembapan
else if (msg.text.equalsIgnoreCase("SUHU & KELEMBAPAN")) {
Serial.println("Mengirim data Suhu dan Kelembapan
Telegram...");
String suhudankelembapan;
suhudankelembapan = (String)"Suhu yang diterima : " + suhu +
"°C" + "\n" + "Kelembapan yang diterima : " + kelembapan + "%";
myBot.sendMessage(msg.sender.id, suhudankelembapan);
}
// cekstatus
else if (msg.text.equalsIgnoreCase("CEK STATUS")) {
String suhucuy;
suhucuy = (String)" Suhu " + suhu + "°C";
String kelembapancuy;
kelembapancuy = (String)" Kelembapan " + kelembapan + "%";
if (Lampu_1 == HIGH) {
Status_Lampu_1 = "Lampu 1 ON";
} else {
Status_Lampu_1 = "Lampu 1 OFF";
}
if (Lampu_2 == HIGH) {
Status_Lampu_2 = "Lampu 2 ON";
} else {
Status_Lampu_2 = "Lampu 2 OFF";
}
Program: