Repository navigation
Expand file tree
/
Copy pathCode
More file actions
85 lines (72 loc) · 1.89 KB
/
Copy pathCode
File metadata and controls
85 lines (72 loc) · 1.89 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
#include <Wire.h>
#include <ESP8266WiFi.h>
#include <WiFiClientSecure.h>
#include <UniversalTelegramBot.h>
const char* ssid = "SSID";
const char* password = "PASSWORD";
#define BOTtoken "" //Enter Telegram Bot Token ID
#define CHAT_ID "" //Enter Telegram chat ID
#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 ");
}
}