ส่ง 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 ของระบบ

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

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

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

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

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

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