top of page

void Line_Notify(String message) ;
#include <ESP8266WiFi.h>
#include <WiFiClientSecureAxTLS.h>

#define WIFI_SSID "wasanshow"
#define WIFI_PASSWORD "wasanshow"
#define LINE_TOKEN "lDxLpHt0jAs5b8UEuUXKbNMSpGbg4mkazUhth5wk4RD"

String message = "%E0%B8%9D%E0%B8%99%E0%B8%95%E0%B8%81";//เปลี่ยน
//String message1 = "%E0%B8%9B%E0%B8%B4%E0%B8%94%E0%B9%84%E0%B8%9F";//เปลี่ยน

int ledPin = D3;
int analogPin = A0; //ประกาศตัวแปร  
int val = 0; 

void setup(){
  
  Serial.begin(9600);
  pinMode(ledPin, OUTPUT);  // sets the pin as output
  pinMode(analogPin, INPUT);
  WiFi.mode(WIFI_STA);
  WiFi.begin(WIFI_SSID, WIFI_PASSWORD);
  Serial.print("connecting");

  while (WiFi.status() != WL_CONNECTED) {
    Serial.println(".");
    delay(500);
  }
  Serial.println();
  Serial.print("connected: ");
  Serial.println(WiFi.localIP());

  }


void loop() {
  
  val = analogRead(analogPin);  //อ่านค่าสัญญาณ analog ที่ต่อกับ LDR
  Serial.print("val = "); // พิมพ์ข้อมความส่งเข้าคอมพิวเตอร์ "val = "
  Serial.println(val); // พิมพ์ค่าของตัวแปร val
  if (val < 500) { // ค่า 100 สามารถกำหนดปรับได้ตามค่าแสงในห้องต่างๆ
    digitalWrite(ledPin,HIGH ); // สั่งให้ LED สว่าง
    Line_Notify(message);
    delay(10000);
    }
  else {
    digitalWrite(ledPin,LOW ); // สั่งให้ LED ดับ
    //Line_Notify(message1);
  }
  delay(1000);
  
}
void Line_Notify(String message) {
  axTLS::WiFiClientSecure client; // กรณีขึ้น Error ให้ลบ axTLS:: ข้างหน้าทิ้ง

  if (!client.connect("notify-api.line.me", 443)) {
    Serial.println("connection failed");  
    return;
  }
  
  
  String req = "";
  req += "POST /api/notify HTTP/1.1\r\n";
  req += "Host: notify-api.line.me\r\n";
  req += "Authorization: Bearer " + String(LINE_TOKEN) + "\r\n";
  req += "Cache-Control: no-cache\r\n";
  req += "User-Agent: ESP8266\r\n";
  req += "Connection: close\r\n";
  req += "Content-Type: application/x-www-form-urlencoded\r\n";
  req += "Content-Length: " + String(String("message=" + message).length()) + "\r\n";
  req += "\r\n";
  req += "message=" + message;
  // Serial.println(req);
  client.print(req);
    
  delay(20);

  // Serial.println("-------------");
  while(client.connected()) {
    String line = client.readStringUntil('\n');
    if (line == "\r") {
      break;
    }
    //Serial.println(line);
  }
  // Serial.println("-------------");
}

bottom of page