ใช้งาน LINE NOTIFY ผ่าน NODE-RED

ใช้งาน LINE NOTIFY ผ่าน NODE-RED

เริ่มต้น ก่อนใช้งานเราต้องสร้าง TOKEN เพื่อใช้งาน LINE NOTIFY กันก่อนโดย เข้าไปเริ่มการใช้งานที่ https://notify-bot.line.me/th/

สำหรับการใช้งานบริการของ LINE NOTIFY นั้น ผู้ใช้ต้องลงทะเบียน LINE ACCOUNT ด้วย E-mail ไว้ก่อน หากใครยังไม่ได้ลงทะเบียนให้ดำเนินการขั้นตอนนี้ให้เรียบร้อยก่อนผ่านทาง Application LINE บนมือถือของแต่ละท่าน หากดำเนินการแล้ว เราสามารถเข้าสู่ระบบได้ด้วย E-mail และรหัสผ่านที่ลงทะเบียนไว้ได้ทันที

เมื่อเข้าสู่ระบบได้แล้วเราต้องทำการเปิดใช้บริการของ LINE NOTIFY เพื่อรับ TOKEN ในการใช้งาน จากเมนู “หน้าของฉัน”

เมื่อเข้ามาจะพบหน้ารายการของบริการที่เราสร้างไว้ หากยังไม่เคยสร้าง จะไม่ปรากฏรายการใดๆ ในที่นี้เราจะทำการสร้าง บริการขึ้นมาใหม่โดยใช้เมนูด้านล่าง

สร้างบริการด้วยการกดที่เมนู “ออก Token”

จะปรากฏหน้าต่างสำหรับกำหนดรายละเอียดของบริการของเราขึ้นมา โดยระบบจะให้เรากำหนดชื่อของบริการ กับเลือกว่าต้องการให้ มีการแจ้งเตือนไปที่ใด เราสามารถเลือกได้ทั้งแบบส่งหา Account ของเราเอง หรือ ว่าส่งแจ้งเตือนเข้าไปยังกลุ่มที่เรามีอยู่ได้ ในที่นี้เราจะเลือกเป็นส่งหาเราแบบตัวต่อตัว

ระบบจะแจ้ง Token สำหรับเข้าถึงบริการให้เรา ตรงนี้ให้เราทำสำเนาและบันทึกไว้เนื่องจากระบบจะไม่มีช่องทางให้เราเรียกดูได้อีกนอกจากลบและสร้างใหม่

เมื่อเราสร้างบริการเสร็จแล้วจะพบว่ามีรายการของบริการ เพิ่มขึ้นมาในรายการ ของบริการที่เชื่อมต่อ ตอนนี้บริการที่เราจะนำไปใช้พร้อมแล้ว จากนี้จะเป็นการสร้าง Flow บน NODE-RED เพื่อเรียกใช้งาน บริการของ LINE NOTIFY

เปิด Flow ที่ต้องการเพิ่มการทำงานของ LINE NOTIFY ขึ้นมา จากนั้นเพิ่ม widget ที่เกี่ยวข้องต่างๆลงไป ดังภาพ โดยหัวใจในการทำงานครั้งนี้คือ widget สำหรับการส่ง http request จากกลุ่มของ function

เมื่อวาง widget เรียบร้อยเราก็จะมาทำการเพิ่ม ในส่วนของค่าพารามิเตอร์ต่างๆเพื่อให้ node-red สามารถ ส่งการแจ้งเตือนไปยังบริการของ Line Notify ได้

การเรียกใช้ บริการของ LINE notify นั้นเปิดช่องทางการใช้งานไว้ที่ https://notify-api.line.me/api/notify และใช้วิธีการส่งข้อมูลแบบ POST เมื่อกำหนดค่าเรียบร้อยแล้วก็ทำการบันทึกด้วยการกดปุ่ม DONE

ในการสื่อสาร กับ server ของบริการ LINE กำหนดรูปแบบการสื่อสารไว้สำหรับการเรียกใช้บริการโดยผู้ใช้จะต้องทำการส่ง Token ไปยัง server ด้วยทุกครั้ง ผ่านทาง การกำหนด HEADER ของ HTTP REQUEST และส่งข้อความที่ต้องการส่งในส่วนของ BODY ซึ่งจะมีรูปแบบดังนี้


POST /api/notify HTTP/1.1\r\n
Host: notify-api.line.me\r\n
Authorization: Bearer {LINE TOKEN}\r\n
Content-Type: application/x-www-form-urlencoded\r\n
\r\n
message=แจ้งเตือน NOTIFY MESSAGE

จากรูปแบบ เราจะนำมากำหนดให้กับ widget ของ node-red เพื่อให้เกิดการทำงานที่สมบูรณ์ โดยการใช้ widget function ในการส่งค่าต่างๆเข้าไปยัง widget http request จากคำอธิบายของ widget http request เราจะสามารถกำหนดส่วนของ http header และ http body ได้โดยกำหนดที่ msg.headers และ msg.payload ในรูปแบบดังนี้


msg.headers = {'content-type':'application/x-www-form-urlencoded','Authorization':'Bearer 9rmA5Rh57w6mvQh3wTs8oWsLNt0mvjdcb9H1Wtjky6s'};
msg.payload = {"message":"สวัสดีจะเรามาเตือนนะ"};
return msg;

เมื่อเรากำหนดค่าทุกอย่างครบถ้วนแล้วเราสามารถ เริ่มใช้งานได้ทันที โดยการสั่ง Deploy จากนั้นทดลองด้วยการกดเรียกการทำงาน ทุกท่านจะได้รับการแจ้งเตือนตามข้อความที่กำหนดไว้ ปรากฏในหน้าต่างของโปรแกรม LINE ของแต่ละท่านทันที


ที่มาและแหล่งข้อมูล
https://notify-bot.line.me/th/
https://www.ioxhop.com/article/47/esp8266-esp8285-กับการส่งการแจ้งเตือนเข้า-line
https://medium.com/dev2pro/ทำ-line-notify-กันไหม-4a2a7d62ac05
https://www.igolf.in.th/2017/4637
https://medium.com/@nattaponsirikamonnet/มาลอง-line-notify-กันเถอะ-พื้นฐาน-65a7fc83d97f
http://iot.aerialcoms.com/th/โครงงาน/9-iot/9-using-line-messaging-api-with-node-red.html