Tuesday, June 7, 2022

IoT Project ESP8266 with Telegram Messenger with PIR

 #include <Wire.h>

#include <LiquidCrystal_I2C.h>

#include <ESP8266WiFi.h>

#include <WiFiClientSecure.h>

#include <UniversalTelegramBot.h>



LiquidCrystal_I2C lcd (0x27, 16, 2);

const char* ssid = "rkk";

const char* password = "rkk@1234";



#define BOTtoken "5527844175:AAEh2wPs0BtABXxfJSTjN_1wC-rr1JFu_oo"

#define CHAT_ID "Lyallbot"


#define Sensor D0

#define LEDR D3

#define LEDG D4

#define Buzzer D5


X509List cert(TELEGRAM_CERTIFICATE_ROOT);

WiFiClientSecure client;

UniversalTelegramBot bot(BOTtoken, client);



void setup() {

  Serial.begin(115200);

  lcd.init();

  lcd.backlight();

  Wire.begin(D2, D1);

  configTime(0, 0, "pool.ntp.org");      // get UTC time via NTP

  client.setTrustAnchors(&cert); // Add root certificate for api.telegram.org


  pinMode(Sensor, INPUT);

  pinMode(LEDR, OUTPUT);

  pinMode(LEDG, OUTPUT);

  pinMode(Buzzer, OUTPUT);


  WiFi.mode(WIFI_STA);

  WiFi.begin(ssid, password);


  int a = 0;

  while (WiFi.status() != WL_CONNECTED) {

    Serial.print(".");

    lcd.setCursor(a, 0);

    lcd.print(".");

    delay(500);

    a++;

  }


  Serial.println("");

  lcd.clear();

  lcd.setCursor(0, 0);

  lcd.print("WiFi connected");

  Serial.println("WiFi connected");

  Serial.print("IP address: ");

  lcd.setCursor(0, 1);

  lcd.print(WiFi.localIP());

  Serial.println(WiFi.localIP());

  delay(500);


  bot.sendMessage(CHAT_ID, "System started", "");

  lcd.clear();

  lcd.setCursor(0, 0);

  lcd.print("System started");

  delay(1000);

  lcd.clear();

}

void loop() {

  bool value = digitalRead(Sensor);

  Serial.println(value);

  if (value == 1) {

    Serial.println("Motion Detected");

    digitalWrite(LEDR, HIGH);

    digitalWrite(Buzzer, HIGH);

    digitalWrite(LEDG, LOW);

    lcd.setCursor(0, 0);

    lcd.print("Motion Detected");

    bot.sendMessage(CHAT_ID, "Motion detected!!", "");

  } else if (value == 0) {

    digitalWrite(LEDR, LOW);

    digitalWrite(Buzzer, LOW);

    digitalWrite(LEDG, HIGH);

    lcd.setCursor(0, 0);

    lcd.print("No Motion      ");

  }

}

No comments:

Post a Comment

Control led light using remote

 // Include IR Remote Library by Ken Shirriff #include <IRremote.h> // Define sensor pin const int RECV_PIN = 4; // Define LED pin #de...