จาก แนวคิดนักเรียน ช่วงสั่งสินค้าเยอะๆ ทำกล่องส่งของให้แจ้งเตือนทางไลน์ ก็เลยออกมาเป็น Line Object Alert!!
อุปกรณ์
- NodeMUC
- IR Object sensor
- LED
- บอร์ดทดลอง
ขั้นตอนทำงาน
- สมัครและขอ Token ของ LINE Notify
- โปรแกรม – ทดสอบโปรแกรม
- จัดอุปกรณ์ – ทดสอบจัดอุปกรณ์
- นำเสนอ
เริ่มกันเลย…….
1. ขั้นตอนสมัครและขอ Token ของ LINE Notify มี 4 ขั้นตอนดังนี้
- เพิ่ม LINE Notify เป็นเพื่อน
โดยการสแกน QR Code นี้ หรือจาก https://notify-bot.line.me/my/
- ล็อกอิน LINE เพื่อขอ Token
ที่หน้านี้ https://notify-bot.line.me/my/ แล้วกดปุ่ม ออก Token Generate token
- ตั้งค่าการใช้งาน LINE Notify
กำหนดชื่อผู้ส่ง เช่น MyPatsadoo และเลือกกลุ่ม/ชื่อคนที่ต้องการส่งข้อความไปหา
ภาพประกอบจาก https://www.allnewstep.com/
- ขั้นตอนสุดท้าย รับ Token
ให้กรอกชื่อที่ใช่ส่งข้อมูลเข้า Line แล้วเลือกกลุ่มที่จะส่งข้อมูล กดปุ่ม “ออก Token” จะได้ค่า Token ให้ก็อปค่านี้ไว้ เพื่อนำไปใช้ในโปรแกรมของเรา เพียงเท่านี้ก็พร้อมส่งข้อความจาก NodeMCU ไปหา LINE แล้ว แต่ถ้าลืม สามารถ กลับไปทำตามข้อ 2 ขอรหัส Token ได้ใหม่ภาพประกอบจาก https://www.allnewstep.com/
2. ดาวน์โหลดและติดตั้งไลบารี
1. ดาวน์โหลดและติดตั้งไลบารี TridentTD_LineNotify ที่นี่
วิธีลง Library ให้ดูตัวอย่างในบทความนี้
3. เขียนโค๊ด ทดสอบกันเลย
ก็อปปี้โคดตัวอย่างลงบอร์ด NodeMCU ESP8266 โดยให้ตั้งค่า
- แก้ไขชื่อ SSID
- แก้ไข password ของ wifi ที่ใช้งาน
- กำหนดค่า TOKEN ที่ได้จาก LINE ดังโคดนี้
==โค๊ด==
———-CODE——————————-
#include <TridentTD_LineNotify.h>
#include <ESP8266WiFi.h>
#define WIFI_SSID “AP2”
#define WIFI_PASSWORD “0000000000”
#define LINE_TOKEN_PIR “GNMMN63yYZCrGSrbxpQIApSB0zcywpxPEQeyakXkQbh”
#define OBJECT D5
void setup() {
//เปิด Serial Monitor
Serial.begin(115200);
Serial.println();
pinMode(OBJECT, INPUT);
pinMode(D0, OUTPUT);
pinMode(LED_BUILTIN, OUTPUT);
digitalWrite(LED_BUILTIN, HIGH);
//ต่อ WIFI
WiFi.mode(WIFI_STA);
WiFi.begin(WIFI_SSID, WIFI_PASSWORD);
Serial.print(“connecting”);
while (WiFi.status() != WL_CONNECTED) {
Serial.print(“.”);
delay(500);
}
//ต่อได้แล้ว แสดงข้อความ + IP ทาง Serial Monitor
Serial.println();
Serial.print(“connected: “);
Serial.println(WiFi.localIP());
LINE.setToken(LINE_TOKEN_PIR);
//ตัวอย่างส่งข้อความ
//LINE.notify(“ทดสอบส่งข้อความ”); //ทดสอบส่งตอนเปิดเครื่อง
//LINE.notifySticker(“Hello”, 1, 2); // สติ๊กเกอร์หน้ายิ้ม
delay(5000);
}
void loop() {
//ต่อ WIFI ได้ เปิดไฟค้างไว้
if (WiFi.status() == WL_CONNECTED) {
digitalWrite(LED_BUILTIN, LOW);
} else {
digitalWrite(LED_BUILTIN, HIGH);
}
//ตรวจจับวัตถุ เมื่อมีวัตถุ ให้เปิด LED ขา D0 และส่ง Line
if(digitalRead(OBJECT)==0){
digitalWrite(D0, HIGH);
LINE.notify(“มีของมาส่งจ้าาาา”);
delay(1000);
} else{
digitalWrite(D0, LOW);
}
}