วันนี้จะมาเขียนวิธีการแจ้งเตือนของ QNAP โดยใช้ Line Notify ด้วยวิธีง่ายๆกันครับ
สิ่งที่ต้องเตรียมคือ
1. NAS ของ QNAP (ปูหัวเรื่องขนาดนี้แล้ว คงเป็นยี่ห้ออื่นไม่ได้)
2. Web Server ที่สามารถรัน PHP และสามารถออกอินเตอร์เน็ตได้ จะเป็นเครื่องที่ตั้งอยู่ภายในบ้านก็ได้ หรือจะใช้เว็บโฮสติ้งฟรี หรือเสียเงินก็ได้ (แบบเสียเงินลองดูที่ www.jaideawhosting.com นะครับ…. แอบขายของ :D)
เมื่อเตรียมสิ่งที่ต้องการพร้อมแล้ว ก็มาเริ่มกันเลย
- ให้ Log in เข้าไปใน QNAP โดยไปที่เมนู Control Panel จากนั้นเลื่อกที่ Notification
จากนั้นเลือกที่ Tab SMS
- จากนั้นให้คลิกเลือก Add SMS service provider ในส่วนของ SMS service provider
จากนั้นให้ใส่ข้อมูลลงในช่อง SMS service provider และ URL template text โดยที่
SMS service provider = ให้ตั้งชื่ออะไรก็ได้ เช่น Line-Notify
URL template text = URL ที่จะรับค่าที่ QNAP ส่งไป โดยเราจะใช้ PHP ในการเขียน ซึ่งจะยกตัวอย่าง code ในขั้นตอนต่อไป โดยรูปแบบมีดังนี้[code]
http://192.168.100.11/line-notify/line-notify.php?username=@@Username@@&password=@@Password@@&message=@@Text@@&&phone=@@PhoneNumber@@
[/code]โดยในส่วนของ http://192.168.100.11/line-notify/line-notify.php ให้เปลี่ยนตาม URL และชื่อไฟล์ PHP
จากนั้นกด Apply
- ในส่วนของ SMS service provider เลือกชื่อที่เราได้สร้างไป จากนั้นให้ใส่ username, password ตามที่ต้องการ และให้จำเอาไว้ด้วย เนื่องจากต้องไปใช้ในขั้นตอนการเขียน code PHP และในส่วนของ When the following system events occur. ให้ติ๊กเลือกตามต้องการ โดยมีให้เลือก 2 อย่างคือ Error และ Firmware Update แต่จะไม่มีการแจ้งเตือน Warning ซึ่งจะมีแจ้งเตือนในส่วนของอีเมลเท่านั้น และในส่วนสุดท้ายคือ เบอร์โทร จะต้องใส่ลงไปด้วย หากไม่ใส่ ระบบจะไม่สามารถทำงานได้
จากนั้นก็กด Apply - มาถึงขั้นตอนการเขียน code PHP โดยผมจะนำ code ที่ได้แนะนำครั้งที่แล้ว ลองใช้งาน LINE Notify ด้วย PHP มาเขียนอย่างง่ายๆครับ[php]
<?phpif( ($_GET[‘username’] == ‘admin’) && ($_GET[‘password’ == ‘12345’]) )
{
$message = $_GET[‘message’];
$token = ‘token ที่สร้างไว้’;$ch = curl_init();
curl_setopt( $ch, CURLOPT_URL, "https://notify-api.line.me/api/notify");
curl_setopt( $ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt( $ch, CURLOPT_POST, 1);
curl_setopt( $ch, CURLOPT_POSTFIELDS, "message=$message");
curl_setopt( $ch, CURLOPT_FOLLOWLOCATION, 1);
$headers = array( "Content-type: application/x-www-form-urlencoded", "Authorization: Bearer $token", );
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec( $ch );
curl_close( $ch );return $result;
}
?>
[/php]โดยในตัวอย่างนี้ ผมได้ตั้ง username = admin และ password = 12345 จากนั้นก็นำไฟล์ไปวางไว้ใน web server ตาม URL ที่ได้ตั้งเอาไว้ใน QNAP ในข้อที่ 2 (ที่จริงควรสร้างไฟล์ PHP ก่อน แต่เพิ่งนึกได้ ขี้เกียจแก้ไขแล้วครับ 😀 )
- กลับไปที่ QNAP กดปุ่ม Send a Test SMS Message เพื่อทดสอบครับ หากสำเร็จ จะมีข้อความส่งมาดังตัวอย่างด้านล่างครับ