#include <WiFi.h>
#include "esp_system.h"
#define LED 25
hw_timer_t *timer = NULL;
void IRAM_ATTR resetModule() {
ets_printf("reboot\n");
esp_restart();
}
#include <TridentTD_LineNotify.h> // include library ที่ เพิ่มไว้
#define SSID "Wokwi-GUEST" // WiFi name
#define PASSWORD "" // PASSWORD
#define LINE_TOKEN "tMqUhmKagEr2cWhIyLVHGzs6uBSBPyaJUkSqvXrWIOk" // TOKEN จาก Line Notify
//กำหนดขาที่เชื่อมต่อกับเซ็นเซอร์
byte sensorPin = 2;
void setup() {
pinMode(LED, OUTPUT);
//กำหนดให้ขาดิจิตอล sensorPin รับข้อมูลจากเซ็นเซอร์
pinMode(sensorPin, INPUT);
//ตั้งค่าคอนโซล
Serial.begin(115200);
//เริ่มการเชื่อมต่อกับ wifi
WiFi.begin(SSID, PASSWORD);
//แสดง "WiFi Connecting" ในคอนโซล
Serial.print("WiFi Connecting");
//ตรวจเช็คสถานะการเขื่อมต่อ wifi
//ถ้าไม่สำเร็จให้แสดง "." ในคอนโซลจนกว่าจะเขื่อมต่อได้
while (WiFi.status() != WL_CONNECTED) {
Serial.print(".");
delay(500);
}
Serial.begin(115200);
while (!Serial) {
;
}
WiFi.begin(SSID, PASSWORD);
Serial.printf("WiFi connecting to %s\n", SSID);
while (WiFi.status() != WL_CONNECTED) {
Serial.print(".");
delay(400);
}
Serial.printf("\nWiFi connected\nIP : ");
Serial.println(WiFi.localIP());
LINE.setToken(LINE_TOKEN);
}
void loop() {
byte state = digitalRead(sensorPin);
if (state == 1) { //หากมีการเคลื่อนไหว sensor จะมีค่าเป็น 1
digitalWrite(LED, HIGH);
delay(500);
Serial.println("Somebody is in this area!");
LINE.notify("พบผู้บุกรุก"); // ทำการส่งข้อความไปที่ Line
}
else if (state == 0) { //หากไม่มีการเคลื่อนไหว sensor จะมีค่าเป็น 0
Serial.println("Area Clear");
digitalWrite(LED, LOW);
delay(500);
}
delay(500);
}