#include <WiFi.h>
#include <HTTPClient.h>
#define ssid "SE.2/2ETECH"
#define password "SE.2/2goodboy"
// สร้าง token https://notify-bot.line.me/th
#define token "46L8dgMz8HxaJDEXdUCUkPhidmgyPzIATHYWJHGWJIA"
#define SW1 15
#define SW2 17
#define led1 18
void setup() {
Serial.begin(115200);
WiFi.begin(ssid, password, 6);
Serial.print("Connecting to WiFi.");
while(WiFi.status() != WL_CONNECTED) { // รอจนกว่าจะเชื่อมต่อ WiFi สำเร็จ
delay(1000);
Serial.print(".");
}
Serial.println("Connected to WiFi");
sendLineNotify("ระบบทำงานแล้วนรก");
pinMode(SW1, INPUT);
pinMode(SW2,INPUT);
pinMode(led1,OUTPUT);
}
void loop() {
if(WiFi.status() == WL_CONNECTED) { // ตรวจสอบการเชื่อมต่อ WiFi
int sw1State = digitalRead(SW1); // อ่านค่าจากเซ็นเซอร์ PIR
int sw2State = digitalRead(SW2);
if(sw1State == 0){
digitalWrite(led1,1);
sendLineNotify("LED1 ON"); // ส่งข้อความไปยังไลน์
}
if(sw2State == 0){
digitalWrite(led1,0);
sendLineNotify("LED1 OFF"); // ส่งข้อความไปยังไลน์
}
}
}
void sendLineNotify(String message) { // ฟังก์ชันส่งข้อความ
HTTPClient http;
http.begin("https://notify-api.line.me/api/notify");
http.addHeader("Authorization", "Bearer " + String(token));
http.addHeader("Content-Type", "application/x-www-form-urlencoded");
String encodedMessage = "message=" + urlEncode(message);
int httpCode = http.POST(encodedMessage);
if(httpCode > 0) {
String response = http.getString();
}
else {
Serial.println("Error");
}
http.end();
}
String urlEncode(String value) { // ฟังก์ชันเข้ารหัสข้อความผ่าน URL
String encodedValue = "";
char c;
for(size_t i = 0; i < value.length(); i++) {
c = value.charAt(i);
if(isAlphaNumeric(c)) {
encodedValue += c;
}
else {
encodedValue += String('%');
encodedValue += String(c, HEX);
}
}
return encodedValue;
}