diff --git a/esp32_home-assistan_telegram.ino b/esp32_home-assistan_telegram.ino new file mode 100644 index 0000000..5cfd0be --- /dev/null +++ b/esp32_home-assistan_telegram.ino @@ -0,0 +1,257 @@ +#include +#include +#include // Universal Telegram Bot Library written by Brian Lough: https://github.com/witnessmenow/Universal-Arduino-Telegram-Bot +#include +#include +#include +#include "DHT.h" +#define DHTPIN 14 +#define DHTTYPE DHT11 +DHT meraklimuhendis(DHTPIN, DHTTYPE); +// Replace with your network credentials +const char* ssid = ""; +const char* password = ""; +#define BOTtoken "" // your Bot Token (Get from Botfather) +#define CHAT_ID "" +WiFiClientSecure client; +UniversalTelegramBot bot(BOTtoken, client); +// Checks for new messages every 1 second. +int botRequestDelay = 1000; +unsigned long lastTimeBotRan; + +int deger; +int i = 0; +int g = 0; +int ledState = 0; +int alarmm = 0; +int button = 0; +int buzzerPin = 15; +int buttonPin = 16; +const int earthqSensor = 0; // Earthquake Sensor +const int ledPin = 4; // Flash Pin +const int motionSensor = 12; // PIR Motion Sensor +const int gasSensor = 13; // Toxic Gas Sensor +const int waterSensor = 2; // Water Sensor +bool motionDetected = false; +bool gasDetected = false; +bool waterDetected = false; +bool useMotion = true; +bool useGas = true; +bool useWater = true; +bool useTemperature = true; +bool useEartq = true; +int useBuzzer = 0;//Alarm kullanildigi zaman sensorleri kullanma +int veri = 0; +int publicbuzzer = 0;//ses acma kapama +int alarmBuzzer = 0;//alarm sensorlerinde sensor ac kapat +int a = 0; +int b = 0; +int c = 0; + +// Indicates when motion is detected +void IRAM_ATTR detectsMovement() { + //Serial.println("MOTION DETECTED!!!"); + motionDetected = true; +} +void IRAM_ATTR detectsToxic() { + //Serial.println("TOXIC GAS DETECTED!!!"); + gasDetected = true; +} +void IRAM_ATTR detectsWater() { + //Serial.println("WATER DETECTED!!!"); + waterDetected = true; +} + +// Handle what happens when you receive new messages +void handleNewMessages(int numNewMessages) { + //Serial.println("handleNewMessages"); + //Serial.println(String(numNewMessages)); + veri=0;//Gelen verinin anlaşılıp anlaşılmadığını bize iletiyor. + for (int i=0; i34 && useTemperature){ + bot.sendMessage(CHAT_ID, "Fire detected!!", ""); + Serial.println("Fire Detected"); + if(useBuzzer){ + alarmBuzzer = 1; + digitalWrite(buzzerPin,alarmBuzzer);} + } + } + 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(); + } +}