วันศุกร์ที่ 14 เมษายน พ.ศ. 2560

ลองเล่น Line Notify บน Raspberry Pi


Raspberry Pi ถือเป็นคอมพิวเตอร์ที่มีขนาดเล็กมาก(เล็กกว่าฝ่ามือ)และที่สำคัญราคาน่าคบหา(ถูก)มาก เหมาะสำหรับจะนำมาทำโปรเจ็ค IoT วันนี้จะมานำเสนอวิธีการส่งการแจ้งเตือนผ่าน Line Notify เข้าไปยัง Line Application ในโทรศัพท์มือถือไม่ว่าจะเป็น Android, iPhone หรือระบบอื่นๆที่สามารถรัน Line Application ได้

ก่อนอื่นท่านต้องมี Line ID และได้ทำการเชื่อมต่อกับอีเมลล์แล้ว หากยังไม่มีให้ทำการเชื่อมต่ออีเมลล์กับ Line ID ให้เรียบร้อยก่อน จากนั้นให้สมัครใช้งาน Line Notify ที่ https://notify-bot.line.me/my/services/new

เมื่อทำการสมัครใช้งานเสร็จแล้วให้ทำการล็อคอินโดยไปที่ https://notify-bot.line.me/login
เมื่อล็อคอินเสร็จเรียบร้อยแล้วให้ไปที่เมนูและเลือกเมนู หน้าของฉัน ตามรูปด้านล่าง



จากนั้นให้คลิ๊กที่ปุ่ม ออก Token เพื่อสร้างโค้ดในการเชื่อมต่อเพื่อส่งข้อความ



เลือกห้องแชทที่จะทำการส่งข้อความและตั้งชื่อ(ตามต้องการ)


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


หลังจากปิดหน้า Token แล้วจะปรากฏหน้าที่แสดงรายการเชื่อมต่อที่ได้ทำการสร้าง Token แล้ว



และใน Line Application จะมีการส่งข้อความว่าระบบได้ทำการออก Token แล้ว


เริ่มทำการเขียนโปรแกรมใน Raspberry Pi



เขียนโปรแกรมโดยให้ python http.client library โดยเปลี่ยน token_key เป็น token ที่ได้จากการสร้างในขั้นตอนด้านบน การส่งข้อความจะเป็นแบบ HTTP POST จุดที่สำคัญคือ Headers จะมี Authorization เพิ่มขึ้นมา โดยส่วนนี้จะเป็นข้อกำหนดของ Line Notify สามารถศึกษาเพิ่มได้จากเอกสารอ้างอิงด้านล่าง ส่วน API Host ของ Line Notify นั้นคือ https://notify-api.line.me/api/notify หลังจากส่งข้อความไปยัง URL ดังกล่าวแล้ว Host จะส่งข้อความตอบกลับมา โดยข้อความที่ส่งกลับมาจะเป็นแบบ json



ทดลองรันตามคำสั่งด้านล่าง ถ้าหาก status เป็น 200 แสดงว่าส่งข้อความได้สำเร็จ



ข้อความที่ส่งจะโชว์ใน Line Application



จากตัวอย่างด้านบน เราสามารถนำ Line Notify ไปประยุกต์ใช้อย่างอื่นได้เช่น นำไปใช้ในการแจ้งเตือนการเปิดปิดประตู ตรวจจับการบุกรุก ฯลฯ

สำหรับการส่งข้อความและสติ๊กเกอร์ผ่าน Line Notify สามารถเข้าไปดูได้ตามเอกสารอ้างอิงด้านล่างนี้นะครับ
https://notify-bot.line.me/doc/en/
https://notify-bot.line.me/static/pdf/line-notify-api.pdf