ถ้าต้องการแจ้งเตือนในไลน์ครั้งเดียว เมื่อกด sw1,sw2,sw3 ค้าง แต่ปัญหาตอนนี้คือเมื่อกด sw1,sw2,sw3 ค้างแล้วแจ้งเตือนตลอด
#define BLYNK_PRINT Serial
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
char auth[] = "KuxlTgZO-K-xPLBVWeu_D5CA_fIwUxVL";
char ssid[] = "YodsawaDee";
char pass[] = "P0987563871";
#include <TridentTD_LineNotify.h>
char line_token[] = "3NkZT5p6Xs9W0oWrrqR6ml0D74EeUwCVwmkFXZvvhTS";
int Relay1 = D3;
int Relay2 = D4;
int Relay3 = D5;
int sw1 = D3;
int sw2 = D1;
int sw3 = D2;
BlynkTimer timer;
WidgetLED led1(V1);
WidgetLED led2(V2);
WidgetLED led3(V3);
void setup() {
Serial.begin(9600);
Blynk.begin(auth, ssid, pass);
pinMode (Relay1,OUTPUT);
pinMode (Relay2,OUTPUT);
pinMode (Relay3,OUTPUT);
pinMode(sw1,INPUT_PULLUP);
pinMode(sw2,INPUT_PULLUP);
pinMode(sw3,INPUT_PULLUP);
Serial.println(LINE.getVersion());
WiFi.begin(ssid, pass);
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);
LINE.notify("System Start Ready");
}
void loop() {
if (digitalRead(sw1) == LOW){
digitalWrite(Relay1, LOW);
led1.on();
LINE.notify("มอเตอร์ปั๊มน้ำทำงาน");
Serial.println("มอเตอร์ปั๊มน้ำทำงาน");
}else{
digitalWrite(Relay1, HIGH);
led1.off();
}
if (digitalRead(sw2) == LOW){
digitalWrite(Relay2, LOW);
led2.on();
LINE.notify("มอเตอร์ปั๊มน้ำมีปัญหา");
Serial.println("มอเตอร์ปั๊มน้ำมีปัญหา");
}else{
digitalWrite(Relay2, HIGH);
led2.off();
}
if (digitalRead(sw3) == LOW){
digitalWrite(Relay3, LOW);
led3.on();
LINE.notify("มอเตอร์ปั๊มน้ำหยุดทำงาน");
Serial.println("มอเตอร์ปั๊มน้ำหยุดทำงาน");
}else{
digitalWrite(Relay3, HIGH);
led3.off();
}
Blynk.run();
}
PUYIOT December 7, 2020, 2:44am #2
ตัวอย่าง ที่ @Remy_Martin ทำไว้ครับ ส่งline 1 ครั้ง
///// set button 1 ///
#include <TridentTD_LineNotify.h>
#define SSID "Eleceasy"
#define PASSWORD "Bb20072536"
#define LINE_TOKEN "DNi0g1Q9WuiBqhfTmKaHQWQdXXfIQ6qC0fpaH6MfJsu"
const int led = 5;
const int button = 16;
int temp = 0;
bool Lock = false;
void setup() {
Serial.begin(112500);
pinMode(led, OUTPUT);
pinMode(button, INPUT);
Serial.println(LINE.getVersion());
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 Token
LINE.setToken(LINE_TOKEN);
// ตัวอย่างส่งข้อความ
LINE.notify(String("Send to easyDemo ") + 10);
// ตัวอย่างส่งข้อมูล ตัวเลข
//LINE.notify(2342); // จำนวนเต็ม
//LINE.notify(212.43434,5); // จำนวนจริง แสดง 5 หลัก
// เลือก Line Sticker ได้จาก https://devdocs.line.me/files/sticker_list.pdf
//LINE.notifySticker(3,240); // ส่ง Line Sticker ด้วย PackageID 3 , StickerID 240
//LINE.notifySticker("Hello",1,2); // ส่ง Line Sticker ด้วย PackageID 1 , StickerID 2 พร้อมข้อความ
// ตัวอย่างส่ง รูปภาพ ด้วย url
//LINE.notifyPicture("https://preview.ibb.co/j6G51n/capture25610417181915334.png");
//LINE.notifyPicture("จตุธาตุ","https://www.fotoaparat.cz/storage/pm/09/10/23/670915_a5351.jpg");
}
void loop() {
temp = digitalRead(button);
if (temp == LOW) {
if(Lock == true){
digitalWrite(led, HIGH);
Serial.println("LED Turned ON");
LINE.notify("LED ON");
delay(1000);
Lock = false;
}
}
else {
if(Lock == false){
digitalWrite(led, LOW);
Serial.println("LED Turned OFF");
LINE.notify("LED OFF");
delay(1000);
Lock = true;
}
}
}