Line : Python ส่งรูปเข้า Line API Notify
โปรแกรมที่ต้องใช้ ในเครื่อง rasberry pi
- python 3 ขึ้นไป
- ติดตั้ง
- ติดตั้ง pip
- wget "https://bootstrap.pypa.io/get-pip.py"
- sudo python get-pip.py
1. เปิดใช้งาน Token ที่
https://notify-bot.line.me/สามารถทำเป็น User หรือ ทำเป็น Group ก็ได้
2. สร้าง Code python line.py
XXXX คือ Token ที่ได้จากข้อ 1.
Code
- import requests, json
- import urllib.parse
- import sys
-
- LINE_ACCESS_TOKEN = "XXXX" #Use Token Or Group Token https://notify-bot.line.me/
-
- URL_LINE = "https://notify-api.line.me/api/notify"
-
- def line_text(message):
- msg = urllib.parse.urlencode({"message":message})
- LINE_HEADERS = {'Content-Type':'application/x-www-form-urlencoded',"Authorization":"Bearer "+LINE_ACCESS_TOKEN}
- session = requests.Session()
- session_post = session.post(URL_LINE, headers=LINE_HEADERS, data=msg)
- print(session_post.text)
-
- def line_pic(message, path_file):
- file_img = {'imageFile': open(path_file, 'rb')}
- msg = ({'message': message})
- LINE_HEADERS = {"Authorization":"Bearer "+LINE_ACCESS_TOKEN}
- session = requests.Session()
- session_post = session.post(URL_LINE, headers=LINE_HEADERS, files=file_img, data=msg)
- print(session_post.text)
-
- if __name__ == "__main__":
- if len(sys.argv) < 3:
- # <Linux>
- # python line.py "Test"
- line_text(sys.argv[1])
- else:
- # <Linux>
- # python line.py "Test" "/home/pi/test.jpg"
- line_pic(sys.argv[1], sys.argv[2])
3. ทดลองส่งข้อความ
- python3 line_group.py "พบการเคลื่อนไหว"
จะมีข้อความแจ้ง
{"status":200,"message":"ok"}
และมีข้อความส่งไป Line
4. ส่งรูปใช้คำสั่ง
- python3 line.py "พบการเคลื่อนไหว" "/home/pi/3923-7.jpg"
ส่วนตัว Line Bot จะส่งได้เฉพาะรูปที่ผ่าน Link และต้องเป็น https เมื่อรูปถูกลบหรือเปลี่ยนชื่อ Line จะไม่สามารถแสดงผลรูป
ข้อจำกับ Line notify ส่งได้เดือนละ 1000 ครั้ง
https://notify-bot.line.me/doc/en/
ตัวอย่าง
https://maker.goisgo.net/raspberry-pi-webcam-cctv-line-notice/
https://medium.com/@dome.soda125/%E0%B8%A1%E0%B8%B2%E0%B8%AA%E0%B8%A3%E0%B9%89%E0%B8%B2%E0%B8%87-line-notification-%E0%B8%94%E0%B9%89%E0%B8%A7%E0%B8%A2-python-%E0%B8%81%E0%B8%B1%E0%B8%99%E0%B9%80%E0%B8%96%E0%B8%AD%E0%B8%B0-ab8ce98f0bd6
https://medium.com/dolab/blog-7-line-notify-with-python-8c9724796428
https://engineering.linecorp.com/en/blog/using-line-notify-to-send-stickers-and-upload-images/