ส่ง SMS ผ่าน Google calendar ด้วย gcalcli

Google calendar นั้นมีบริการส่ง SMS ไปยังโทรศัพท์มือถือของผู้ใช้ เพื่อแจ้งเตือนกิจกรรม ต่าง ๆ ในปฏิทิน โดยผู้ใช้ต้องยืนยันตัวตนกับ Google ก่อน การส่ง SMS เตือนนั้นจะมีค่าโดยปริยายคือ เตือนล่วงหน้า 10 นาที

ในบทความนี้เราจะสร้าง shell script ที่ใช้ส่ง SMS โดยความต้องการพื้นฐานมีดังนี้

  • ยืนยันตัวตนและหมายเลขโทรศัพท์มือถือกับ Google calendar
  • ติดตั้งโปรแกรม ntpdate เพื่อใช้ปรับเวลาเครื่องให้ตรง
  • ติดตั้งโปรแกรม gcalcli ซึ่งใช้ในการติดต่อกับ Google calendar

ในส่วนการยืนยันตัวตนและหมายเลขโทรศัพท์มือถือนั้น จะไม่กล่าวถึง

เริ่มด้วยติดตั้งโปรแกรม ntpdate และ gcalcli

$ sudo aptitude install ntpdate gcalcli

จากนั้นสร้าง shell script ที่ใช้ส่ง SMS

$ vi sms.sh

โดยรายละเอียดภายในเป็นดังนี้

#!/bin/bash

export LANG=th_TH.UTF-8 
DATE15=`date -d "15 min" +%H:%M%p`
echo "$DATE15 $@"
gcalcli --user <your_user@gmail.com> --pw <your_pass> quick "$DATE15 $@"

exit 0

ทำให้ executable

$ chmod +x sms.sh

การใช้งาน

ขั้นแรกเราต้องตั้งเวลาเครื่องให้ตรงก่อน

$ sudo ntpdate pool.ntp.org 0.debian.pool.ntp.org

จากนั้นสั่ง

$ ./sms.sh  "ข้อความที่ต้องการส่ง"

สคริปต์จะทำงานโดยตั้งโลแคลเป็นไทย เพื่อให้สามารถใช้ภาษาไทยได้ จากนั้นตั้งกิจกรรมล่วงหน้าไปอีก 15 นาที

ดังนั้น SMS จะส่งมาที่โทรศัพท์มือถือหลังจากเรียกสคริปต์เป็นเวลา 5 นาที (เพราะว่าค่าโดยปริยายของ Google calendar คือ เตือนล่วงหน้า 10 นาที หากต้องการให้ส่งเร็วกว่านี้ ก็สามารถแก้ได้) จากนั้น gcalcli จะเพิ่มกิจกรรมลงใน calendar ตามข้อความและเวลาที่เรากำหนด

การประยุกต์ใช้

ใช้ในการเตือนสำหรับผู้ดูแลระบบ ในกรณีที่เครื่องมีปัญหา เช่นฮาร์ดดิสก์เต็ม หรือ บริการบางอย่างไม่ทำงาน โดยปรับแต่งสคริปต์ให้ตรวจสอบเครื่อง และเพิ่ม ลงใน crontab ของระบบ

ใครมีแนวคิดในการประยุกต์ใช้ แสดงความเห็น พร้อมรายละเอียดมาเลยครับ

Comments

My sms.sh

root@Sutee-laptop:~# more sms.sh
#!/bin/bash

export LANG=th_TH.UTF-8
DATE15=`date -d "15 min" +%H:%M%p`
echo "$DATE15 $@"
gcalcli --user --pw quick "$DATE15 $@"

exit 0

error

root@Sutee-laptop:~# ./sms.sh
09:40AM
./sms.sh: line 6: sute2000@gmail.com: No such file or directory
root@Sutee-laptop:~#
root@Sutee-laptop:~#

T T

please help me

ไม่ต้องใส่เครื่องหมายน้อยกว่า, มากกว่า นะครับ อันนั้นเป็นสัญลักษณ์แทนเทอมทั่วไปที่คุณ Taniya ใช้เฉย ๆ

Creative Commons License ลิขสิทธิ์ของบทความเป็นของเจ้าของบทความแต่ละชิ้น
ผลงานนี้ ใช้สัญญาอนุญาตของครีเอทีฟคอมมอนส์แบบ แสดงที่มา-อนุญาตแบบเดียวกัน 3.0 ที่ยังไม่ได้ปรับแก้