BIMA-25 / Final_Project_KEL8

final project
1 stars 1 forks source link

TA-PROGRES 4 BIKIN CODE KONEKSI KE TELEGRAM #18

Closed BIMA-25 closed 1 year ago

BIMA-25 commented 1 year ago

SAMBIL COBA KIRIM PESAN NOTIVIKASI KE TELEGRAM

afifahfau246 commented 1 year ago

include

include

include

include

include

const char ssid = "PONDOK PUTRI AR-RASID"; const char password = "00000";

define BOTtoken "5925668002:AAHCW_enOyDJ63YlCFzUYKZZBXnF4KPW5GE"

define CHAT_ID "989675802"

String text;

WiFiClientSecure client; UniversalTelegramBot bot(BOTtoken, client);

const int MQ135Pin = A0; // Pin untuk sensor MQ135 const int AcetonThreshold = 500; // Ambang batas Aceton (PPM) const int NH4Threshold = 60; // Ambang batas NH4 (PPM) const int ToluenoThreshold = 100; // Ambang batas Tolueno (PPM) const int CO2Threshold = 1000; // Ambang batas CO2 (PPM) const int COThreshold = 80; // Ambang batas CO (PPM)

int botRequestDelay = 1000; unsigned long lastTimeBotRan;

float MQ135Value();

void handleNewMessages(int numNewMessages) { Serial.println("handleNewMessages"); Serial.println(String(numNewMessages));

for (int i = 0; i < numNewMessages; i++) { // Chat id of the requester String chat_id = String(bot.messages[i].chat_id); Serial.println(chat_id);

if (chat_id != CHAT_ID) {
  bot.sendMessage(chat_id, "Unauthorized user", "");
  continue;
}

String text = bot.messages[i].text;
Serial.println(text);

String from_name = bot.messages[i].from_name;

if (text == "/start") {
  String welcome = "Welcome, " + from_name + ".\n";
  welcome += "Use the following commands to control your outputs.\n\n";
  welcome += "/CO untuk melihat kadar CO di udara saat ini \n";
  welcome += "/CO2 untuk melihat kadar CO2 di udara saat ini \n";
  welcome += "/Tolueno untuk melihat kadar Tolueno di udara saat ini \n";
  welcome += "/NH4 untuk melihat kadar NH4 di udara saat ini \n";
  welcome += "/Aceton untuk melihat kadar Aceton di udara saat ini \n";

  bot.sendMessage(CHAT_ID, welcome, "");
}

if (MQ135Value() > AcetonThreshold) {
  String message = "PERINGATAN! Gas Aceton melebihi ambang batas bahaya!";
  bot.sendMessage(CHAT_ID, message, "");
}

if (MQ135Value() > NH4Threshold) {
  String message = "PERINGATAN! Gas NH4 melebihi ambang batas bahaya!";
  bot.sendMessage(CHAT_ID, message, "");
}

if (MQ135Value() > COThreshold) {
  String message = "PERINGATAN! Gas CO melebihi ambang batas bahaya!";
  bot.sendMessage(CHAT_ID, message, "");
}

if (MQ135Value() > CO2Threshold) {
  String message = "PERINGATAN! Gas CO2 melebihi ambang batas bahaya!";
  bot.sendMessage(CHAT_ID, message, "");
}

if (MQ135Value() > ToluenoThreshold) {
  String message = "PERINGATAN! Gas Tolueno melebihi ambang batas bahaya!";
  bot.sendMessage(CHAT_ID, message, "");
}

} }

float MQ135Value() { int value = analogRead(MQ135Pin); float voltage = value (5.0 / 4096.0); float RS_air = (5.0 - voltage) / voltage; float ratio = RS_air / 9.9; // Ratio RS/R0 pada udara bersih float ppm = pow(ratio, -1.179) 4.385; return ppm; }

void setup() { Serial.begin(115200);

WiFi.mode(WIFI_STA); WiFi.begin(ssid, password);

while (WiFi.status() != WL_CONNECTED) { delay(1000); Serial.println("Connecting to WiFi.."); }

Serial.println(WiFi.localIP()); client.setCACert(TELEGRAM_CERTIFICATE_ROOT); // Add root certificate for api.telegram.org bot.sendMessage(CHAT_ID, "Hallo", ""); }

void loop() { if (millis() > lastTimeBotRan + botRequestDelay) { int numNewMessages = bot.getUpdates(bot.last_message_received + 1);

while (numNewMessages) {
  Serial.println("got response");
  handleNewMessages(numNewMessages);
  numNewMessages = bot.getUpdates(bot.last_message_received + 1);
}
lastTimeBotRan = millis();

} }