Important Announcement
PubHTML5 Scheduled Server Maintenance on (GMT) Sunday, June 26th, 2:00 am - 8:00 am.
PubHTML5 site will be inoperative during the times indicated!

Home Explore Proceedings of 11th National Conference on Information Technology-NCIT2019

Proceedings of 11th National Conference on Information Technology-NCIT2019

Published by b.pramuk, 2019-10-20 22:38:39

Description: USB - Proceedings of 11th National Conference on Information Technology-NCIT2019

Keywords: NCIT2019,TNI,CITT

Search

Read the Text Version

การประชมุ วิชาการระดับชาติดา้ นเทคโนโลยีสารสนเทศ คร้งั ท่ี 11 (NCIT2019)  Google Cloud Computer Engine (2 vCPUs, 1.8 GB memory) 3. วธิ ดี าเนินการวจิ ยั [9] เป็นเคร่อื งมอื สาหรบั ใชง้ านเป็น Application Server มคี ุณสมบตั เิ หมาะ งานวจิ ยั น้ีผวู้ จิ ยั ไดน้ าเอา SDLC Model มาใช้เพ่อื เป็นกระบวนการในการ สาหรบั การใชง้ านเพอ่ื ทาการทดสอบการทางานของระบบในงานวจิ ยั น้ี พฒั นาระบบ ซง่ึ มรี ะเบยี บวธิ กี ารวจิ ยั ดงั ต่อไปน้ี 3.1 ทำควำมเขำ้ ใจปัญหำ และควำมตอ้ งกำรของระบบ  Linux Debian เป็นระบบปฏบิ ัติการของ Application Server ซ่ึง เป็นระบบทม่ี คี วามเสถยี ร และใชท้ รพั ยากรของเครอ่ื งน้อย เหมาะกบั การ การพฒั นาแอพพลเิ คชนั่ บนโทรศพั ท์มอื ถือเพ่อื ติดตามและควบคุม ตดิ ตงั้ ใชง้ านกบั Computer Engine ทเ่ี ลอื กใชใ้ นงานวจิ ยั น้ี อุปกรณ์เคร่อื งใชไ้ ฟฟ้าภายในบา้ นโดยใชเ้ ทคโนโลยอี นิ เทอรเ์ น็ตประสาน สรรพสง่ิ ผูว้ จิ ยั ได้ทาการศกึ ษาและวเิ คราะห์ระบบตามความต้องการของ  Apache 2 สาหรบั ใชเ้ ป็น Web Server ซ่งึ เป็นซอฟต์แวร์ทใ่ี ชก้ นั ผใู้ ชง้ านซง่ึ มรี ายละเอยี ดแยกเป็นหวั ขอ้ ดงั ต่อไปน้ี อย่างแพร่หลายและเป็นซอฟต์แวรโ์ อเพนซอรส์ ทส่ี ามารถใชง้ านไดฟ้ รี 3.1.1 หน่วยงำนทเี่ กยี่ วขอ้ ง  MariaDB 10.4.5 สาหรบั ใช้เป็นฐานข้อมูลของระบบ ใช้งานง่าย จากการศกึ ษาและรวบรวมขอ้ มลู สามารถแบ่งหน่วยงานทเ่ี กย่ี วขอ้ งกบั และสามารถใช้งานร่วมกบั ภาษา PHP ซ่ึงเป็ นภาษาท่ีใช้ในการพฒั นา การทางานของระบบไดด้ งั น้ี โปรแกรมของโปรแกรมประยกุ ต์บนเวบ็ และเป็นซอฟตแ์ วรโ์ อเพนซอร์สท่ี สามารถใชง้ านไดฟ้ รี  บา้ นหรอื อาคารทม่ี คี วามต้องการใชร้ ะบบควบคุมและตดิ ตามการ ทางานของอุปกรณ์เครอ่ื งใชไ้ ฟฟ้าภายในบา้ น เพอ่ื เพม่ิ ความสะดวกในการ  PHP 7.2 เป็นภาษาสาหรบั การพฒั นา โปรแกรมประยุกต์บนเวบ็ ใชง้ านมากยงิ่ ขน้ึ ซ่งึ จากเดมิ จะตอ้ งอาศยั คนในการควบคุมการทางานของ ทใ่ี ชก้ นั อยา่ งแพรห่ ลาย และสามารถทางานร่วมกบั Apache และ MariaDB อุปกรณ์ ไดอ้ ยา่ งมปี ระสทิ ธภิ าพ 2.4.3 แผงควบคมุ  ผใู้ ชง้ านระบบ จะเป็นสมาชกิ ภายในบา้ น โดยจะเป็นผใู้ ชง้ านและ สงั่ การทางานของเคร่อื งใช้ไฟฟ้าต่างๆ ภายในบ้านผ่านทางโปรแกรม เป็นการพฒั นาโปรแกรมฝังตัว ทางานบนบอร์ด Raspberry Pi3 ทา ประยุกต์บนโทรศพั ทม์ อื ถอื หน้าทต่ี ดิ ต่อรบั คาสงั่ การจากผใู้ ช้ และควบคมุ การทางานของอุปกรณ์ไฟฟ้า ภายในบา้ น โดยมเี ครอ่ื งมอื ทใ่ี ชใ้ นการพฒั นา ดงั น้ี  ผดู้ แู ลระบบ เป็นกล่มุ ผใู้ ชง้ านระบบ โดยจะมหี น้าทใ่ี ชง้ านระบบใน ส่วนการบรหิ ารจดั การขอ้ มลู ซ่งึ ประกอบดว้ ย ขอ้ มลู ผูใ้ ช้งานระบบ ขอ้ มลู  Raspberry Pi3 Model B [10] เป็ นเมนบอร์ดหลักท่ีใช้ในการ อุปกรณ์ต่างๆ และข้อมูลสิทธิก์ ารใช้งานของผู้ใช้งานระบบ รวมทัง้ เช่ือมต่ออุปกรณ์ เคร่ืองใช้ไฟฟ้ าท่ีต้องการควบคุมการทางาน โดย ตรวจสอบขอ้ มลู ต่างๆ เพอ่ื ใหร้ ะบบสามารถทางานไดอ้ ยา่ งถูกตอ้ ง Raspberry Pi3 เป็ น IoT Board ท่ีมีจุดเด่นในเร่อื งของการเช่ือมต่อกับ 3.1.2 วธิ กี ำรรวบรวมขอ้ มลู อุปกรณ์หรอื เซนเซอรไ์ ดห้ ลากหลาย สามารถตดิ ตงั้ ระบบปฏบิ ตั กิ าร ไดท้ งั้ Windows และ Raspbian รวมทัง้ มีจานวนขา GPIO (General Purpose เพอ่ื ใหก้ ารทางานต่างๆ ในงานวจิ ยั น้ี ตรงตามความต้องการของกลุ่ม Input/Output) ทส่ี ามารถใชง้ านไดม้ ากขน้ึ ผใู้ ชง้ านระบบมากทส่ี ุด ผวู้ จิ ยั ไดใ้ ชเ้ ทคนคิ การรวบรวมขอ้ มลู ดงั น้ี  Raspbian OS [11] เป็ น ระบ บ ป ฏิบัติก าร เพ่ือ ใช้ติด ตั้งใน  แบบสอบถาม ใช้ในการเก็บรวบรวมขอ้ มูลความต้องการใช้งาน Raspberry Pi3 โดยจะสามารถติดตัง้ และเปิดใช้งานโปรแกรมต่างๆ ท่ี ของระบบควบคุมและตดิ ตามการทางานของอุปกรณ์เครอ่ื งใชไ้ ฟฟ้าภายใน พฒั นาข้นึ ใชง้ านกบั บอร์ด Raspberry Pi3 นอกจากน้ี ยงั สามารถติดตงั้ บ้าน โดยได้มีการเก็บข้อมูลจากกลุ่มตัวอย่างจากหมู่บ้าน “ภสั สร ราช เครอ่ื งมอื สาหรบั พฒั นาโปรแกรมไดโ้ ดยตรง พฤกษ์” โดยมกี ารแจกแบบสอบถามจานวน 30 ชุด และไดน้ าเอาขอ้ มลู มา สรุปเพ่อื ใหท้ ราบถงึ ความต้องการและนามาพฒั นาเป็นฟังก์ชนั่ การใชง้ าน  Python [12] ภ าษ า Python เป็ น ภ าษ าส าห รับ ก ารพัฒ น า ของระบบ โปรแกรมในส่วนของการเชอ่ื มต่อกบั ฐานขอ้ มลู และส่วนของการสงั่ การไป ยงั อุปกรณ์ต่อพ่วงต่างๆ มคี วามสามารถทางานร่วมกบั บอรด์ Raspberry  การสารวจ มกี ารสารวจเกย่ี วกบั ฟังกช์ นั่ การทางาน จากระบบเดมิ Pi3 ไดเ้ ป็นอย่างดี อกี ทงั้ ยงั สามารถเชอ่ื มต่อกบั Firebase ไดอ้ ย่างสะดวก ท่ีได้มีการพัฒนามาแล้วก่อนหน้า โดยสารวจจากสินค้าของบริษัท และรวดเรว็ FIBARO, WINK และนาเอาความสามารถเด่น มาทาการพฒั นางานวจิ ยั ในครงั้ น้ี  Firebase [13] เป็ น Database ในลักษณะ Real-time Database 3.1.3 กำรทำงำนของระบบปัจจบุ นั ใช้ในการจดั เก็บสถานะการทางานของอุปกรณ์แต่ละตัว โดยสามารถ ทางานแบบ Real-time ซ่งึ จะทาใหแ้ ผงควบคุมสามารถดงึ ขอ้ มลู เพ่อื ไปสัง่ จากการเกบ็ รวบรวมขอ้ มลู สามารถสรปุ กระบวนการทางานปัจจบุ นั ได้ ให้อุปกรณ์ทางานได้รวดเรว็ และสามารถช่วยในการจดั การ ในกรณีท่มี ี ดงั น้ี ผใู้ ชง้ านพรอ้ มกนั ไดเ้ ป็นอยา่ งดี  การควบคุมแสงสว่างภายในบ้าน ลักษ ณ ะการทางานจะ  Pyrebase เป็ น REST API เพ่ือใช้ในการพัฒนาร่วมกับภาษา ประกอบด้วย 2 สถานะการทางาน คอื เปิดและปิดโดยใช้สวทิ ช์เป็นตัว Python โดยจะเป็นเคร่อื งมอื ทใ่ี ช้ในการเช่อื มต่อกบั Firebase (Real-time ควบคุมการทางาน ซง่ึ สวทิ ช์จะตดิ ตงั้ ไวต้ ามจดุ ต่างๆ ของบา้ น ปัญหาทพ่ี บ Database) โดยผ่านโปรโตคอล HTTP ข้อมูลท่ีได้จะอยู่ในลกั ษณะของ คอื การลมื ปิดการทางานของอุปกรณ์เคร่อื งใช้ไฟฟ้าภายในบา้ น ขณะออก JSON format จากบ้านไปแล้ว ซ่ึงจะทาให้เกิดการส้ินเปลืองโดยใช่เหตุ หรือ อาจ ก่อ ให้ เกิด เห ตุ ไฟ ไห ม้อัน เกิด จาก คว าม ร้อ น ส ะส ม จาก การเปิ ด เครอ่ื งใชไ้ ฟฟ้าท้งิ ไวเ้ ป็นเวลานาน อกี ทงั้ ยงั เป็นจุดสงั เกตใหก้ บั มจิ ฉาชพี ในกรณที ใ่ี นบา้ นไมม่ ผี อู้ าศยั 178

การประชุมวิชาการระดบั ชาตดิ ้านเทคโนโลยสี ารสนเทศ ครง้ั ท่ี 11 (NCIT2019)  การควบคุมมา่ นบงั แสง จากเดมิ จะเป็นการควบคุมดว้ ยคนโดยใช้ โรงรถ เป็นตน้ 3) ระบบสามารถจดั การขอ้ มลู ประเภทอุปกรณ์ได้ 4) ระบบ สายหรอื ไมล้ ากจูง ม่านบงั แสงจะติดตงั้ ไว้กบั ประตู หน้าต่าง หรอื จุดท่มี ี สามารถจดั การขอ้ มลู ของตาแหน่ง หรอื พน้ื ทต่ี ่างๆ ของบา้ นได้ โดยขอ้ มลู แสดงสว่างส่องถงึ ปัญหาทพ่ี บ คอื ผอู้ าศยั ลมื ปิดม่านขณะทอ่ี อกจากบ้าน ดังกล่าวจะใช้เพ่ือระบุตาแหน่งท่ีอยู่ของอุปกรณ์ต่างๆ ซ่ึงผู้ใช้งานจะ ไปแล้ว หรอื กรณีท่บี ้านมมี ากกว่าหน่ึงชนั้ การเปิดปิดม่านจะต้องอาศยั สามารถทาการ เพม่ิ ลบ และแก้ไขขอ้ มลู ตาแหน่ง ได้ 5) ระบบสามารถ การเดินข้ึนลงไปยังจุดท่ีติดตัง้ ม่านไว้ อีกทัง้ ยังเป็ นจุดสังเกตให้กับ ควบคุมการทางานเปิดและปิ ดอุปกรณ์เคร่ืองใช้ไฟฟ้ าต่างๆ ได้ เช่น มจิ ฉาชพี ในกรณที ใ่ี นบา้ นไมม่ ผี อู้ าศยั หลอดไฟ มา่ นบงั แสง หวั รดน้า และประตูรวั้ บา้ น 6) ระบบสามารถตงั้ เวลา การทางานเพ่อื เปิดและปิดอุปกรณ์เคร่อื งใช้ไฟฟ้าได้อัตโนมตั ิ 7) ระบบ  การรดน้าต้นไม้ ลกั ษณะการทางานของการรดน้าต้นไม้จะใช้ สามารถจดั เกบ็ ขอ้ มลู ประวตั กิ ารใชง้ านของอุปกรณ์ได้ โดยขอ้ มลู ทจ่ี ดั เกบ็ วธิ กี ารต่อสายยางเพอ่ื ปลอ่ ยน้าไปยงั จุดทต่ี อ้ งการรดน้า ซ่งึ จะตอ้ งอาศยั คน ประกอบดว้ ย ขอ้ มลู ผสู้ งั่ งาน วนั -เวลา และคาสงั่ ของการทางาน เป็นผคู้ วบคุมในการเลอ่ื นตาแหน่งของสายยางไปยงั จุดต่างๆ ปัจจุบนั บาง 3.3 กำรออกแบบระบบ บา้ นมกี ารตดิ ตงั้ ระบบการปล่อยน้าอตั โนมตั ิ ทส่ี ามารถกาหนดระยะเวลา การปล่อยน้าได้ แต่ยงั มขี อ้ บกพร่อง คอื ระบบอตั โนมตั จิ ะทางานตามเวลา สาหรบั งานวจิ ยั น้เี ป็นการนาเอาเทคโนโลยหี ลายสว่ นมาทางานร่วมกนั ทต่ี งั้ ไว้ ปัญหาทพ่ี บ คอื ตอ้ งใชค้ นในการเคลอ่ื นยา้ ยตาแหน่งของสายยาง ไมว่ า่ จะเป็นส่วนของ ฮารด์ แวร์ ซอฟต์แวร์ และระบบเครอื ขา่ ยอนิ เทอรเ์ น็ต และเปิดปิดวาล์วน้า หวั รดน้าสนามแบบการตงั้ เวลา จะมกี ารทางานเมอ่ื ถงึ โดยสามารถแสดงภาพรวมโครงสรา้ งระบบดงั รปู ท่ี 1 เวลาทก่ี าหนดไว้ ซง่ึ ในบางครงั้ เป็นการส้นิ เปลอื ง กรณีทพ่ี ้นื ทน่ี นั้ ๆ ไดร้ บั น้าอยา่ งเพยี งพอแลว้ รปู ท่ี 1. ภาพแสดงภาพรวมของสถาปัตยกรรมระบบ  ประตูรวั้ บ้าน การเปิดปิดประตูรวั้ บ้านส่วนใหญ่มลี กั ษณะแบบ การออกแบบกระบวนการทางานของระบบ ระบบสามารถมีแผง เล่อื นบานประตู ปัญหาทพ่ี บ คอื ใชค้ นในการเล่อื นบานประตูเพ่อื เปิดและ ควบคุม (Microcontroller board) ไดห้ ลายตวั ซ่งึ ขอ้ มูลแผงควบคุมแต่ละ ปิด ทาใหไ้ ม่สะดวกในกรณที ต่ี อ้ งมกี ารลงจากรถทุกครงั้ เพอ่ื ทาการเปิดและ ตวั จะถูกนาเข้าระบบโดยผู้ดูแลระบบ เมอ่ื ผู้ใช้มกี ารนาแผงควบคุมไปใช้ ปิดประตู งาน จะตอ้ งมกี ารลงทะเบยี นผใู้ ชง้ าน และยนื ยนั การเปิดการใชง้ านอุปกรณ์ ซง่ึ ในงานวจิ ยั น้ีแผงควบคุมระบบ (Microcontroller board) แต่ละตวั ท่เี ปิด  การป้องกนั เหตุไฟไหม้ โดยปกติแล้วการเกิดเหตุไฟไหม้ตาม ใชง้ านแลว้ จะมกี ารเชอ่ื มต่อ และควบคมุ การทางานของอุปกรณ์ 5 ประเภท บา้ นเรอื นนนั้ อาจเกดิ ขน้ึ ไดห้ ลายสาเหตุดว้ ยกนั เช่น เกดิ จากไฟฟ้าลดั วงจร เช่น 1) หลอดไฟและแสงสวา่ ง 2) ม่านบงั แสงภายในบา้ น 3) วาลว์ เปิด-ปิด วสั ดุติดไฟ หรอื เกดิ จากการรวั่ ไหลของแก๊สหุงต้ม ปัญหาท่พี บ คือ เหตุ น้าสาหรบั รดน้าสนามหญ้า 4) ประตรู วั้ บา้ น 5) เซนเซอร์ตรวจจบั แกส๊ และ มกั จะเกดิ ข้นึ โดยไม่ทนั ตงั้ ตวั ซ่ึงอาจทาให้ไม่สามารถป้องกนั เหตุได้ทนั ควนั ไฟ กอ่ ใหเ้ กดิ ความเสยี หายทล่ี ุกลามและรา้ ยแรงมากยงิ่ ขน้ึ 3.3.1 กำรออกแบบโปรแกรมประยุกตบ์ นโทรศพั ทม์ อื ถอื 3.2 วเิ ครำะหค์ วำมตอ้ งกำรของระบบ การออกแบบโปรแกรมประยุกต์บนโทรศัพท์มือถือ ประกอบด้วย จากการเกบ็ รวบรวมขอ้ มลู สามารถวเิ คราะหค์ วามตอ้ งการไดด้ งั น้ี 1) หน้าจอสาหรบั การล็อกอินเข้าสู่ระบบ 2) หน้าจอแสดงฟังก์ชัน่ งาน ทงั้ หมดของระบบ 3) หน้าจอแสดงตาแหน่งของอุปกรณ์และเครอ่ื งใชไ้ ฟฟ้า  สรุปความต้องการของผูใ้ ช้ จากการเก็บรวบรวมขอ้ มูล สามารถ ภายในบา้ นทม่ี กี ารตดิ ตงั้ ไวใ้ นแต่ละจุดของบา้ น เชน่ การเลอื กฟังกช์ นั่ การ นามาวเิ คราะห์ความต้องการในการใช้งานของผู้ใช้งานระบบ ได้ดงั น้ี 1) ควบคมุ หลอดไฟ กจ็ ะแสดงตาแหน่งของหอ้ งต่างๆ ทม่ี กี ารตดิ ตงั้ หลอดไฟ ระบบสามารถใชง้ านไดบ้ นโทรศพั ทม์ อื ถอื ทงั้ ระบบปฏบิ ตั กิ าร Android และ ไว้ 4) หน้าจอสาหรบั การควบคุมสงั่ การ โดยเมอ่ื ผใู้ ชท้ าการระบฟุ ังกช์ นั่ การ iOS 2) ระบบสามารถทางานโดยการควบคุมเปิดและปิดหลอดไฟ ม่านบงั ทางาน ตาแหน่งทต่ี ้อง หน้าจอน้ีจะแสดงรายการของอุปกรณ์และเคร่อื งใช้ แสง หวั จ่ายรดน้าสนามหญ้า และประตูรวั้ บ้าน จากท่ใี ดๆ กไ็ ด้ ผ่านทาง ภายในบ้านตามฟังก์ชนั่ งานท่ีเลือก ในตาแหน่งท่ีต้องการทงั้ หมด ผู้ใช้ โปรแกรมประยุกต์บนมอื ถอื และสามารถตรวจสอบการแจง้ เตอื นเมอ่ื เกดิ สามารถควบคมุ สงั่ การโดยการกดป่มุ เปิดและปิดจากหน้าจอน้ี ควันไฟ หรือ แก๊สหุงต้มรัว่ ไหล 3) ระบบสามารถทาการตรวจสอบ สถานะการทางานของหลอดไฟ ม่านบงั แสง หวั จ่ายรดน้าสนามหญ้า และ ประตูรวั้ บ้านได้ 4) ระบบสามารถรองรบั การใช้งานให้แก่สมาชกิ ภายใน บา้ นไดม้ ากกว่า 1 คน  ความตอ้ งการของระบบ จากการเกบ็ รวบรวมขอ้ มลู สามารถนามา วเิ คราะห์ความต้องการในการทางานของระบบ ได้ดงั น้ี 1) ระบบสามารถ จดั การข้อมูลผู้ใช้งาน ซ่ึงมี 2 กลุ่ม คือ ผู้ใช้งาน และผู้ดูแลระบบ โดย ผูใ้ ชง้ านระบบทวั่ ไปจะสามารถเขา้ สู่ระบบพร้อมทงั้ ใชง้ านผ่านโปรแกรม ประยุกต์บนโทรศพั ท์มอื ถอื เพอ่ื สงั่ งานของอุปกรณ์เคร่อื งใช้ไฟฟ้าภายใน บา้ นได้ ผดู้ ูและระบบจะสามารถจดั การกบั ขอ้ มลู ผใู้ ชง้ าน ขอ้ มลู อุปกรณ์ ได้ ดงั นัน้ ระบบจะต้องสามารถจดั การกบั ขอ้ มลู ผูใ้ ช้ และกาหนดกลุ่มของ ผู้ใช้งานได้ 2) ระบบสามารถจัดการข้อมูลอุปกรณ์ โดยมกี ารกาหนด ประเภทอุปกรณ์ไวเ้ ป็น 5 ประเภท ได้แก่ หลอดไฟ มา่ นบงั แสง ประตูรวั้ บา้ น และเซนเซอร์ตรวจจบั แก๊สและควนั ไฟ โดยมกี ารระบุตาแหน่งของ อุปกรณ์แต่ละช้นิ ว่าอยู่ในตาแหน่งใดของบ้าน เช่น ห้องนัง่ เล่น ห้องครวั 179

การประชุมวิชาการระดบั ชาติดา้ นเทคโนโลยสี ารสนเทศ ครั้งท่ี 11 (NCIT2019) รปู ท่ี 4. ภาพแสดงโครงสรา้ งการเชอ่ื มต่อระบบควบคมุ มอเตอร์ สาหรบั การเปิดและปิดมา่ น  การควบคุมหวั รดน้าสนามหญ้าจะใช้ Relay 1 Channel เช่อื มต่อ กบั บอร์ด Raspberry Pi3 และ Solenoid Valve ขนาด 12V ซ่ึงจะใช้ใน การสงั่ การเปิดและปิดน้า รปู ท่ี 2. ภาพแสดงโครงสรา้ งของฟังกช์ นั่ การทางานโปรแกรมประยกุ ต์ รปู ท่ี 5 ภาพแสดงโครงสรา้ งการเชอ่ื มต่อระบบควบคมุ Solenoid valve บนโทรศพั ทม์ อื ถอื สาหรบั การเปิดและปิดน้า 3.3.2 กำรออกแบบโปรแกรมประยุกตบ์ นเวบ็  การควบคุมประตูรวั้ บ้าน ในการควบคุมการเปิดและปิดประตูรวั้ การทางานของโปรแกรมประยุกต์บนเวบ็ เป็นระบบการจดั การขอ้ มลู บา้ น (กรณีทบ่ี ้านมกี ารใช้งานประตูรวั้ อตั โนมตั ิ) สามารถทาการเช่อื มต่อ และควบคุมการเปิดและปิดร่วมกบั การทางานของระบบเดมิ ท่มี อี ยู่แลว้ ได้ ของ Microcontroller เพ่อื เป็นขอ้ มูลหลกั ในการตรวจสอบสถานะของการ โดยเชอ่ื มต่อ Relay เขา้ กบั ระบบสายสวทิ ซเ์ ปิดและปิดของระบบเดมิ ซง่ึ จะ เปิดใชง้ านและการสมคั รเป็นผใู้ ชง้ านระบบ รวมทงั้ การจดั การกบั ขอ้ มลู ตงั้ สามารถใชส้ งั่ การผ่านทางโปรแกรมประยกุ ต์บนโทรศพั ท์มอื ถอื ได้ ตน้ ต่างๆ ทโ่ี ปรแกรมประยุกต์บนโทรศพั ทม์ อื ถอื นาขอ้ มลู ไปใชง้ าน 3.3.3 กำรออกแบบแผงควบคุม  การควบคุมหลอดไฟภายในบา้ น จะใชง้ าน Relay 8 Channel ใน การเช่อื มต่อกบั บอร์ด และหลอดไฟแต่ละส่วนของบ้าน โดยบอร์ดจะทา หน้าท่ใี นการรบั คาสงั่ และสงั่ การทางานไปยงั Relay ควบคุมไฟแต่ละตวั ตามคาสงั่ ของผใู้ ชง้ าน ดงั รปู ท่ี 3 รปู ท่ี 6. ภาพแสดงโครงสรา้ งการเชอ่ื มต่อ Relay กบั สวทิ ซค์ วบคมุ การเปิดและปิดประตรู วั้ รปู ท่ี 3. ภาพแสดงโครงสรา้ งการเชอ่ื มต่อระบบควบคมุ  การตรวจสอบควนั ไฟ หรอื แก๊สหุงต้มรวั่ ไหล จะใช้ MQ-2 Gas การเปิดและปิดหลอดไฟ sensor ซ่งึ เป็น Sensor สาหรบั ตรวจจบั ความเขม้ ของแก๊ส หรอื ควนั ไฟ โดยเชอ่ื มต่อกบั บอรด์ Raspberry Pi3 และส่งขอ้ มลู แจง้ เตอื นไปยงั ผใู้ ชง้ าน เมอ่ื มกี ารตรวจจบั พบความเขม้ ของแก๊ส หรอื ควนั ไฟ เพ่อื เป็นการป้องกนั การเกดิ เหตุเพลงิ ไหม้  การควบคุมม่านบงั แสงภายในบ้าน จะใช้ L298N motor driver เช่อื มต่อกบั บอร์ด Raspberry Pi3 และ DC Motor ขนาด 12V ซ่ึงใช้เป็น ตวั หมนุ แกนมา่ นในการเปิดและปิดมา่ นไดต้ ามระยะทต่ี อ้ งการ ดงั รปู ท่ี 4 180

การประชุมวิชาการระดับชาตดิ า้ นเทคโนโลยีสารสนเทศ ครัง้ ที่ 11 (NCIT2019) รปู ท่ี 7. ภาพแสดงโครงสรา้ งการเชอ่ื มต่อ MQ-2 Gas sensor โปรแกรมประยุกต์บนโทรศัพท์มือถือ สามารถทางานได้รวดเร็ว เพอ่ื ตรวจจบั ควนั ไฟ หรอื แก๊สหงุ ตม้ รวั่ ไหล ตอบสนองการทางานไดเ้ ป็นอย่างดี หน้าจอแสดงผลการใชง้ านแสดงผลได้ 3.4 กำรพฒั นำระบบ ดไี ม่มสี ่วนผดิ เพ้ียน สามารถทางานได้ดที งั้ บนระบบปฏบิ ตั ิการ Android จากการเกบ็ รวบรวมขอ้ มลู ความต้องการของผูใ้ ช้และนามาออกแบบ และ iOS การเชอ่ื มต่อกบั API ทางานไดร้ วดเรว็ ระบบ ผวู้ จิ ยั ไดอ้ อกแบบและพฒั นาระบบ โดยแบ่งส่วนงานของการพฒั นา ดังน้ี 1) โปรแกรมประยุกต์บนโทรศัพท์มือถือ พัฒนาโดยใช้ Ionic แผงควบคมุ เชอ่ื มต่อกบั Real-time Database และนาคา่ ทไ่ี ดร้ บั สงั่ งาน Framework และคอมไพล์ให้สามารถใช้งานได้กบั iOS และ Android 2) ไปยงั อุปกรณ์ทเ่ี ชอ่ื มต่อไดอ้ ยา่ งรวดเรว็ และถกู ตอ้ ง แผงควบคุม พัฒนาโดยใช้ภาษา Python และได้กาหนดให้โปรแกรม ทางานเมอ่ื แผงควบคุมถูกเปิดใชง้ าน 3) โปรแกรมประยุกต์บนเวบ็ พฒั นา 5. สรปุ และอภปิ รายผล โดยใชภ้ าษา PHP สามารถเรยี กใชง้ านไดผ้ า่ นเวบ็ เบราวเ์ ซอร์ งานวจิ ัยน้ีเป็นงานวิจยั เพ่ือมุ่งเน้นในการศึกษา และนาเทคโนโลยี 3.5 กำรตดิ ตงั้ และทดสอบ สมัยใหม่มาบูรณาการใช้งานร่วมกัน ไม่ว่าจะเป็ น Internet of Things, Cloud Computing, Mobile Application เพ่อื พฒั นาใหเ้ กดิ เป็นระบบงานท่ี ผวู้ จิ ยั ไดจ้ าลองการทางานของระบบโดยทาการเชอ่ื มต่ออุปกรณ์ต่างๆ สามารถใช้ในการควบคุม สงั่ การอุปกรณ์และเคร่อื งใช้ไฟฟ้าภายในบ้าน เข้ากับแผงควบคุม และให้ผู้ใช้งานทาการติดตัง้ โปรแกรมประยุกต์บน จากระยะไกล การทดสอบการใช้งานสามารถสรุปผลได้ว่า ระบบสามารถ โทรศพั ทม์ อื ถอื เพ่อื ใชใ้ นการสงั่ งาน มขี นั้ ตอนการทดสอบดงั น้ี 1) ผใู้ ชง้ าน ทางานไดอ้ ยู่ในเกณฑ์ดี ปัญหาและอุปสรรคท่พี บ คอื การเช่อื มต่อระบบ สมคั รเป็นผู้ใช้งานระบบ 2) ผูใ้ ช้งานเขา้ สู่ระบบพรอ้ มทงั้ กรอกหมายเลข เข้ากบั ระบบไฟฟ้าเดิมภายในบ้านจะมคี วามเส่ยี ง อาจทาให้เกดิ ปัญหา กล่องควบคุมเพอ่ื เชอ่ื มต่อกบั ขอ้ มลู ผใู้ ชแ้ ละยนื ยนั การเปิดใชง้ าน 3) ทาการ เก่ียวกับระบบไฟฟ้ า โดยจะต้องอาศัยความรู้ความชานาญ ในการ กาหนดค่าต่างๆ เช่น การเพิม่ ขอ้ มูลตาแหน่ง การเพ่ิมขอ้ มูลอุปกรณ์ 4) ดาเนินการ การพัฒนาปรับปรุงและต่อยอด สามารถพัฒนาให้ทางาน ทดสอบการควบคุมการทางานโดยสงั่ งานผ่านโปรแกรมประยุกต์บน ร่วมกบั อุปกรณ์ใหม่ๆ ท่ใี ช้การเช่อื มต่อแบบไรส้ ายทาใหก้ ารตดิ ตงั้ ทาได้ โทรศพั ทม์ อื ถอื งา่ ยขน้ึ อกี ทงั้ ยงั สามารถพฒั นาโปรแกรมเพม่ิ เตมิ ใหท้ างานร่วมกบั ระบบ AI เช่น Google Assistance, Dialog flow และ Line bot designer เพ่ือ จากการทดสอบพ บว่า การสัง่ งาน จากโปรแกรมประยุกต์บน เพมิ่ ประสทิ ธภิ าพการทางานใหด้ มี ากยงิ่ ขน้ึ โทรศพั ทม์ อื ถอื ไปยงั แผงควบคุมสามารถทางานไดถ้ ูกตอ้ งและรวดเรว็ ดงั แสดงในตารางท่ี 1 ตารางท่ี 1. แสดงผลทดสอบการสงั่ งานโปรแกรมประยุกตบ์ น เอกสารอ้างอิง. โทรศพั ทม์ อื ถอื ไปยงั แผงควบคุม [1] กระทรวงอตุ สาหกรรม. “Smart House บา้ นอจั ฉรยิ ะ ระบบควบคมุ การทางาน อปุ กรณ์ ครงั้ ที่ เวลาตอบสนอง ผลการทดสอบ อยา่ งเบด็ เสรจ็ ตอบสนองไลฟ์ สไตลม์ นุษยย์ คุ ไอท”ี [ออนไลน์]. แหลง่ ทม่ี า หลอดไฟ http://www.industry.go.th/industry/index.php/th/knowledge/item/39473- 1 1.30 วนิ าที ถกู ตอ้ ง smart-house (19 พฤษภาคม 2562) มา่ นบงั แสง 2 1.83 วนิ าที ถูกตอ้ ง [2] Internet of Things (IoT) [ออนไลน์]. แหล่งทม่ี า http://km.psru.ac.th/wp- หวั รดน้า content/uploads/2016/11/IoT-1-1.pdf (19 พฤษภาคม 2562) 3 1.60 วนิ าที ถกู ตอ้ ง ประตูรวั้ [3] สานกั งาน กสทช. (2560). “เทคโนโลยี Internet of Things และนโยบาย 1 1.70 วนิ าที ถกู ตอ้ ง Thailand 4.0” [ออนไลน์]. แหล่งทม่ี า http://www.nbtc.go.th/getattachment/Services/quarter2560/ปี-2560/ไตร 2 1.52 วนิ าที ถูกตอ้ ง มาส-3-ปี-2560/เอกสารแนบ.pdf.aspx (19 พฤษภาคม 2562) 3 1.35 วนิ าที ถูกตอ้ ง [4] พนติ า พงษไ์ พบูล. “Go Smart with Internet of Things (IoT) เทคโนโลยี ชาญฉลาด ตอบโจทย์ Thailand 4.0” [ออนไลน์] แหลง่ ทม่ี า 1 1.90 วนิ าที ถกู ตอ้ ง https://www.uih.co.th/th/knowledge/nectec (30 พฤษภาคม 2562) 2 1.83 วนิ าที ถกู ตอ้ ง [5] โอภาส เอย่ี มสริ วิ งศ.์ “การวเิ คราะหแ์ ละออกแบบระบบ ฉบบั ปรบั ปรงุ ” บรษิ ทั ซเี อด็ ยเู คชนั่ จากดั (มหาชน). 2560 3 1.45 วนิ าที ถูกตอ้ ง [6] Ionic [ออนไลน์]. แหลง่ ทม่ี า https://ionicframework.com (30 พฤษภาคม 1 1.60 วนิ าที ถูกตอ้ ง 2562) 2 1.50 วนิ าที ถูกตอ้ ง [7] Android Studio [ออนไลน์]. แหล่งทม่ี า https://developer.android.com/studio (30 พฤษภาคม 2562) 3 1.72 วนิ าที ถกู ตอ้ ง [8] Xcode – Apple Developer [ออนไลน์]. แหลง่ ทม่ี า 4. ผลการวจิ ยั https://developer.apple.com/xcode (30 พฤษภาคม 2562) งานวจิ ยั น้เี ป็นงานวจิ ยั ทไ่ี ดพ้ ฒั นาระบบงานขน้ึ มาเพอ่ื ใชใ้ นการอานวย [9] Cloud Computing Service | Google Cloud [ออนไลน์]. แหลง่ ทม่ี า ความสะดวกสาหรบั บา้ นพกั อาศยั โดยมกี ารนาเอาเทคโนโลยหี ลายส่วนมา https://cloud.google.com (28 พฤษภาคม 2562) ทางานร่วมกนั โดยผวู้ จิ ยั สามารถสรปุ ผลการวจิ ยั ไดด้ งั น้ี 181

การประชุมวิชาการระดบั ชาติดา้ นเทคโนโลยสี ารสนเทศ ครั้งท่ี 11 (NCIT2019) [10] Raspberry Pi [ออนไลน์]. แหลง่ ทม่ี า https://www.raspberrypi.org (30 พฤษภาคม 2562) [11] Raspbian [ออนไลน์]. แหล่งทม่ี า https://www.raspbian.org (30 พฤษภาคม 2562) [12] Python [ออนไลน์]. แหลง่ ทม่ี า https://www.python.org (30 พฤษภาคม 2562) [13] Firebase [ออนไลน์]. แหลง่ ทม่ี า https://firebase.google.com (19 พฤษภาคม 2562) 182

การประชมุ วชิ าการระดับชาติดา้ นเทคโนโลยีสารสนเทศ คร้ังท่ี 11 (NCIT2019) ระบบจำกดั กำรเขำ้ ถงึ แบบอตั โนมตั สิ ำหรบั ระบบคอมพวิ เตอรแ์ ละเครอื ขำ่ ย Automated Access Control for Computer and Network System กลั ยรตั น์ อนิ ตำ พชั รพล พรหมมำ ภทั รพงษ์ อนิ ทบั ทมิ คณะเทคโนโลยสี ารสนเทศ / สถาบนั คณะเทคโนโลยสี ารสนเทศ / สถาบนั คณะเทคโนโลยสี ารสนเทศ / สถาบนั เทคโนโลยพี ระจอมเกลา้ เจา้ คณุ ทหาร เทคโนโลยพี ระจอมเกลา้ เจา้ คณุ ทหาร เทคโนโลยพี ระจอมเกลา้ เจา้ คณุ ทหาร ลาดกระบงั ลาดกระบงั ลาดกระบงั Faculty of Information Technology / King Faculty of Information Technology / King Faculty of Information Technology / King Mongkut's Institute of Technology Mongkut's Institute of Technology Mongkut's Institute of Technology Ladkrabang Ladkrabang Ladkrabang กรุงเทพฯ / ประเทศไทย กรงุ เทพฯ / ประเทศไทย กรุงเทพฯ / ประเทศไทย Bangkok / Thailand Bangkok / Thailand Bangkok / Thailand [email protected] [email protected] [email protected] อรฤทยั ธรรมสำหำญ สุเมธ ประภำวตั ลภสั ประดษิ ฐท์ ศั นยี ์ คณะเทคโนโลยสี ารสนเทศ / สถาบนั คณะเทคโนโลยสี ารสนเทศ / สถาบนั คณะเทคโนโลยสี ารสนเทศ / สถาบนั เทคโนโลยพี ระจอมเกลา้ เจา้ คุณทหาร เทคโนโลยพี ระจอมเกลา้ เจา้ คณุ ทหาร เทคโนโลยพี ระจอมเกลา้ เจา้ คณุ ทหาร ลาดกระบงั ลาดกระบงั ลาดกระบงั Faculty of Information Technology / King Faculty of Information Technology / King Faculty of Information Technology / King Mongkut's Institute of Technology Mongkut's Institute of Technology Mongkut's Institute of Technology Ladkrabang Ladkrabang Ladkrabang กรงุ เทพฯ / ประเทศไทย กรงุ เทพฯ / ประเทศไทย กรงุ เทพฯ / ประเทศไทย Bangkok / Thailand Bangkok / Thailand Bangkok / Thailand [email protected] [email protected] [email protected] โชตพิ ชั ร์ ภรณวลยั คณะเทคโนโลยสี ารสนเทศ / สถาบนั เทคโนโลยพี ระจอมเกลา้ เจา้ คุณทหาร ลาดกระบงั Faculty of Information Technology / King Mongkut's Institute of Technology Ladkrabang กรงุ เทพฯ / ประเทศไทย Bangkok / Thailand [email protected] บทคดั ย่อ — ในปัจจุบนั ระบบเครอื ข่ายมคี วามสาคญั กบั การทางานใน ติดตัง้ การทางานน้ี จะต้องทาแยกกัน และต้องออกแบบการทางานให้ ทุกองค์กร เน่ืองจากผ้ใู ช้งานต้องการข้อมูลจากทงั้ ภายในองคก์ รเองและ สอดคล้องกัน ซึ่งข้อด้อยสาคัญของแนวทางนี้ คือถ้ามีการเปลี่ยนแปลง จากภายนอกองค์กร เช่นเครือข่ายอิ นเทอร์เน็ตมาใช้กับการทางาน เกิดข้ึน ทางผู้ดูแลระบบจะต้องทาการแก้ไขที่ทงั้ สองส่วนให้เป็ นไปตาม นอกจากนี้แล้วผ้ใู ช้งานระบบเครือข่ายก็ยงั มีความหลากหลาย โดยท่ีผ้ใู ช้ เงื่อนไขใหม่ ซ่ึงอาจจะมีผลให้ระบบต้องหยุดการทางานไปชวั่ คราว หรือถ้า แต่ละกลุ่มกอ็ าจมีสิทธิในการเข้าใช้งานระบบเครือขา่ ยที่ต่างกนั ออกไป ที่ มีการติดตัง้ ท่ีผิดพลาดก็อาจจะก่อให้เกิดปัญหาได้ ในบทความน้ี จึง ผ่านมาการจากัดการเข้าถึงการใช้งานระบบจะทาโดยแยกการจัดการ นาเสนอระบบการกาหนดสิทธ์ิการเข้าถึงแบบอัตโนมตั ิ โดยตัวระบบที่ ออกเป็ น 2 ส่วน คือ ส่วนของการเข้าถึงทรพั ยากรบนเคร่อื งคอมพิวเตอร์ นาเสนอจะอ้างอิงสิทธิการเข้าถึงของผใู้ ช้จากระบบ Active Directory ซ่ึงแต่ และ ส่วนของการเข้าถึงทรพั ยากรในระบบเครือข่าย ซ่ึงการวางแผนและ เดิมใช้กบั ส่วนของการเข้าถึงทรพั ยากรในเครอ่ื งคอมพิวเตอรเ์ ท่านัน้ แต่ใน 183

การประชุมวิชาการระดับชาติด้านเทคโนโลยสี ารสนเทศ ครง้ั ที่ 11 (NCIT2019) ระบบท่ีนาเสนอจะนาข้อมูลจาก Active Directory มาใช้ในการติดตัง้ สิทธิ Keywords Access Control List, Active Directory, Authentication การใช้งานระบบเครอื ขา่ ยด้วย โดยอาศัยสคริปตท์ ี่พฒั นาข้ึนด้วยภาษาไพ ทอน (Python) ในการส่งคาสงั่ ไปติ ดตัง้ สิทธิ ในการเข้าถึงในอุปกรณ์ 1. บทนำ เครือข่าย โดยประโยชน์ สาคัญของระบบท่ีนาเสนอน้ี คือ ถ้าต้องการ ในปัจจุบนั ระบบเครือขำ่ ยมคี วำมสำคญั กบั กำรทำงำนในทุกองคก์ ร เปล่ียนแปลงสิทธิ ในการเข้าถึ งระบบสามารถทาที่ตัวระบบ Active เน่ืองจำกผใู้ ช้งำนตอ้ งกำรท่ีจะใชข้ อ้ มูลจำกทงั้ ภำยในองคก์ รเองและจำก Directory เพียงที่เดียว ไมต่ ้องไปจดั การกบั ตวั อุปกรณ์เครอื ข่าย โดยระบบ ภำยนอกองค์กรเช่นเครอื ข่ำยอนิ เทอรเ์ น็ต นอกจำกน้ีแล้วผใู้ ชง้ ำนระบบ ท่ีพัฒนาข้ึนมาจะดูแลการจัดการในส่วนระบบเครือข่ายให้ ทาให้ลด เครือข่ำยกย็ งั มีควำมหลำกหลำย โดยท่ผี ใู้ ช้แต่ละกลุ่มกอ็ ำจมสี ทิ ธิในกำร ขอ้ ผิดพลาดในการติดตงั้ และสามารถปรบั เปลีย่ นสิทธิในการเข้าถึงระบบ เขำ้ ใช้งำนระบบเครือขำ่ ยท่ตี ่ำงกนั ออกไป ดงั นนั้ ระบบจำกดั ควำมเขำ้ ถงึ ได้ง่าย (Access Control System) จึงเป็นระบบสำคญั อนั หน่ึงท่ีเกือบทุกองค์กร คำสำคญั รายการการควบคมุ การเข้าถึง, ท่ีจดั เกบ็ บญั ชีผ้ใู ช้, โดยเฉพำะองคก์ รขนำดใหญ่เลอื กตดิ ตงั้ ขน้ึ มำใชง้ ำน การยนื ยนั สิทธ์ิ ท่ผี ่ำนมำกำรจำกดั กำรเข้ำถงึ กำรใช้งำนระบบจะทำไดโ้ ดยแยกกำร ตดิ ตงั้ และทำงำนออกเป็น 2 ส่วน คอื สว่ นควบคมุ กำรเขำ้ ถงึ ทรพั ยำกรบน Abstract — Recently, Computer network systems become a crucial เคร่ืองคอมพิวเตอร์ และ ส่วนควบคุมกำรเข้ำถึงทรัพยำกรในระบบ component in many processes in all organizations. This is mainly เครือข่ำย ซ่ึงกำรวำงแผนและติดตงั้ กำรทำงำนทัง้ 2 ส่วนน้ีจะต้องทำ because all users in an organization require information from both แยกกนั และตอ้ งมกี ำรวำงแผนอย่ำงระมดั ระวงั เพ่อื ใหท้ งั้ สองส่วนนที้ ำงำน internal systems and external networks, such as Internet. Moreover, อยำ่ งสอดคลอ้ งกนั ภำยใตน้ โยบำย (Policy) กำรทำงำนเดยี วกนั ซง่ึ ขอ้ ดอ้ ย there are many types of users in the organization. Each user may have สำคญั ของแนวทำงนี้คือเม่อื มีกำรเปล่ยี นแปลงเกิดขนึ้ ทำงผดู้ ูแลระบบ different levels of permission to access the resource in the system. จะตอ้ งทำกำรแกไ้ ขทท่ี งั้ สองส่วนใหเ้ ป็นไปตำมเง่อื นไขใหม่ ซ่งึ อำจจะตอ้ งมี Previously, the common method to provide the access control service กำรขอเวลำเพ่ือให้ระบบหยดุ ทำงำนเพ่อื ทำกำรติดตงั้ กำรทำงำนใหม่ให้ in the network is divided into 2 parts: access control functions for เรยี บรอ้ ย ซ่งึ ส่งผลให้ระบบตอ้ งหยดุ กำรทำงำนไปชวั่ ครำว นอกจำกน้ีแลว้ computer’s resource and access control functions for network system. ยงั มโี อกำสท่จี ะมคี วำมผดิ พลำดในกำรติดตงั้ จนอำจจะก่อใหเ้ กดิ ปัญหำใน The manual configurations must perform separately and the กำรทำงำนโดยรวมของระบบได้ implementation plan must be carefully designed to assure that both ในบทควำมนี้จงึ นำเสนอระบบกำรกำหนดสทิ ธกิ ำรเขำ้ ถงึ แบบอตั โนมตั ิ components will work under the same set of policies. The main โดยตวั ระบบท่นี ำเสนอจะอำศยั ขอ้ มลู ของผใู้ ชจ้ ำกระบบ Active Directory drawback of this approach is the access control system is likely to เพ่ือนำมำใช้ในกำรจดั กำรกำรเขำ้ ถึงระบบทงั้ ในระบบคอมพิวเตอรแ์ ละ have poor performance in term of adaptability. If the new policy is ระบบเครอื ขำ่ ย ซ่งึ จะทำใหก้ ำรปรบั เปล่ยี นนโยบำยกำรเขำ้ ถงึ ระบบซ่งึ แต่ needed, the administrator must make the changes in both computer เดมิ ตอ้ งแยกส่วนกนั ระหวำ่ งระบบคอมพิวเตอร์และระบบเครอื ขำ่ ยสำมำรถ systems and network system, which is likely to require a downtime ทำได้ท่จี ุดเดยี วคอื ท่รี ะบบ Active Directory โดยในส่วนกำรจดั กำรกำร period for reconfiguring the computer system. In this paper, the เขำ้ ถงึ ของระบบเครอื ขำ่ ย ตวั ระบบท่นี ำเสนอในบทควำมน้ีจะอำศยั ขอ้ มูล automated access control system is proposed. The proposed system ทไ่ี ด้รบั จำกระบบ Active Directory มำสร้ำงคำสงั่ ในกำรควบคุมกำรเขำ้ ถึง uses the credential information from Active Directory (AD) system to รวมไปถงึ ตดิ ตงั้ คำสงั่ นนั้ ท่ตี วั อุปกรณ์เครอื ขำ่ ยโดยอำศยั สครปิ ต์ (Script) ท่ี control the access of the computer system and the network, while the สรำ้ งขนึ้ โดยใชภ้ ำษำไพทอน (Python) ซ่งึ ระบบท่นี ำเสนอนีจ้ ะสำมำรถชว่ ย traditional approach generally use AD to control the access of the ให้กำรจดั กำรกำรเขำ้ ถึงระบบของผใู้ ช้นนั้ สำมำรถปรบั เปล่ยี นตำมควำม computer system, the proposed system also uses the information ตอ้ งกำรใหม่ ๆ ได้ง่ำย รวมไปถึงลดโอกำสท่จี ะเกดิ ควำมผดิ พลำดของ from Active Directory system to create and implement the new access มนุษยท์ ่ที ำกำรตดิ ตงั้ ระบบใหมอ่ ยำ่ งไมถ่ ูกตอ้ งได้ control service in the network devices by using Python script. The main advantage of the proposed system is that any changes in the 2. ทฤษฏที เ่ี กย่ี วขอ้ ง access control policy will require to make the changes only in the ในกำรจดั ทำจะมีกำรนำเทคโนโลยตี ำ่ งๆ เขำ้ มำช่วยในกำรทำงำนของ Active Directory system. For the access control in the network ระบบ เพ่ือช่วยให้ระบบมีประสิทธิภำพและมีควำมรวดเร็วในกำรทำงำน components, the proposed system will handle this issue instead of the มำกยงิ่ ขนึ้ เทคโนโลยที ่ใี ชใ้ นกำรจดั ทำ มดี งั นี้ administrator. As a result, the probability of configuration mistakes can be reduced and it also can help to facilitate the task of adapting new access control policies in the computer network system. 184

การประชุมวิชาการระดบั ชาตดิ ้านเทคโนโลยสี ารสนเทศ ครั้งท่ี 11 (NCIT2019) 2.1 Active Directory (AD) เลก็ ทอ่ี อกสู่อนิ เทอรเ์ น็ตดว้ ยเสน้ ทำงเพยี งเสน้ เดยี ว แต่อำจจะไม่เหมำะสม AD เป็นเทคโนโลยที ่ชี ว่ ยในเก็บรวบรวมขอ้ มูลเก่ยี วกบั บญั ชผี ใู้ ชง้ ำน, กบั ระบบท่มี ขี นำดใหญ่มำกขนึ้ คอมพวิ เตอรแ์ อคเคำท์, ทรพั ยำกรทม่ี ใี นเครอื ขำ่ ย ซ่งึ ทำใหส้ ำมำรถจดั กำร รปู ท่ี 1. แสดงกำรทำงำนเบอ้ื งตน้ ของ Directory Service ขอ้ มูลไดง้ ่ำยขน้ึ เพรำะสำมำรถสงั่ ควบคมุ กำรทำงำนของทงั้ ระบบจำกจดุ ใด 2.2 Lightweight Directory Access Protocol (LDAP) จุดหน่ึงในระบบได้ เพรำะขอ้ มูลของทัง้ ระบบจะถูกเก็บและสำมำรถ เป ล่ีย น แ ป ล งได้จ ำ ก ก ำ ร สัง่ ง ำ น บ น ตัว ข อ ง Active Directory ท่ี LDAP เป็นภำษำกลำงสำหรบั ติดต่อส่อื สำรระหว่ำง Directory Client เปรยี บเสมอื นแหล่งรวบรวมรำยช่อื ผใู้ ช้ รำยช่อื ทรพั ยำกรต่ำงๆ ท่ที ำงำน และ Directory Server ทำใหส้ ำมำรถท่จี ะตดิ ต่อกนั ขำ้ มแฟลตฟอรม์ ได้ ซ่งึ บนเครอื ขำ่ ยไว้ดว้ ยกนั [1] โดยท่ี Active Directory จะมีฐำนขอ้ มูลสำหรบั LDAP มีควำมเร็วในกำรเขำ้ ถึงข้อมูลสูง ทำให้สำมำรถเขำ้ ถึงขอ้ มูลและ จดั กำร Directory บน Server นอกจำกน้ียงั ช่วยให้เรำสำมำรถควบคุม อพั เดตขอ้ มลู ในฐำนขอ้ มลู ไดง้ ำ่ ยและรวดเรว็ [5] ปริมำณข้อมูลท่ีมีในระบบเน็ตเวิร์กได้อีกด้วย เพรำะสำมำรถกำหนด 2.3 Django Framework เง่อื นไขในกำรล็อกออน (Logon) ของเคร่อื งไคลเอนทว์ ่ำจะตอ้ งขอทำกำร ตรวจสอบ จำกเคร่ืองโดเมนคอนโทรลเลอร์ท่ีอยู่ใกล้เคียงกับเคร่ือง Django เป็นชุดเคร่อื งมอื สำหรบั กำรพฒั นำเว็บไซตด์ ว้ ยภำษำไพทอน ไคลเอนตข์ องผใู้ ช้ ซ่งึ ครอบคลมุ กำรทำงำนเก่ยี วกบั กำรสรำ้ งเวบ็ ไซตใ์ นหลำย ๆ ด้ำน ไม่ว่ำ จะเป็ น กำรจดั กำรฐำนขอ้ มูล, ระบบจดั กำรเว็บไซต์ (Backend), ส่วน Active Directory แบ่งออกไดเ้ ป็น 2 สว่ น สว่ นแรกเป็นสว่ นท่ที ำหน้ำท่ี แสดงผล (Frontend), ระบบกำรทำงำนกบั ฟอร์ม รวมไปถงึ กำรติดต่อกบั ใหบ้ รกิ ำรแก่ผใู้ ชง้ ำนและผดู้ แู ลระบบ สว่ นท่สี องคอื ฐำนขอ้ มลู มหี นำ้ ทเ่ี ป็น Active Directory ดว้ ย ซ่งึ Django Framework มเี ป้ำหมำยหลกั ในกำรทำ ฐำนขอ้ มูลท่จี ดั เกบ็ ขอ้ มูลตำ่ ง ๆ ของระบบเครอื ขำ่ ย ใหก้ ำรสร้ำงเวบ็ ไซตท์ ่ที ำงำนรว่ มกบั ฐำนขอ้ มลู ท่มี ีควำมซบั ซอ้ นใหง้ ่ำยขน้ึ ทำใหส้ ำมำรถจดั กำรกบั ฐำนขอ้ มลู ไดอ้ ยำ่ งรวดเรว็ โดยกำรจดั ทำ จะต้องมี Domain Controller (DC) คอื เซริ ฟ์ เวอร์ท่ที ำ หน้ำท่จี ัดเกบ็ ฐำนขอ้ มูลของโดเมน (Domain database) และจดั กำรกำร Django จะเรมิ่ ทำงำน เม่อื ผใู้ ชก้ รอกช่อื ผใู้ ชแ้ ละรหสั ผำ่ น กจ็ ะนำขอ้ มูล ส่อื สำรระหว่ำงยูสเซอรก์ บั โดเมนและยงั ทำหน้ำท่ใี หบ้ รกิ ำรตรวจสอบกำรล็ น้ี ไปตรวจสอบใน Active Directory อกออน (Logon Authentication) เขำ้ โดเมนของเคร่อื งคอมพวิ เตอรล์ กู ขำ่ ย (Client computer) และผู้ใช้ (User) ซ่ึง Domain Controller จะเรม่ิ ทำงำน Django เป็นโปรแกรม Software Open Source ท่เี ปิดใหท้ ุกคนไดเ้ ขำ้ เม่ือมีกำรลงช่ือเข้ำใช้ระบบ โดย Domain Controller จะตรวจสอบช่ือ ใชไ้ ดแ้ ละสำมำรถพฒั นำตอ่ ไปได้ จงึ เลอื กมำใชใ้ นกำรจดั ทำระบบนี้ ผใู้ ช้งำนท่ีเขำ้ มำยงั ระบบ ว่ำมีข้อมูลอยู่ในระบบฐำนข้อมูลหรอื ไม่ หำก 2.4 GNS3 ตรวจสอบช่อื ผใู้ ช้แล้วพบขอ้ มูล ก็จะทำกำรตรวจสอบรหสั ผูใ้ ชง้ ำนในขนั้ ต่อไป ว่ำถูกต้องหรือไม่ ถ้ำถูกต้องก็จะให้สิทธิกำรเข้ำถึง ให้สำมำรถ GNS3 เป็นเทคโนโลยีท่ีทำให้สำมำรถจำลองกำรทำงำนและตงั้ ค่ำ เช่อื มต่อและเขำ้ ใชท้ รพั ยำกรต่ำง ๆ ได้ [2] อุปกรณ์เครอื ขำ่ ย เชน่ เรำเตอร์ (Router), และ สวติ ช์ (Switch) จำกกำรศึกษำพบงำนท่ใี กล้เคยี งกบั งำนในแนวทำงท่ีจดั ทำ จำนวน ขอ้ ดีของโปรแกรมจำลอง GNS3 น้ี คือ สำมำรถทดสอบกำรทำงำน สองงำน งำนแรก คือ ระบบ AD ท่ีถูกนำไปใช้ในกำรจัดกำรกำรเขำ้ ถึง ตำมท่ีเรำตงั้ ค่ำเรำเตอร์, สวติ ช์ เหล่ำน้ีไว้ได้ โดยไม่จำเป็นต้องมอี ุปกรณ์ ระบบคอมพวิ เตอร์ท่ตี อ้ งกำรใหต้ รวจสอบสทิ ธขิ องผใู้ ชง้ ำนกอ่ นถงึ จะใชง้ ำน จริง ซ่ึงช่วยประหยดั เวลำจำกกำรใชง้ ำนอุปกรณ์จริง ในกำรจดั ทำ จะนำ ระบบนนั้ ๆ ได้ ยกตวั อยำ่ งเช่นระบบบรหิ ำรจดั กำรหอ้ งเรยี นออนไลน์ [3] GNS3 มำใช้ในกำรจำลองกำรทำงำนของเรำเตอร์ เพ่ือใช้ในกำรทำ แต่ถำ้ ผดู้ แู ลระบบตอ้ งกำรจะควบคุมกำรเขำ้ ถงึ ระบบเครอื ขำ่ ยด้วย ผดู้ แู ล ระบบจำเป็นจะต้องทำกำรติดตงั้ ระบบกำรจัดกำรกำรเขำ้ ถึงของระบบ เครอื ขำ่ ยเพิม่ ขน้ึ มำอกี 1 ระบบ ทำให้เพ่ิมควำมซบั ซ้อนในกำรดูแลรกั ษำ ระบบได้ ในงำนท่ีสองจะเป็ นระบบท่ีมีควำมสำมำรถในกำรทำงำน ใกล้เคยี งกบั แนวทำงท่นี ำเสนอในบทควำมนี้ คอื ระบบยนื ยนั ตวั ตนกำรใช้ อนิ เทอรเ์ น็ตเพ่อื เสรมิ แรงกำรเรยี นรขู้ องนกั เรยี น [4] แต่ระบบนี้ถกู พฒั นำ และตดิ ตงั้ บนเคร่อื งคอมพวิ เตอรเ์ คร่อื งเดียว โดยพฒั นำระบบดว้ ยกำรส่ง หน้ำกำรเข้ำสู่ระบบของระบบยนื ยนั ตัวตน ไปตรวจสิทธิก์ ำรใช้งำนผำ่ น MySQL หำกถูกตอ้ งสำมำรถเขำ้ สูร่ ะบบและสำมำรถปรบั เปล่ยี นควำมเร็ว ในกำรใชอ้ นิ เทอร์เน็ตดว้ ยกำรทำขอ้ สอบใหถ้ ูกต้อง เหมำะกบั ระบบขนำด 185

การประชมุ วิชาการระดบั ชาติดา้ นเทคโนโลยีสารสนเทศ ครั้งที่ 11 (NCIT2019) Access Control List ท่เี ป็นกลไกกำรควบคุมท่ีระบุสิทธิในกำรอนุญำตให้ 2.7 Telnet เขำ้ ถงึ ทรพั ยำกรระหวำ่ งเคร่อื ง (Host) หรอื ระหวำ่ งเครอื ขำ่ ย (Network) Telnet เป็นโพรโทคอลสำหรบั กำรเขำ้ ใชร้ ะบบจำกระยะไกลช่วยใหผ้ ใู้ ช้ 2.5 Access Control Lists (ACLs) คอมพวิ เตอรส์ ำมำรถเขำ้ ไปใชเ้ คร่อื งอ่นื ท่อี ยใู่ นท่ี ACL เป็นเทคโนโลยที ่ชี ่วยเพม่ิ ควำมปลอดภยั ใหก้ บั เครอื ข่ำย เป็นกำร ต่ำง ๆ ทงั้ ภำยในและภำยนอกเครอื ขำ่ ยของผใู้ ชไ้ ดแ้ ละยงั สำมำรถเรยี กใช้ กรองกลุ่มขอ้ มูลท่ีต้องกำรเขำ้ หรอื ออกท่อี ุปกรณ์เรำเตอร์ ให้เป็นไปตำม บรกิ ำรต่ำง ๆ บนเคร่อื งเหล่ำนนั้ ได้ด้วย ซ่งึ ในกำรจดั ทำไดน้ ำ Telnet มำ เง่ือนไขท่ีต้องกำร เช่น อนุญำต (Permit) หรือไม่อนุญำต (Deny) ให้ ช่วยในกำรตดิ ต่อกบั อุปกรณ์เครอื ขำ่ ย อปุ กรณ์ตดิ ตอ่ กบั ปลำยทำง [6] โดยเรำสำมำรถจำกดั กำรเช่อื มตอ่ ดว้ ยกำร 2.8 Internet Control Message Protocol (ICMP) ตงั้ คำ่ Access Control Lists ผำ่ นเรำเตอร์ ได้ 2 ประเภท คอื ICMP เป็นโพรโทคอลท่ใี ช้ในกำรตรวจสอบและรำยงำนสถำนะของ 2.5.1 Standard ACLs เป็นกำรตงั้ ค่ำพื้นฐำนท่ีทำกำรกรองกำรไหล ดำต้ำแกรม (Datagram) ในกรณีท่เี กิดปัญหำกบั ดำตำ้ แกรม เช่น อปุ กรณ์ ของขอ้ มูล ด้วยหมำยเลขประจำเคร่ืองคอมพิวเตอร์ต้นทำง (Source เรำเตอร์ (Router) ไม่สำมำรถส่งดำตำ้ แกรมไปถึงปลำยทำงได้ ICMP จะ Address) เท่ำนนั้ โดยจะตรวจสอบท่อี ปุ กรณ์ปลำยทำงวำ่ หมำยเลขประจำ ถูกส่งออกไปยงั เคร่อื งตน้ ทำงเพ่อื รำยงำนข้อผดิ พลำด ซ่งึ เป็นเคร่อื งมือ เคร่ืองคอมพิวเตอร์ต้นทำงท่ีต้องกำรเข้ำมำเช่ือมต่อนัน้ ได้รับอนุญำต อยำ่ งหน่งึ ในกำรช่วยทดสอบเครือขำ่ ย เช่น คำสงั่ ping ท่ใี ช้ในกำรทดสอบ หรือไม่ หำกได้รบั อนุญำตจะสำมำรถตดิ ต่อกบั ปลำยทำง แต่ถ้ำไม่ได้รบั ว่ำเคร่ืองปลำยทำงสำมำรถใช้งำนและเข้ำถึงได้และยังสำมำรถท่ีจะ อนุญำตจะไม่สำมำรถเช่อื มต่อได้ กำรวำง Standard ACLs จงึ ควรวำงใน ตรวจสอบรำยละเอียดตำ่ ง ๆ ได้ อำทิ เวลำเดนิ ทำงโดยเฉลย่ี ของขอ้ มูลไป ตำแหน่งท่ใี กลป้ ลำยทำงมำกท่สี ดุ กลบั เป็นหน่วยมิลลิวนิ ำทีและอตั รำกำรสูญเสยี ขอ้ มูลระหว่ำงโฮสต์เป็น เปอรเ์ ซน็ ต์ รูปท่ี 2. คำสงั่ พน้ื ฐำนในกำรจำกดั กำรเขำ้ ถงึ ประเภท Standard ACLs 3. วธิ กี ำรดำเนินงำน 2.5.2 Extended ACLs เป็นกำรตงั้ ค่ำท่ชี เ้ี ฉพำะมำกขนึ้ สำมำรถระบุ รำยละเอียดของข้อมูล เช่น หมำยเลขประจำเคร่ืองต้นทำง (Source รูปท่ี 4. ภำพกำรจำลองเครอื ขำ่ ยองคก์ ร Address), หมำยเลขป ระจำเคร่ืองปลำยทำง (Destination Address), กำรพฒั นำระบบต้นแบบสำหรบั ระบบจำกดั กำรเขำ้ ถงึ แบบอตั โนมตั ิ รูปแบบของโพรโทคอล (Protocol Type), หมำยเลขพอร์ต (Port Number) จะอำศยั กำรจำลองโครงสร้ำงเครือข่ำยด้วยโปรแกรม GNS3 โดยระบบ ทำใหส้ ำมำรถตรวจสอบกำรเช่อื มต่อได้จำกหมำยเลขประจำเคร่อื งตน้ ทำง เครอื ข่ำยของระบบต้นแบบจะประกอบด้วย 3 โซนหลกั คอื User Zone, และหมำยเลขประจำเคร่ืองปลำยทำง ได้เลยว่ำสำมำรถเช่ือมต่อกับ Server Zone และInternet Zone ตำมท่แี สดงในรูปท่ี 4 ปลำยทำงได้หรอื ไม่ตงั้ แต่ตน้ ทำง ดงั นนั้ กำรวำง Extended ACLs จงึ ควร วำงในตำแหน่งท่ใี กลต้ น้ ทำงมำกท่สี ุด รปู ท่ี 5. ภำพกำรจำลองกำรจดั กลมุ่ ผใู้ ชง้ ำน รูปท่ี 3. คำสงั่ พน้ื ฐำนในกำรจำกดั กำรเขำ้ ถงึ ประเภท Extended ACLs 2.6 กำรโปรแกรมบนระบบเครอื ขำ่ ยดว้ ยภำษำไพทอน เน่ืองจำกกระบวนกำร Network Automation ได้รบั ควำมนิยมมำกขนึ้ เพรำะโครงสร้ำงของระบบไอทีมีกำรเติบโตอย่ำงรวดเร็วและมีควำม ซบั ซอ้ นสงู ขนึ้ เร่อื ยๆ ดงั นนั้ หำกผดู้ ูแลระบบเครือขำ่ ยจะทำกำรปรบั แตง่ ค่ำ ต่ำงๆ ด้วยตนเองอยู่ตลอดเวลำ นอกจำกจะทำให้ทำงำนไดช้ ้ำแล้วยงั มี โอกำสทจ่ี ะทำใหเ้ กดิ ควำมผดิ พลำดได้งำ่ ยอกี ด้วย ดงั นนั้ กำรเขยี นสครปิ ต์ เพ่อื ควบคุมกำรตงั้ คำ่ ตำ่ ง ๆ จะช่วยใหท้ ำงำนได้งำ่ ยและรวดเรว็ ขนึ้ ในกำร จดั ทำครงั้ นเี้ รำจงึ เลอื กใช้ ภำษำไพทอนในกำรเขยี นสครปิ ตเ์ พ่อื ตงั้ ค่ำและ ควบคุมอุปกรณ์ตำ่ งๆในระบบเครอื ขำ่ ย 186

การประชุมวิชาการระดับชาตดิ า้ นเทคโนโลยสี ารสนเทศ ครงั้ ท่ี 11 (NCIT2019) ในส่วนกำรจำกดั กำรเขำ้ ถึง จะอำศัยกำรตัง้ ค่ำ Extended Access 2) เวบ็ ไซตจ์ ะตดิ ต่อไปยงั Active Directory Database เพ่อื คน้ หำ Control List เพ่ือกำหนดสิทธใิ์ นกำรเข้ำถึงของแต่ละกลุ่ม โดยในระบบ ช่อื ผใู้ ชง้ ำนและรหสั ผำ่ นในฐำนขอ้ มูล โดยใช้โพรโทคอล LDAP ตน้ แบบทพ่ี ฒั นำขน้ึ มำ จะมกี ำรแบง่ กล่มุ ผใู้ ชง้ ำน (User) เป็น 3 กลุ่ม ดงั น้ี เป็นตวั กลำงในกำรตดิ ต่อ [8] 1) กลุม่ Neighbor เคร่อื งคอมพวิ เตอรใ์ นกลุ่มนี้สำมำรถทดสอบส่ง 3) เม่อื พบขอ้ มูลในฐำนขอ้ มูล Active Directory จะตอบกลบั ไปยงั ขอ้ มูลไปยงั เคร่อื งปลำยทำงได้ โดยในกำรทดลองเรำจะอำศยั Web Server ดงั แสดงในรูปท่ี 8 ขอ้ มูลท่เี กดิ จำก คำสงั่ Ping ซง่ึ องิ กบั โพรโทคอล ICMP 4) Web Server จะนำขอ้ มูลหมำยเลขประจำเคร่อื งตน้ ทำงและกลมุ่ 2) กลุ่ม Server ผูใ้ ช้งำนในกลุ่มนี้จะสำมำรถเขำ้ ถึง Web Server ของผใู้ ชง้ ำนกำรท่ไี ดจ้ ำก Active Directory ไปประมวลผลท่ี ใน Server Zone ได้ คำสงั่ กำรควบคมุ กำรเขำ้ ถงึ ท่เี ขยี นดว้ ยภำษำไพทอน [9] 3) กลมุ่ Internet ผใู้ ชง้ ำนในกลุ่มนี้สำมำรถเขำ้ ถงึ ขอ้ มูลในเครอื ขำ่ ย 5) สง่ คำสงั่ กำรควบคุมกำรเขำ้ ถงึ ไปยงั เรำเตอร์ ผำ่ นกำร Telnet อนิ เทอรเ์ นต็ ได้ 6) เรำเตอรต์ อบกลบั ไปยงั หน้ำ Web Server เพ่อื แสดงสทิ ธกิ์ ำร โดยขอ้ มลู ของผใู้ ชง้ ำนทงั้ ช่อื ผใู้ ชง้ ำนและรหสั ผำ่ นจะถูกจดั เกบ็ ไวท้ ่ี เขำ้ ถงึ ของผใู้ ช้ Active Directory ซง่ึ มกี ำรจดั กลุม่ แยกอยำ่ งชดั เจน รปู ท่ี 7. หนำ้ เวบ็ ไซตเ์ พ่อื ใหผ้ ใู้ ชท้ ำกำร login เขำ้ ใชง้ ำนระบบ ระบบจำกดั กำรเขำ้ ถงึ แบบอตั โนมตั ิ จะใช้ Django Framework ในกำร สรำ้ งส่วน Front-End ท่จี ะทำหน้ำท่ีตดิ ต่อกบั Active Directory และใช้ใน รปู ท่ี 8. หนำ้ เวบ็ ไซต์ระบบเม่อื ผใู้ ชท้ ำกำร login เขำ้ ใชง้ ำนไดส้ ำเรจ็ กำรประมวลผลหน้ำเวบ็ ไซต์ โดยหน้ำเว็บไซต์จะมีช่องให้กรอกขอ้ มูลช่ือ ขนั้ ตอนกำรติดตงั้ คำสงั่ Access Control List เม่ือผูใ้ ช้ทำกำร login ผู้ใช้และรหัสผ่ำน ในกำรล็อกอินเข้ำใช้งำนระบบ หลังจำกนัน้ จะใช้ เขำ้ สู่ระบบ (กระบวนกำรต่อไปนี้จะถูกพฒั นำขน้ึ โดยอำศยั ภำษำไพทอน Lightweight Directory Access Protocol (LDAP) [7] เป็ นตวั กลำงในกำร และทำกำรตดิ ตงั้ ท่ี WebServer ในรปู ท่ี 5) ตดิ ต่อส่อื สำรไปยงั Active Directory ท่ใี ชส้ ำหรบั คน้ หำขอ้ มูลในฐำนขอ้ มูล 1) ทำกำรตดิ ตอ่ ไปยงั อุปกรณ์เครอื ขำ่ ยท่ตี อ้ งกำร โดยอำศยั โพรโท เพ่อื คน้ หำช่อื ผใู้ ช้และรหสั ผ่ำน ว่ำพบในฐำนขอ้ มูลหรือไม่ ถ้ำพบขอ้ มูลใน ฐำนขอ้ มูล Active Directory จะตอบกลบั ไปยงั Web Server ว่ำมขี อ้ มลู ใน คอล Telnet ฐำนขอ้ มูลจรงิ หลงั จำกนนั้ จะนำขอ้ มูลกำรตอบกลบั จำก Active Directory 2) ทำกำรดึงค่ำเทม เพ ลต (Template) ขอ งคำสัง่ Extended ไปประมวลผลต่อในกำรเขยี น Script ทม่ี กี ำรควบคุม Access Control List โดยกำรนำหมำยเลขประจำเคร่อื งต้นทำงและกลุ่มของผใู้ ชง้ ำนท่ผี แู้ ลระบบ Access Control Lists (ACL) ท่ีถูกกำหนดไว้ตำมสิทธิกำรใช้ ได้กำหนดขึน้ เพ่ือไปประมวลผลใน Access Control List Script และส่ง งำนของผใู้ ชใ้ นกล่มุ ทร่ี ะบุมำจำกขอ้ มูลท่ไี ด้รบั จำกระบบ Active Script เพ่อื ไปทำงำนตอ่ ในเรำเตอร์ ผำ่ นกำร Telnet เพ่อื ใหส้ ำมำรถจำกดั Directory รวมทงั้ ทำกำรดงึ ค่ำ IP address ของเคร่อื งของผใู้ ช้ กำรเข้ำถึงของผูใ้ ช้งำนท่ีลอ็ คอินเข้ำมำใช้งำนไดต้ ำมท่ีผดู้ ูแลได้กำหนด 3) ทำกำรส่งคำสงั่ ACL ท่อี ิงกบั เทมเพลตของผใู้ ช้ทท่ี ำกำรรอ้ งขอ ดงั ทแ่ี สดงใน รปู ท่ี 6 เข้ำมำท่ีตัวระบบ โดยระบบจะใช้โพรโทคอล Telnet เพ่ือส่ง คำสงั่ ไปตดิ ตงั้ กำรจำกดั กำรเขำ้ ถงึ ทอ่ี ุปกรณ์เครอื ขำ่ ยเป้ำหมำย รปู ท่ี 6. ขนั้ ตอนกำรทำงำนระบบจำกดั กำรเขำ้ ถงึ อตั โนมตั ิ โดยอตั โนมตั ิ ซ่งึ คำสงั่ ACL ท่ใี ชง้ ำนนี้จะเป็นคำสงั่ ท่ใี ช่สำหรบั ผใู้ ชท้ ท่ี ำกำรรอ้ งขอมำ ณ ปัจจบุ นั เท่ำนัน้ ดงั ท่แี สดงในรปู ท่ี 9 ขนั้ ตอนกำรทำงำนระบบจำกดั กำรเขำ้ ถงึ อตั โนมตั ิ 4) บนั ทกึ คำสงั่ ในกำรจำกดั กำรเขำ้ ถงึ ไวใ้ นฐำนขอ้ มูล 1) ผใู้ ชเ้ ขำ้ สู่ระบบโดยกำรกรอกช่อื ผใู้ ชง้ ำนและรหสั ผำ่ น ผำ่ นหนำ้ 5) ทำกำรยกเลกิ กำรเช่อื มต่อ Telnet กบั อปุ กรณ์เครอื ขำ่ ย เวบ็ ไซต์ ดงั แสดงในรปู ท่ี 7 187

การประชมุ วิชาการระดบั ชาตดิ า้ นเทคโนโลยสี ารสนเทศ คร้ังท่ี 11 (NCIT2019) เวลำเฉล่ยี ในกำรตดิ ตงั้ คำสงั่ ในกำรจำกดั กำรเขำ้ ถงึ ต่อ ตรงตำมฐำนข้อมูล จะทำกำรดึงข้อมูล IP Address เคร่อื งต้นทำงของ ผใู้ ชง้ ำนเพ่อื ใช้ในกำรสรำ้ งคำสงั่ ควบคมุ ไปยงั อปุ กรณ์เครอื ขำ่ ยท่เี ก่ยี วขอ้ ง จำนวนผใู้ ชใ้ หมท่ ่เี พม่ิ ขน้ี (วนิ ำท)ี ไดท้ นั ที ทำใหส้ ำมำรถควบคุมผใู้ ชง้ ำนไดอ้ ยำ่ งอตั โนมตั ิ ต่ำงจำกระบบกำร จำกัดกำรเข้ำถึงแบบดัง้ เดิม ซ่ึงทำงผู้ดูแลระบบต้องเขยี นคำสงั่ จำกัด ผใู้ ชเ้ พมิ่ 1 บญั ชี ผใู้ ชเ้ พม่ิ 3 บญั ชี ผใู้ ชเ้ พม่ิ 5 บญั ชี ผู้ใช้งำนตำม IP Address เคร่ืองต้นทำงของผู้ใช้งำนแบบระบุเองทุก อปุ กรณ์ท่ผี ใู้ ชง้ ำนตอ้ งกำรเขำ้ ถึง ซ่งึ เป็นกำรตดิ ตงั้ Access Control Lists วิธีติดตงั้ 5 นำที 15 นำที 26 นำที ทต่ี อ้ งตงั้ คำ่ เองท่อี ปุ กรณ์เครอื ขำ่ ยทเ่ี กย่ี วขอ้ ง ซง่ึ หำกตอ้ งกำรเปล่ยี นแปลง จะต้องไปทำกำรแกไ้ ขท่อี ุปกรณ์เครือขำ่ ยท่เี ก่ยี วขอ้ งโดยตรง ดงั แสดงผล แบบดงั้ เดิม 44 วนิ ำที 36 วนิ ำที 12 วนิ ำที กำรเปรยี บเทยี บใน ตำรำงท่ี 1 ระบบจากดั 3 นำที 11 นำที 25 นำที 5. สรปุ ผลกำรดำเนินงำน การเขา้ ถงึ 12 วนิ ำที 46 วนิ ำที 29 วนิ ำที จำกกำรศกึ ษำและคน้ ควำ้ เก่ยี วกบั กำรดำเนินงำนของระบบจำกดั กำร อตั โนมตั ิ เข้ำถึงแบบอตั โนมตั ิ พบว่ำระบบท่ีนำเสนอข้นึ มำนี้สำมำรถช่วยให้กำร จดั กำรกำรเขำ้ ถึงของผใู้ ชง้ ำนในระบบสำมำรถทำไดส้ ะดวก รวดเรว็ มำกขน้ึ ตำรำงท่ี 1. กำรเปรยี บเทยี บระบบจำกดั กำรเขำ้ ถงึ แบบดงั้ เดมิ กบั ระบบ รวมไปทงั้ ยงั ช่วยใหผ้ ดู้ ูแลระบบสำมำรถปรบั เปล่ยี นนโยบำยในกำรเขำ้ ถึง ขอ้ มูลได้งำ่ ยขนึ้ และมโี อกำสจะเกดิ ควำมผดิ พลำดในกำรตดิ ตงั้ นอ้ ยลง ซ่งึ จำกดั กำรเขำ้ ถงึ อตั โนมตั ิ ตำ่ งจำกวธิ ตี ดิ ตงั้ แบบดงั้ เดมิ ท่เี ม่อื มผี ใู้ ชง้ ำนเพมิ่ ขนึ้ จะตอ้ งตงั้ ค่ำใหม่ทุกครงั้ ทำใหเ้ กดิ ควำมยงุ่ ยำกและเพม่ิ เวลำในกำรทำงำนมำกขน้ึ ขนั้ ตอนกำรลบคำสงั่ Access Control List เม่อื ผใู้ ชไ้ ดอ้ อก แตอ่ ยำ่ งไรกต็ ำมระบบท่นี ำเสนอขน้ึ มำนีก้ ย็ งั มีขอ้ จำกดั อยู่ โดยท่รี ะบบ จำกระบบโดยกำร logout ผ่ำนหน้ำเว็บ (กระบวนกำรต่อไปน้ีจะถูก ตน้ แบบท่พี ฒั นำขนึ้ มำยงั องิ กบั กำรทำงำนของโพรโทคอล Telnet ซ่งึ ไม่มี พฒั นำขนึ้ โดยอำศยั ภำษำไพทอน และทำกำรตดิ ตงั้ ท่ี WebServer ในรปู ท่ี กำรเข้ำรหัสข้อมูลท่ีทำกำรรับส่งข้อมูล ซ่ึงในอนำคตอำจจะทำกำร 5 ปรับเปล่ียนไปใช้โพรโทคอล SSH เพ่ือให้มีควำมปลอดภัยมำกขึ้น นอกจำกน้ีแล้วคำสงั่ ในกำรติดตงั้ กำรควบคุมกำรเข้ำถึงยงั มีขอบเขตท่ี 1) ทำกำรตดิ ตอ่ ไปยงั อุปกรณ์เครอื ขำ่ ยทต่ี อ้ งกำร โดยอำศยั โพรโท รองรบั แค่อุปกรณ์เครอื ข่ำยของบริษทั Cisco ท่ีใชง้ ำนระบบปฏิบตั กิ ำร คอล Telnet Cisco IOS เท่ำนนั้ ซ่ึงในอนำคตจะตอ้ งมีกำรพฒั นำเพิ่มเติมให้รองรับ อุปกรณ์ท่หี ลำกหลำยมำกขนึ้ 2) ดงึ คำสงั่ ในกำรจำกดั กำรเขำ้ ถงึ ของผใู้ ชจ้ ำกฐำนขอ้ มูลทเ่ี กบ็ ไว้ 3) ทำกำรส่งคำสงั่ ท่ีจะทำกำรลบเฉพำะคำสงั่ ในกำรจำกดั กำร เอกสารอ้างอิง เขำ้ ถงึ ของผใู้ ชท้ ร่ี ะบอุ อกจำกอปุ กรณ์เครอื ขำ่ ยท่ตี อ้ งกำร [1] “Active Directory คอื อะไร? สำคญั อยำ่ งไร?,” 4 December 2017. 4) ลบขอ้ มูลคำสงั่ ในกำรจำกดั กำรเขำ้ ถงึ ของผใู้ ช้ท่ีทำกำร logout [ออนไลน์]. Available: https://bit.ly/2ZOY6Gw. ออกจำกฐำนขอ้ มูล [2] “ทำควำมรจู กั กบั Active Directory,” 11 November 2017. [ออนไลน์]. 5) ทำกำรยกเลกิ กำรเช่อื มต่อ Telnet กบั อุปกรณ์เครอื ขำ่ ย Available: https://bit.ly/2vsGC50. รปู ท่ี 9. ผลกำรตดิ ตงั้ คำสงั่ ACL ท่อี ุปกรณ์เครอื ขำ่ ยโดยระบบทน่ี ำเสนอ [3] สจุ ติ รำ ยอดเสน่หำ, “กำรประยุกต์ใชร้ ะบบยนื ยนั ตวั ตนเพยี งครงั้ เดยี วใน 4. กำรเปรยี บเทยี บกำรทำงำนกบั ระบบกำรจำกดั กำรเขำ้ ถงึ แบบดงั้ เดมิ กำรบรหิ ำรจดั กำรหอ้ งเรยี นออนไลน์ มหำวทิ ยำลยั เทคโนโลยรี ำชมงคล ธญั บุร,ี ” สำนักวชิ ำกำรและเทคโนโลยสี ำรสนเทศ มหำวทิ ยำลยั โดยระบบจำกดั กำรเขำ้ ถึงแบบอตั โนมตั ิท่ีพัฒนำในบทควำมนี้ จะ เทคโนโลยรี ำชมงคลธญั บรุ ,ี 2017. [ออนไลน์]. Available: สำมำรถควบคุมผำ่ นคำสงั่ Access Control Lists ท่เี ขยี นไว้ เม่อื มผี ใู้ ชง้ ำน https://bit.ly/31ukNzU. เข้ำสู่ระบบผ่ำนหน้ำเว็บไซต์ของระบบ ระบบจะทำกำรตรวจสอบขอ้ มูล ผใู้ ชง้ ำนในฐำนขอ้ มลู ของ Active Directory เม่อื ตรวจสอบขอ้ มลู แลว้ พบว่ำ [4] บุญมี มุคสงิ ห์, ไพศำล สธุ บี รรเจดิ , พณณำ ตงั้ วรรณวทิ ย์, “กำรพฒั นำ ระบบยนื ยนั ตวั ตนกำรใชอ้ นิ เทอรเ์ น็ตเพอ่ื เสรมิ แรงกำรเรยี นรขู้ อง นักเรยี น,” 2558. [ออนไลน์]. Available: https://bit.ly/31ZsX3u. [5] E. A. Sciberras, “Lightweight Directory Access Protocol (LDAP),” June 2006. [ออนไลน์]. Available: https://bit.ly/2Y2PbQj. [6] CCNA, “ACLs (Access Control Lists) Part I,” [ออนไลน์]. Available: https://bit.ly/2WjzGTE. [7] “python-ldap sample code,” EDU Network, [ออนไลน์]. Available: 188

การประชุมวชิ าการระดับชาติด้านเทคโนโลยสี ารสนเทศ คร้งั ที่ 11 (NCIT2019) http://bit.ly/2JhoaVT. [8] “python-ldap and Microsoft Active Directory: connect and delete user,” 23 May 2017. [ออนไลน์]. Available: http://bit.ly/2JopLcj. [9] S. P. Bentley, “How do I filter an LDAP query for groups containing a specific user?,” 18 May 2011. [ออนไลน์]. Available: http://bit.ly/2Q6qGi4. 189

การประชุมวชิ าการระดับชาติดา้ นเทคโนโลยีสารสนเทศ ครงั้ ท่ี 11 (NCIT2019) แชทบอทสำหรบั สนับสนุนผเู้ ร่ิมต้นเขียนโปรแกรม Chatbot for Supporting Programming Beginners พรี ะศกั ดิ ์ เพยี รประสทิ ธิ ์ ภทั รพล หมวกมณี Peerasak Pianprasit Phataraphon Hmuakmanee คณะวทิ ยาการสารสนเทศ มหาวทิ ยาลยั บรู พา คณะวทิ ยาการสารสนเทศ มหาวทิ ยาลยั บรู พา Faculty of Informatics, Burapha University Faculty of Informatics, Burapha University ชลบุรี / ประเทศไทย [email protected] ชลบุรี / ประเทศไทย [email protected] บทคัดย่อ — ทักษะกำรแก้ไขปัญหำในกำรเขียนโปรแกรมถือเป็ น 1. บทนำ ทกั ษะสำคญั ที่ผพู้ ฒั นำซอฟตแ์ วรค์ วรมี ซึ่งโดยปกติแล้วเม่ือเขียนโปรแกรม ทักษะกำรเขยี นโปรแกรมนัน้ ถือว่ำเป็ นสิ่งท่ีสำคัญอย่ำงหน่ึงของ ไม่ถกู ต้องตำมหลกั ไวยำกรณ์ของภำษำแล้วตวั แปลภำษำจะแสดงข้อควำม ผพู้ ฒั นำโปรแกรม นอกจำกทกั ษะกำรเขยี นโปรแกรมแลว้ ยงั ตอ้ งพง่ึ ทกั ษะ สำหรบั ใช้เป็ นข้อมูลในกำรแก้ไขข้อผิดพลำดนั้น ปัญหำท่ีพบบ่อยของผู้ ในกำรทำควำมเขำ้ ใจและกำรแกไ้ ขปัญหำต่ำง ๆ อกี ดว้ ย สำหรบั ผเู้ รม่ิ ตน้ เร่ิมต้นเขียนกำรโปรแกรมนัน้ คือ (1) ขำดทกั ษะกำรอ่ำนและทำควำมเข้ำใจ เขยี นโปรแกรมมกั พบปัญหำทเ่ี กย่ี วขอ้ งกบั กำรเขยี นโปรแกรมอยำ่ งหน่งึ คอื ข้อควำมแจ้งข้อผิดพลำด (2) ขำดทกั ษะกำรอ่ำนภำษำองั กฤษ (3) ไม่สนใจ กำรเขยี นซอร์สโค้ดไม่ถูกต้องตำมหลกั ไวยำกรณ์ของภำษำ ตวั อย่ำงกำร ข้อควำมแจ้งข้อผิดพลำดเหล่ำนัน้ ดงั นัน้ งำนวิจยั นี้จึงนำเสนอระบบตอบ เขยี นโปรแกรมดว้ ยภำษำ C/C++ เช่น ไม่ใส่เคร่อื งหมำย ; (semicolon) กลบั อตั โนมตั ิ (Chatbot) สำหรบั เป็ นเครื่องมือสำหรบั ช่วยเหลือผ้เู ร่ิมต้น หลังคำสัง่ กำรกำหนดคู่ของเคร่ืองวงเล็บปี กกำไม่ครบ เม่ือผู้เขียน กำรเขียนโปรแกรม โดยโปรแกรมแชทบอทที่พฒั นำขึ้นนัน้ อำศยั กำรทำงำน โปรแกรมทำกำรแปลโปรแกรม (compile) หำกซอร์สโค้ดไม่ถูกต้องตำม บน Dialogflow ในกำรจำแนกประเภทข้อควำมแจ้งข้อผิดพลำด และตอบ หลกั ไวยำกรณ์ของภำษำแลว้ ตวั แปลภำษำกจ็ ะแสดงขอ้ ผดิ พลำดออกมำ กลบั ข้อควำมตำมชุดข้อมูลของบทสนทนำที่ได้จดั เตรียมไว้แบบอตั โนมตั ิ ยงั จอภำพ เพ่อื ให้ผู้เขยี นโปรแกรมทำควำมเข้ำใจ ตรวจสอบ และแก้ไข เพื่อช่วยให้ผ้เู ริ่มต้นเขียนโปรแกรมแก้ไขซอรส์ โค้ดให้ถกู ต้องและรวดเรว็ ซอร์สโค้ดให้ถูกต้อง แต่อย่ำงไรก็ตำม ผู้ท่ีเร่ิมต้นเขียนโปรแกรมมี ย่ิงขึ้น และช่วยพฒั นำทกั ษะของผ้เู ร่ิมต้นเขียนโปรแกรมในกำรทำควำม ประสบกำรณ์น้อยมกั ไมย่ อมอ่ำนขอ้ ควำมแจง้ ขอ้ ผดิ พลำด หรอื บำงคนไม่ เข้ำใจข้อควำมแจ้งข้อผิดพลำดและรปู แบบกำรเขียนโปรแกรมที่ถกู ต้อง อยำกอ่ำนข้อควำมแจ้งข้อผิดพลำดท่ีเป็ นภำษำอังกฤษ เน่ืองจำกไม่ สำมำรถแปลควำมหมำยหรอื ทำควำมเขำ้ ใจได้ ส่งผลใหบ้ ุคคลนนั้ ไม่ทรำบ คำสำคญั —โปรแกรมตอบกลบั อตั โนมตั ิ, กำรเขียนโปรแกรม, ผิด จุดท่ผี ิดในโปรแกรม หำกเป็นกำรเรยี นกำรสอนในชนั้ เรยี น ผู้เรยี นกำร หลกั ไวยำกรณ์, เครอื่ งมอื ช่วยสอน, กำรแยกประเภทข้อผิดพลำด เขยี นโปรแกรมอำจจะสอบถำมอำจำรยผ์ สู้ อนหรอื ผชู้ ว่ ยสอนได้ แต่ปัญหำท่ี พบในชนั้ เรยี นคอื ผเู้ รยี นไมก่ ลำ้ ซกั ถำมผสู้ อน ดงั นนั้ ผเู้ รยี นบุคคลนนั้ มกั จะ ABSTRACT — A problem-solving skill of wrong source code is เปิดซอรส์ โคด้ ทเ่ี ขยี นขน้ึ มำและไล่แกไ้ ขขอ้ ผดิ พลำดดว้ ยตนเอง ซง่ึ บำงครงั้ important for programmers. When programmers write the wrong syntax กต็ รงจดุ ทผ่ี ดิ พลำด แต่บำงครงั้ กไ็ มถ่ กู จุดทผ่ี ดิ พลำด ทำใหก้ ำรแกไ้ ขซอร์ส of source code, the compiler shows an error message to suggest the โคด้ นนั้ เสยี เวลำมำก และสง่ ผลใหบ้ คุ คลนนั้ เกดิ ควำมเบอ่ื หน่ำยในกำรเขยี น way of correct source code. However, beginning programmers, who are โปรแกรม ผู้วิจยั จงึ เกิดแนวคดิ ในกำรพฒั นำแอปพลิเคชนั ท่เี ป็นเสมอื น not native speakers, do not understand the error message and cannot ผชู้ ่วยสอนสำหรบั ผเู้ รมิ่ ต้นเขยี นโปรแกรม ในกำรตอบคำถำมเกย่ี วกบั กำร edit the wrong syntax of source code. Therefore, this paper proposes an ตรวจสอบข้อผิดพลำด (error) และแจ้งให้ผู้ใช้ทรำบว่ำ ผิดจุดไหน automatic response system, called Chatbot. This system is developed ขอ้ ผิดพลำดประเภทใด และควรต้องแก้ไขอย่ำงไร เพ่อื ช่วยให้ผูเ้ รมิ่ ต้น based on dialogflow to classify the types of error message. Then, the เขียนโปรแกรมมีควำมเข้ำใจเก่ียวกบั ข้อควำมแจ้งข้อผิดพลำด (error Chatbot responds the beginning programmers to solve the error message) และช่วยใหผ้ ู้เรม่ิ ตน้ เขยี นโปรแกรมสำมำรถแกไ้ ขซอรส์ โค้ดได้ message automatically. Thus, this system can help beginning รวดเรว็ ขน้ึ นอกจำกนนั้ ยงั ช่วยใหผ้ เู้ ขยี นโปรแกรมเสมอื นมเี พอ่ื นชว่ ยเขยี น programmers to edit source code correctly and rapidly. The beginning โปรแกรมและสำมำรถซกั ถำมปัญหำทเ่ี กดิ ขน้ึ ผ่ำนระบบตอบกลบั อตั โนมตั ิ programmers understand the error message and increase the correct (Chatbot) ไดต้ ลอดเวลำแมอ้ ย่นู อกชนั้ เรยี น source code writing skill. Keywords — chatbot; programming; syntax error; teaching tool; 2. ทฤษฎแี ละงำนวจิ ยั ทเ่ี กย่ี วขอ้ ง error classification แชทบอท (Chatbot) เป็นเทคโนโลยที ่มี กี ำรเรม่ิ ต้นพฒั นำมำตัง้ แต่ปี ค.ศ. 1960 หลังจำกนั้นปี ค.ศ. 1966 คุณ Joseph Weizenbaum ได้ 190

การประชมุ วิชาการระดบั ชาติดา้ นเทคโนโลยสี ารสนเทศ คร้งั ที่ 11 (NCIT2019) เผยแพรโ่ ปรแกรม ELIZA ซง่ึ ทำใหผ้ ใู้ ชง้ ำนบำงคนเชอ่ื วำ่ กำลงั พดู คยุ อย่กู บั 3.1 การออกแบบกลไกตอบกลบั ของระบบ มนุษย์จรงิ [1] ผู้วจิ ยั ไดท้ ำกำรศกึ ษำทฤษฎแี ละงำนวจิ ยั ทเ่ี กย่ี วขอ้ งโดยมี กลไกตอบกลบั ของระบบมโี ครงสรำ้ งกำรทำงำน เรม่ิ จำกผใู้ ชท้ ำกำรส่ง รำยละเอยี ดดงั น้ี 2.1 Chatbot ข้อควำมมำยังระบบ ระบบจะนำข้อควำมท่ีผู้ใช้ส่งมำนัน้ ส่งผ่ำนส่วน ประสำนในกำรเช่ือมต่อระหว่ำงแอปพลิเคชัน (API) เพ่ือไปทำกำร แชทบอท (Chatbot) เป็นบุคคลเสมอื นจรงิ ทส่ี ำมำรถพดู คุยกบั มนุษย์ ตรวจสอบว่ำขอ้ ควำมท่ผี ู้ใช้ส่งมำว่ำตรงกบั Intent ท่ผี ูอ้ อกแบบระบบได้ ได้อย่ำงมปี ระสทิ ธิภำพผ่ำนกำรโต้ตอบแบบกำรส่งขอ้ ควำม [2] ซ่ึงใน เตรยี มไวห้ รอื ไม่ โดยประกอบไปดว้ ย 3 Intent คอื ปัจจุบนั มบี รกิ ำรแชทบอทบนคลำวน์ทพ่ี รอ้ มสำหรบั กำรพฒั นำใชง้ ำน เช่น IBM Watson, Microsoft bot, AWS Lambda และ Heroku 1) Error Intent สำหรบั ตรวจสอบขอ้ ผดิ พลำดตำมหลกั ไวยำกรณ์ของ ภำษำ C++ แชทบอทถูกพฒั นำขน้ึ มำจำกพ้ืนฐำนกำรเรยี นรขู้ องเคร่อื ง (Machine learning) ปั ญญำปร ะ ดิษ ฐ์ ( Artificial Intelligence: AI) กำร ปร ะ มว ล 2) Free Talk Intent สำหรบั ใชก้ ำรพดู คุยทวั่ ไป ภำษำธรรมชำติ (Natural Language Processing: NLP) [2] เพ่ือพัฒนำ 4) No Match Intent สำหรบั กรณีทไ่ี ม่สำมำรถจำแนกชนิดขอ้ ควำมท่ี บุคคลเสมอื นหรอื แชทบอทใหส้ ำมำรถตอบไดเ้ หมอื นมนุษย์จรงิ ซง่ึ ปัจจบุ นั ผใู้ ชส้ ่งเขำ้ มำ ได้มีกำรพัฒนำแชทบอทส่วนของภำคอุตสำหกรรม เช่น Siri, Alexa, โดยแต่ละ Intent จะมขี อ้ มูลท่ใี ช้ในกำรสรำ้ ง Intent เรยี กว่ำ Training Google Assistant, Cortana และอ่นื ๆ อกี จำนวนมำก ส่วนภำคกำรศกึ ษำ Data ถ้ำขอ้ ควำมท่ผี ู้ใชท้ ำกำรส่งเขำ้ มำยงั ระบบเหมอื นหรอื ใกลเ้ คยี งกบั นนั้ ไดม้ งี ำนวจิ ยั หลำกหลำย เช่น กำรพฒั นำแชทบอทเพอ่ื ใหบ้ รกิ ำรลกู คำ้ Training Data ของ Intent ขอ้ ควำมนนั้ กจ็ ะถูกสง่ เขำ้ ไปยงั ลำดบั กำรทำงำน ออนไลน์ ในกำรตอบคำถำมพบบ่อยสำหรบั กำรพำณิชย์อเิ ลก็ ทรอนิกส์ [3] ของ Intent นนั้ ๆ ถำ้ ขอ้ ควำมทผ่ี ใู้ ชท้ ำกำรส่งมำยงั ระบบไม่ตรงกบั Intent กำรตอบคำถำมเกย่ี วกบั กำรบรกิ ำรในมหำวทิ ยำลยั หรอื ขอ้ มลู รำยละเอยี ด ทงั้ หมดทเ่ี ตรยี มไว้ ระบบจะนำขอ้ ควำมนนั้ เขำ้ สู่ No Match Intent แลว้ ทำ ของวชิ ำเรยี นสำหรบั ลงทะเบยี นเรยี น [4-5] ผลกำรวจิ ยั พบว่ำผู้ใชง้ ำนมี กำรจบบทสนทนำ ดงั รปู ท่ี 1 ควำมพงึ พอใจกำรใชง้ ำนแชทบอท นอกจำกน้ีงำนวจิ ยั [6] ไดม้ กี ำรพฒั นำ แชทบอทด้วย Deep Neural Network (DNN) สำหรับกำรแก้ปั ญหำ รปู ท่ี 1. กลไกตอบกลบั ของระบบ โครงสร้ำงข้อมูล เช่น arrays, stacks, queues และ trees ผลลัพธ์ คือ แชทบอทแกไ้ ขปัญหำระดบั งำ่ ยได้ 3.2 การสรา้ งส่วนประสานในการตดิ ต่อสอื่ สารระหวา่ งแอปพลเิ คชนั 2.3 Dialogflow ส่วนประสำนในกำรตดิ ต่อระหว่ำงแอปพลเิ คชนั (API) ของระบบตอบ แพลตฟอร์มสำหรบั ทำแชทบอทของบรษิ ัท Google ท่ใี ช้กำรเรียนรู้ กลบั อตั โนมตั ไิ ดใ้ ชร้ ูปแบบกำรทำงำนของ Dialogflow โดยมขี นั้ ตอนกำร ของเคร่ือง (Machine Learning) กำรประมวลภำษำธรรมชำติ (Natural ทำงำนดงั น้ี Language Processing: NLP) มำช่วยทำให้เกิดกำรเรียนรู้และตอบบท สนทนำได้เป็นธรรมชำตมิ ำกข้นึ [7] โดยจุดเด่นคอื รองรบั กำรทำควำม 1) เรม่ิ จำกผใู้ ชท้ ำกำรป้อนขอ้ ควำมแลว้ ทำกำรส่งมำยงั ระบบ เขำ้ ใจภำษำธรรมชำติได้หลำกหลำย รวมถึงภำษำไทย และรองรบั กำร 2) ระบบจะนำขอ้ ควำมทผ่ี ใู้ ชส้ ง่ มำเขำ้ ไปเกบ็ ไวใ้ นตวั Dialogflow เช่ือมต่อจำกแอปพลิเคชันท่ีสัง่ งำนด้วยเสียง (Voice application) เช่น 3) นำขอ้ ควำมนนั้ ไปตรวจสอบว่ำตรงกบั Intent ใดใน Intent ทงั้ หมด Google Assistant, Amazon Alexa และรองรบั กำรเช่อื มต่อผ่ำนแชทบอท 4) ระบบจะทำกำรเลอื กขอ้ ควำมทต่ี อบกลบั ทต่ี รงกบั บรบิ ทท่ผี ู้ใชท้ ำ และแพลตฟอรม์ อ่นื ทไ่ี ดร้ บั ควำมนยิ ม กำรสง่ ขอ้ ควำมเขำ้ มำ แลว้ นำขอ้ มลู ทงั้ หมดเกบ็ ลงฐำนขอ้ มลู 2.4 Firebase Realtime Database 5) นำขอ้ ควำมทจ่ี ะตอบกลบั ผใู้ ชแ้ ปลงใหอ้ ยู่ในรูปแบบขอ้ ควำมทผ่ี ู้ใช้ สำมำรถอ่ำนได้ แลว้ ทำกำรตอบกลบั ขอ้ ควำมนนั้ ไปยงั ผใู้ ช้ ดงั รปู ท่ี 2 Firebase Realtime Database [8] เป็นระบบฐำนข้อมูลแบบ NoSQL ท่ีให้บริกำรบนคลำวน์ ซ่ึงมีกำรเก็บข้อมูลในรูปแบบของ JavaScript Object Notation (JSON) และมกี ำรปรบั ปรงุ ขอ้ มลู ใหท้ ุกอุปกรณ์ทเ่ี ชอ่ื มต่อ อยู่ให้ข้อมูลมคี วำมทนั สมยั แบบทนั ที เม่อื อุปกรณ์ขำดกำรเช่อื มต่อจำก ระบบฐำนข้อมูลแล้ว แอปพลิเคชนั ยงั คงสำมำรถใช้ข้อมูลได้ และเม่อื อุปกรณ์มสี ถำนะกลบั มำเป็นออนไลน์ แอปพลเิ คชนั ก็จะทำกำรดงึ ขอ้ มลู ล่ำสุดจำกระบบฐำนข้อมูลแบบอัตโนมัติ โดย Firebase Realtime Database รองรบั กำรเช่อื มต่อจำกแอปพลิเคชนั หลำยแพลตฟอร์ม เช่น Android, iOS และ JavaScript SDK 3. กำรออกแบบระบบ กำรพฒั นำซอฟต์แวรจ์ ะตอ้ งมกี ำรออกแบบและกำหนดขอบเขตต่ำง ๆ ของกำรดำเนินงำน เพ่ือใช้เป็นแนวทำงในกำรพัฒนำซอฟต์แวร์ตำม วตั ถุประสงค์ของโครงงำนทไ่ี ด้กำหนดไว้ ผูว้ จิ ยั ไดท้ ำกำรออกแบบระบบ ดงั ต่อไปน้ี 191

การประชมุ วชิ าการระดบั ชาตดิ า้ นเทคโนโลยีสารสนเทศ คร้ังที่ 11 (NCIT2019) รปู ท่ี 2. ส่วนประสำนในกำรตดิ ต่อสอ่ื สำรระหวำ่ งแอปพลเิ คชนั หลงั จำกนนั้ จะมกี ำรวเิ ครำะหข์ อ้ มลู ทใ่ี ชใ้ นกำรสรำ้ ง Intent โดยทำกำร เลอื กขอ้ มลู เพอ่ื ทำกำรคดั แยกและกำหนดค่ำพำรำมเิ ตอรท์ ใ่ี ชใ้ นกำรอำ้ งองิ 3.3 การพฒั นาแอปพลเิ คชนั หรือตอบกับผู้ใช้งำน ตัวอย่ำงข้อควำมแจ้งข้อผิดพลำด sum.cpp:6:5: กำรพฒั นำแอปพลเิ คชนั ระบบตอบกลบั อตั โนมตั นิ นั้ ไดแ้ บ่งกำรพฒั นำ error: use of undeclared identifier 'sum' จะมกี ำรกำหนดพำรำมเิ ตอร์ loc ทแ่ี สดงถงึ หมำยเลขบรรทดั ของโคด้ และพำรำมเิ ตอร์ var_name หมำยถงึ ออกเป็น 3 ช่วงได้แก่ กำรเก็บรวมรวบข้อมูล กำรออกแบบลำดบั กำร ช่ือของตัวแปรท่ีอยู่ในโค้ด ซ่ึงพำรำมิเตอร์เหล่ำน้ีนัน้ จะมีค่ำก็ต่อเม่อื สนทนำ กำรพฒั นำซอฟต์แวร์ ผู้ใชง้ ำนทำกำรป้อนขอ้ ควำมเขำ้ มำแลว้ กลไกกำรทำงำนของ Dialogflow จะทำกำรแยกขอ้ มลู และจดั เก็บค่ำไวใ้ นตวั แปรพำรำมเิ ตอร์ โดยตวั อย่ำง 1) กำรเกบ็ รวบรวมขอ้ มลู กำรกำหนดพำรำมเิ ตอรแ์ สดงดงั รปู ท่ี 4 ขนั้ ตอนกำรรวบรวมขอ้ มลู จะเป็นกำรรวบรวมขอ้ มลู ทส่ี ำคญั (Training Data) ในกำรนำมำสอน (Train) แชทบอท เพ่อื ให้แชทบอทนัน้ สำมำรถ รปู ท่ี 4. ตวั อย่ำงพำรำมเิ ตอร์ ตอบคำถำมไดอ้ ย่ำงเป็นธรรมชำตแิ ละแม่นยำ โดยขอ้ มลู ทน่ี ำมำใชใ้ นกำร สอนแชทบอท คอื ขอ้ มลู ประโยคกำรสนทนำและขอ้ ควำมแจง้ ขอ้ ผดิ พลำด เม่ือมีกำรกำหนดช่ือพำรำมิเตอร์แล้ว ขัน้ ตอนถัดไปจะเป็ นกำร (Error Message) โดยชุดขอ้ มลู ขอ้ ควำมแจง้ ขอ้ ผดิ พลำดจำกตวั แปลภำษำ จดั เตรยี มชุดขอ้ ควำมทใ่ี ชใ้ นกำรตอบกบั แกผ่ ใู้ ช้ ซง่ึ ขอ้ ควำมเหลำ่ น้สี ำมำรถ ทน่ี ำมำใชใ้ นกำรสอนแชทบอทครงั้ น้ี ไดจ้ ำกกำรเกบ็ รวบรวมขอ้ มลู จำก นำชอ่ื พำรำมเิ ตอรม์ ำใชร้ ่วมดว้ ย เพอ่ื ใชใ้ นกำรสอ่ื สำรถงึ ผใู้ ชว้ ่ำผดิ ตรงจุดใด ตวั แปรใด บรรทดั ใด โดยชุดขอ้ ควำมทใ่ี ชใ้ นกำรตอบกลบั แสดงดงั รปู ท่ี 5 (1) กำรบนั ทึกกำรสงั เกตกำรณ์ระหว่ำงกำรเรยี นกำรสอนวิชำ ปฏบิ ตั กิ ำรกำรเขยี นโปรแกรม รปู ท่ี 5. ตวั อย่ำงชดุ ขอ้ ควำมทใ่ี ชต้ อบผใู้ ช้ (2) ชุดซอร์สโค้ดท่ีไม่ถูกต้องของผู้เรยี นท่ีทำกำรส่งงำนตำมท่ี 4. ผลกำรดำเนินงำน มอบหมำย กำรทดสอบย่อย กำรสอบกลำงภำคและปลำยภำค กำรพฒั นำแชทบอทสำหรบั ช่วยเหลอื ผเู้ รม่ิ ต้นเขยี นโปรแกรมนัน้ เป็น เคร่อื งมอื สำหรบั ช่วยเหลือผู้เรียนให้เสมอื นมีผู้ใหค้ ำปรึกษำ กรณีท่พี บ หลงั จำกไดช้ ดุ ขอ้ มลู ขอ้ ควำมแจง้ ขอ้ ผดิ พลำดจำกตวั แปลภำษำแลว้ จะ ปัญหำกำรเขยี นโปรแกรมทไ่ี มต่ รงตำมหลกั ไวยำกรณ์ของภำษำโปรแกรม นำไปใหผ้ เู้ ชย่ี วชำญในรำยวชิ ำนนั้ ทำกำรจำแนกว่ำขอ้ ผดิ พลำดท่เี กดิ ขน้ึ เพ่อื ช่วยลดระยะเวลำในกำรแก้ไขปัญหำในกำรพฒั นำโปรแกรม ช่วยให้ เป็นประเภทใด เกดิ จำกสำเหตุใด และควรตอ้ งแกไ้ ขอย่ำงไร ซ่งึ ขอ้ ควำม ผู้เรยี นเกดิ กำรเรยี นรู้ไดเ้ อง และยงั ช่วยลดภำระงำนทงั้ ผูส้ อนและผูช้ ่วย เหลำ่ น้จี ะถกู นำไปใชใ้ นกำรสอนแชทบอท เพอ่ื ใชใ้ นกำรตอบกลบั แก่ผใู้ ช้ สอน โดยผลกำรวจิ ยั มดี งั น้ี กำรพฒั นำแชทบอทสำหรบั ชว่ ยเหลอื ผเู้ รมิ่ ตน้ เขยี นโปรแกรม ผวู้ จิ ยั ได้ 2) กำรออกแบบลำดบั กำรสนทนำ เลอื กใช้ส่วนตดิ ต่อผใู้ ช้งำนเป็นกำรใชง้ ำนผ่ำนเวบ็ แอปพลเิ คชนั และแอป ผูว้ จิ ยั ไดท้ ำกำรสรำ้ ง Intent ซ้อน Intent เพ่อื ป้องกนั กำรกระโดดขำ้ ม พลเิ คชนั ไลน์ (Line) เพ่อื ใหผ้ ใู้ ชง้ ำนเขำ้ ถงึ ไดง้ ำ่ ย และเป็นแอปพลชิ นั กลุม่ บทสนนำ โดยจะทำกำรสร้ำง Intent Error Detection เพ่ือทำกำรเก็บ ระบบส่งขอ้ ควำมแบบทนั ที (Instance messaging) ทช่ี ำวไทยนิยมใชง้ ำน Intent ย่อย ๆ โดย Intent ถดั มำจะเป็น Intent ทใ่ี ชใ้ นกำรตรวจสอบภำษำ เน่ืองจำกเป็นแอปพลเิ คชนั ทใ่ี ช้งำนไดง้ ่ำย โดยผใู้ ชง้ ำนสำมำรถใชง้ ำนได้ ท่เี กดิ ข้อผดิ พลำด (Error) โดยภำยใน Intent จะประกอบไปด้วย Intent โดยไม่ต้องสมคั รสมำชกิ เพอ่ื สรำ้ งสภำพแวดลอ้ มใหเ้ หมำะแก่ผทู้ ต่ี อ้ งกำร ยอ่ ยทส่ี รำ้ งจำกขอ้ มลู ทเ่ี ตรยี มมำจำกขนั้ ตอนท่ี 1 สอบถำมบอท โดยไมม่ กี ำรเกบ็ ขอ้ มลู สว่ นตวั และใหค้ วำมมนั่ ใจแกผ่ ใู้ ชง้ ำน 3) กำรพฒั นำซอฟตแ์ วร์ ทไ่ี ม่ต้องกำรเปิดเผยตวั ตน โดยกำรทำงำนของระบบจะคลำ้ ยกบั โปรแกรม กำรพฒั นำแชทบอทสำหรบั สนบั สนุนผเู้ รม่ิ ต้นเขยี นโปรแกรมนนั้ ไดใ้ ช้ พูดคุย (chat) ทวั่ ไป โดยหน้ำจอแอปพลเิ คชนั ไลน์ทม่ี กี ำรพูดคุยกบั ระบบ เครอ่ื งมอื Dialogflow ในกำรพฒั นำ โดยสรำ้ ง Intent จำกขอ้ มลู ทเ่ี ตรยี มมำ อตั โนมตั แิ สดงดงั รปู ท่ี 6 จำกขนั้ ตอนท่ี 1 และขนั้ ตอนกำรเรยี งลำดบั จำกบทสนทนำขนั้ ตอนท่ี 2 โดย ชุดขอ้ มลู ทใ่ี นสอนแชทบอทจะถูกนำมำบนั ทกึ แยกแต่ละ Intent ทส่ี อดคลอ้ ง กนั ดงั รปู ท่ี 3 รปู ท่ี 3. ตวั อยำ่ งชุดขอ้ มลู ใชส้ อนแชทบอท 192

การประชมุ วชิ าการระดบั ชาตดิ ้านเทคโนโลยีสารสนเทศ ครง้ั ท่ี 11 (NCIT2019) รปู ท่ี 6. หน้ำจอแชทบอทสำหรบั สนบั สนุน รปู ท่ี 7. ตวั อยำ่ งขอ้ ควำมกำรสนทนำ ผเู้ รมิ่ ตน้ เขยี นโปรแกรม จำกรปู ท่ี 7 จะเหน็ ไดว้ ่ำเมอ่ื ผใู้ ชส้ ่งขอ้ ควำมขอ้ มลู ขอ้ ผดิ พลำดจำก จำกรูปท่ี 6 ผู้ใชส้ ำมำรถพูดคุยทวั่ ไปกบั บอทได้ เช่น พูดทกั ทำย แต่ ตวั แปลภำษำไปยงั แชทบอทแล้ว บอทจะตรวจสอบจำแนกขอ้ ควำมและ เม่อื ผูใ้ ช้ได้ทำกำรคุยกบั บอทว่ำติด Error เป็นกำรเขำ้ สู่ลำดบั กำรทำงำน เลอื กใชข้ อ้ ควำมทไ่ี ดจ้ ดั เตรยี มไวใ้ นกำรส่งขอ้ ควำมตอบกลบั แก่ผใู้ ช้ หำก ของกำรตรวจสอบขอ้ ผิดพลำด บอทได้ถำมกลบั ไปทผ่ี ู้ใช้ถึง ข้อควำมท่ี ผู้ใช้งำนส่งข้อควำมลกั ษณะเดิมมำซ้ำอีก บอทสำมำรถตอบกลับด้วย ตัวแปลภำษำแสดงออกมำ โดยในปัจจุบนั รองรบั เพียงแค่ภำษำ C++ ขอ้ ควำมในลกั ษณะทแ่ี ตกต่ำงกนั ออกไป เพ่อื ส่อื สำรกบั ผู้ใชใ้ นกำรแกไ้ ข หลงั จำกบอทได้ขอ้ มลู ขอ้ ควำมแจง้ ขอ้ ผดิ พลำด (Error Message) แลว้ จะ ซอรส์ โคด้ ใหถ้ กู ตอ้ งและมลี กั ษณะทเ่ี ป็นธรรมชำตเิ สมอื นมนุษย์ นำมำตรวจสอบหำ Intent ทใ่ี กลเ้ คยี งแลว้ ทำกำรตอบกลบั แก่ผใู้ ชง้ ำน ดงั รปู ท่ี 7 5. สรุปและอภปิ รำยผล แชทบอทสำหรบั ช่วยเหลือผู้เรมิ่ ต้นเขยี นโปรแกรมเป็นเคร่อื งมอื ท่ี พฒั นำข้นึ มำเพ่อื ช่วยให้ผู้เรมิ่ ต้นเขยี นโปรแกรมนัน้ สำมำรถแก้ปัญหำ ขอ้ ผดิ พลำดในกำรเขยี นโปรแกรมได้เร็วข้นึ เน่ืองจำกผู้เริ่มต้นนัน้ ยงั มี ทกั ษะในกำรเขยี นโปรแกรมและแกไ้ ขปัญหำเองไดน้ ้อยหรอื ขำดทกั ษะดำ้ น ภำษำองั กฤษ จงึ ไมเ่ ขำ้ ใจขอ้ ควำมทต่ี วั แปลภำษำแสดงออกมำทงั้ หมดและ ใชเ้ วลำแกไ้ ขซอรส์ โคด้ ใหถ้ ูกตอ้ งเป็นระยะเวลำนำน งำนวจิ ยั น้จี งึ ไดพ้ ฒั นำ แชทบอทจำกพ้นื ฐำน Dialogflow และทำกำรกำหนด Intent ท่เี ก่ยี วกับ ขอ้ ผดิ พลำดกำรเขยี นโปรแกรม และกำหนดขอ้ ควำมบทสนทนำทใ่ี ชใ้ นกำร โต้ตอบกบั ผู้ใช้ ซ่งึ ผูใ้ ชส้ ำมำรถเรยี กใชง้ ำนแชทบอทผ่ำนเวบ็ เบรำว์เซอร์ หรอื แอปพลชิ นั ไลน์ได้ โดยผลกำรวจิ ยั พบว่ำแชทบอทสำมำรถตอบคำถำม แก่ผู้ใช้ได้ทัง้ บทสนทนำทัว่ ไปและบทสนทนำเฉพำะทำง ท่ีเก่ียวกับ ขอ้ บกพร่องของกำรเขยี นซอร์สโค้ดท่ไี ม่เป็นไปตำมหลกั ไวยำกรณ์ โดย ข้อควำมท่บี อทตอบกลบั ไปยงั ผู้ใช้งำนนัน้ มหี ลำกหลำยรูปแบบ เพ่อื ให้ ลกั ษณะกำรโต้ตอบมคี วำมใกล้เคยี งมนุษย์ท่สี ุด นอกจำกน้ี ผูว้ จิ ยั หวงั ว่ำ เคร่อื งมอื น้จี ะชว่ ยใหเ้ ขำ้ ถงึ ผเู้ รยี นไดอ้ ย่ำงทวั่ ถงึ โดยเฉพำะกลุ่มผเู้ รยี นทม่ี ี พฤตกิ รรมไมก่ ลำ้ แสดงออก ไมก่ ลำ้ ถำมผสู้ อนในชนั้ เรยี น สง่ เสรมิ ใหผ้ เู้ รยี น ฝึกฝนเขยี นโปรแกรม เมอ่ื อย่นู อกชนั้ เรยี น ลดอุปสรรคระหว่ำงกำรฝึกฝน 193

การประชมุ วชิ าการระดบั ชาตดิ ้านเทคโนโลยีสารสนเทศ ครั้งท่ี 11 (NCIT2019) และเรียนรู้ขอ้ ควำมแจ้งข้อผดิ พลำดท่เี กิดข้นึ ประเภทต่ำงๆ และวิธกี ำร แกไ้ ขซอรส์ โคด้ ใหถ้ กู ตอ้ ง ขอ้ จำกดั ของแชทบอท คอื ทำกำรชว่ ยเหลอื ผเู้ รม่ิ ตน้ เขยี นโปรแกรมได้ เพยี งเฉพำะกำรเขยี นโปรแกรมท่ผี ดิ หลกั ไวยำกรณ์ (syntax error) ของ ภำษำ C++ เทำ่ นนั้ งำนวจิ ยั ในอนำคต ผวู้ จิ ยั จะนำขอ้ มลู กำรสนทนำระหว่ำงผใู้ ช้กบั บอท มำวเิ ครำะหห์ ำควำมสมั พนั ธ์ระหวำ่ งจำนวนปัญหำทผ่ี ใู้ ชพ้ บ เพอ่ื สรำ้ งสว่ น ใหค้ ำแนะนำแกผ่ เู้ รยี นรำยบุคคลและสง่ ผลสะทอ้ นในแก่อำจำรยผ์ สู้ อนเพอ่ื ใชใ้ นปรบั ปรงุ กำรเรยี นกำรสอนในชนั้ เรยี น เอกสำรอ้ำงอิง [1] \"Chatbot,\" [Online]. Available: https://en.wikipedia.org/wiki/Chatbot. [Accessed 15 June 2019]. [2] A. M. Rahman, A. A. Mamun and A. Islam, \"Programming challenges of chatbot: Current and future prospective,\" 2017 IEEE Region 10 Humanitarian Technology Conference (R10-HTC), Dhaka, 2017, pp. 75- 78. [3] P. Muangkammuen, N. Intiruk and K. R. Saikaew, \"Automated Thai-FAQ Chatbot using RNN-LSTM,\" 2018 22nd International Computer Science and Engineering Conference (ICSEC), Chiang Mai, Thailand, 2018, pp. 1-4. [4] B. R. Ranoliya, N. Raghuwanshi and S. Singh, \"Chatbot for university related FAQs,\" 2017 International Conference on Advances in Computing, Communications and Informatics (ICACCI), Udupi, 2017, pp. 1525-1530. [5] C. Chun Ho, H. L. Lee, W. K. Lo and K. F. A. Lui, \"Developing a Chatbot for College Student Programme Advisement,\" 2018 International Symposium on Educational Technology (ISET), Osaka, 2018, pp. 52- 56. [6] A. Shah, B. Jain, B. Agrawal, S. Jain and S. Shim, \"Problem solving chatbot for data structures,\" 2018 IEEE 8th Annual Computing and Communication Workshop and Conference (CCWC), Las Vegas, NV, 2018, pp. 184-189. [7] [Online]. Available: https://dialogflow.com. [Accessed 18 June 2019]. [8] [Online]. Available: https://firebase.google.com/docs/database. [Accessed 15 June 2019]. 194

การประชุมวิชาการระดบั ชาตดิ า้ นเทคโนโลยีสารสนเทศ ครัง้ ที่ 11 (NCIT2019) การพฒั นาระบบค้นหาและแสดงผลแผนภาพโครงสรา้ งเครือข่าย A Development of Network Topology Discovery and Visualization ปิยะพล เพม่ิ พงศ์ไพบลู ย์ ยุทธนา ศรที าบุญ อภนิ นั ท์ พงษร์ ตั นโชติ คณะเทคโนโลยสี ารสนเทศ คณะเทคโนโลยสี ารสนเทศ คณะเทคโนโลยสี ารสนเทศ สถาบนั เทคโนโลยพี ระจอมเกลา้ เจา้ คณุ ทหาร สถาบนั เทคโนโลยพี ระจอมเกลา้ เจา้ คุณทหาร สถาบนั เทคโนโลยพี ระจอมเกลา้ เจา้ คณุ ทหาร ลาดกระบงั ลาดกระบงั ลาดกระบงั Faculty of Information Technology Faculty of Information Technology Faculty of Information Technology King Mongkut’s Institute of Technology King Mongkut’s Institute of Technology King Mongkut’s Institute of Technology Ladkrabang Ladkrabang Ladkrabang กรงุ เทพฯ / ประเทศไทย กรงุ เทพฯ / ประเทศไทย กรุงเทพฯ / ประเทศไทย Bangkok, Thailand Bangkok, Thailand Bangkok, Thailand [email protected] [email protected] [email protected] อุดมเอก ชุมทองมา สุเมธ ประภาวตั ลภสั ประดษิ ฐท์ ศั นีย์ คณะเทคโนโลยสี ารสนเทศ คณะเทคโนโลยสี ารสนเทศ คณะเทคโนโลยสี ารสนเทศ สถาบนั เทคโนโลยพี ระจอมเกลา้ เจา้ คณุ ทหาร สถาบนั เทคโนโลยพี ระจอมเกลา้ เจา้ คณุ ทหาร สถาบนั เทคโนโลยพี ระจอมเกลา้ เจา้ คณุ ทหาร ลาดกระบงั ลาดกระบงั ลาดกระบงั Faculty of Information Technology Faculty of Information Technology Faculty of Information Technology King Mongkut’s Institute of Technology King Mongkut’s Institute of Technology King Mongkut’s Institute of Technology Ladkrabang Ladkrabang Ladkrabang กรงุ เทพฯ / ประเทศไทย กรุงเทพฯ / ประเทศไทย กรงุ เทพฯ / ประเทศไทย Bangkok, Thailand Bangkok, Thailand Bangkok, Thailand [email protected] [email protected] [email protected] โชตพิ ชั ร์ ภรณวลยั คณะเทคโนโลยสี ารสนเทศ สถาบนั เทคโนโลยพี ระจอมเกลา้ เจา้ คณุ ทหาร ลาดกระบงั Faculty of Information Technology King Mongkut’s Institute of Technology Ladkrabang กรุงเทพฯ / ประเทศไทย Bangkok, Thailand [email protected] บทคดั ย่อ — โครงงานวิจัยและพฒั นาน้ีนาเสนอกระบวนการ แ ผ น ภ า พ โ ค ร ง ส ร้ า ง เ ค รื อ ข่ า ย ผ่ า น ส่ ว น ต่ อ ป ร ะ ส า น ผู้ใ ช้ ง า น บ น เ ว็บ ค้นหาและแสดงผลแผนภาพโครงสร้างเครือข่าย จากเครือข่ายทีก่ าลงั แอพพลิเคชัน่ ทีไ่ ด้พฒั นาข้ึนเพือ่ นาเสนอแผนภาพโครงสร้าง ช่วยอานวย ปฏิบัติงานอยู่ และนาเสนอแผนภาพโครงสร้างเครือข่ายให้แก่ผู้ใช้บน ความสะดวกต่อการเรียนรู้ภายในชัน้ เรียนภาคปฏิบตั ิกับผ้ทู ีศ่ ึกษาระบบ เทคโนโลยีเว็บแอพพลิเคชันทีไ่ ด้พฒั นาข้ึน โดยเริม่ จากการดึงข้อมูลที่ เครอื ข่าย เกีย่ วข้องกับอุปกรณ์รอบข้างภายในเครือข่าย และข้อมูลประกอบอืน่ ๆ เพือ่ นาไปใช้ในการสร้างแผนภาพโครงสร้าง การเข้าถึงอุปกรณ์เครือข่าย การจาลองแผนภาพเครอื ขา่ ย, เครอื ข่ายภาคปฏิบตั ิ, เอพไี อ และนาข้อมูลที่ได้มาจัดระเบียบ และส่งต่อข้อมูลทีจ่ าเป็ นผ่านทาง Application Programming Interface (API) ที่ได้ ออกแบบข้ึน ให้ กับเว็บ Abstract — This research project is to develop a system that can แอพพลิเคชัน่ เพือ่ นาข้อมูลเข้าสู่กระบวนการประมวลผล และแสดง discover and visualize the network topology from physical network’s 195

การประชมุ วชิ าการระดบั ชาติดา้ นเทคโนโลยสี ารสนเทศ คร้ังท่ี 11 (NCIT2019) devices. The system is developed using web-based application. This แทนการเช่อื มต่อกนั ระหว่างอุปกรณ์ต่าง ๆ ดงั รูปท่ี 1 ดงั นนั้ การจาลอง system will retrieve information of neighbor devices (which is directly แ ผ น ภ า พ โ ค ร ง ส ร้า ง เ ค รือ ข่า ย จึง จา เ ป็ น ต้อ ง ท ร าบ จา น ว น โ หน ด และ connected). After getting all information about neighbor devices, we จาเป็นตอ้ งทราบความสมั พนั ธร์ ะหว่างโหนด organize the information before sending it through the designed Application Programming Information or API. The output of our รูปท่ี 1 แผนภาพโครงสรา้ งเครอื ขา่ ย procedure is the network topology visualization showing to user via เพ่อื ใหไ้ ดม้ าซง่ึ ขอ้ มลู ของจานวนโหนดและความสมั พนั ธร์ ะหวา่ งโหนด user interface of the Web-App. This development will help facilitate of ผใู้ ชง้ านจะตอ้ งระบุขอ้ มูลหมายเลขไอพีแอดเดรส, ช่อื ผใู้ ช้งาน, รหสั ผ่าน the practical classes with those who study the network systems. ผใู้ ชง้ าน และรหสั เปิดใชง้ านสทิ ธพิ เิ ศษ ของอุปกรณ์ต่าง ๆ ภายในเครอื ขา่ ย หลงั จากนนั้ ระบบจะทาการเช่อื มตอ่ กบั อุปกรณ์และทาการรวบรวมขอ้ มูลท่ี Keywords — topology visualization, practical network, API สาคญั จากอุปกรณ์ สาหรบั ตวั อยา่ งโครงสรา้ งเครอื ขา่ ยจรงิ ท่ใี ชใ้ นการศกึ ษา และพัฒนาระบบจะใช้โครงสร้างเครือข่ายท่ีมีโครงสร้างดังรูปท่ี 2 1. บทนา ประกอบด้วยเร้าเตอร์ (Router) ของ Cisco รุ่น 2901 จานวน 2 ตวั และ การศึกษาและพัฒนากระบวนการค้นหาและแสดงผลแผนภาพ สวติ ช์ (Switch) ของ Cisco รุ่น 2960 จานวน 2 ตวั โดยเรา้ เตอรต์ วั แรกมี โครงสร้างเครือขา่ ย เกิดขน้ึ จากประเด็นเก่ยี วกบั การอานวยความสะดวก ช่อื (hostname) ว่า iridiumR1 เช่อื มตอ่ กบั เรา้ เตอรต์ วั ที มชี ่อื วา่ everestR2 ใหก้ บั ผใู้ ชใ้ นการศกึ ษาระบบเครอื ข่ายภาคปฏบิ ตั ิ สาหรบั การฝึกฝนในชนั้ และขอ้ มูลการเช่อื มตอ่ ดงั ตารางท่ี 1 เรยี น บอ่ ยครงั้ ท่พี บวา่ ปัญหาท่เี กดิ จากการใช้งานเครอื ขา่ ย เกดิ ขน้ึ จากตวั การทางานของระบบจะถูกออกแบบจาแนกการทางานออกเป็น 3 สว่ น ผใู้ ชเ้ อง เม่อื เครอื ขา่ ยมีความซบั ซอ้ นในระดบั หน่ึง ผใู้ ชเ้ กดิ ความสบั สน ดว้ ยกนั ดงั รูปท่ี 3 และมรี ายละเอยี ดดงั นี้ อาจนาไปสูก่ ารวางแผนโครงสรา้ งเครอื ขา่ ยทผ่ี ดิ พลาดได้ สาหรบั การศกึ ษา 1.) ส่วนของแอพพลิเคชนั่ การแสดงผล (Application Layer) จะทา ระบบเครอื ขา่ ยภาคปฏบิ ตั ิ ปัญหาทม่ี กั จะพบ เช่น ผทู้ ่ศี กึ ษาทาการเช่อื มตอ่ หน้าท่เี ก่ยี วกบั การนาขอ้ มูลท่จี าเป็นจากส่วนของการควบคุมการเช่ือม อุปกรณ์เข้ากับอินเทอร์เฟสของเร้าเตอร์ผิด, ผู้ท่ีศึกษาไม่ทราบว่า ต่อมาผ่านการประมวลผลท่ีเก่ียวข้องกับการแสดงผล และแสดงผล อินเทอรเ์ ฟสนนั้ อยใู่ นสถานะท่ใี ชง้ านไดห้ รือไม่ จึงเกดิ แนวคิดในการสรา้ ง แผนภาพโครงสรา้ งจาลองเครอื ขา่ ยผา่ นสว่ นต่อประสานผใู้ ชต้ ่อไป โดยการ แผนภาพโครงสรา้ งเครือขา่ ยขน้ึ เพ่อื แสดงโครงสร้างเครือข่ายปัจจุบนั ท่ี ทางานในสว่ นนี้จะเก่ยี วขอ้ งกบั เฟรมเวิรค์ ท่ชี ่วยในการแสดงผลคอื Vue.js, ผใู้ ชท้ างานอยู่ เพ่อื ใหผ้ ใู้ ชม้ องเห็นความเป็นไปโดยภาพรวมของเครอื ข่าย และ Konva.js ถอื ว่าเป็นสว่ นเดยี วของการทางานท่ผี ใู้ ช้สามารถโตต้ อบต่อ ลดความสบั สนของผใู้ ชใ้ นการมองภาพรวมของเครอื ขา่ ย ผใู้ ชส้ ามารถใช้ ระบบได้ แผนภาพโครงสร้างเครือข่ายท่ีสร้างขึน้ เป็นเสมอื นคู่มือเพ่ือเป็นขอ้ มูล ประกอบได้ โดยการนาเสนอแผนภาพโครงสร้างเครือข่ายจะใช้เว็บ รปู ท่ี 2 โครงสรา้ งเครอื ขา่ ยทอ่ี า้ งองิ จากอุปกรณ์เครอื ขา่ ยจรงิ แอพพลเิ คชนั่ (Web-Application) ในการนาเสนอ ตารางท่ี 1. การเช่อื มตอ่ ของแผนภาพจากรปู ท่ี 2 2. วตั ถปุ ระสงค์ 2.1 เพ่อื พฒั นากระบวนการคน้ หาและแสดงผลภาพโครงสรา้ งเครอื ขา่ ย อปุ กรณ์ อินเทอรเ์ ฟส ไอพแี อดเดรส 2.2 เพ่อื พฒั นาโปรแกรมประยุกต์แบบสาหรบั จาลองแผนภาพโครงสรา้ ง เครอื ขา่ ย iridiumR1 Gig0/0 196.0.0.1/24 2.3 เพ่อื นาความรเู้ ก่ยี วกบั โพรโตคอลในระบบเครอื ขา่ ยมาประยกุ ตใ์ ช้งาน ใหเ้ กดิ ประโยชน์ Ser0/0/1 10.0.0.1/24 3. วธิ ดี าเนินงาน everestR2 Gig0/0 197.0.0.1/24 โครงงานน้ีเป็นโครงงานพฒั นาเพ่อื ทาการศกึ ษากระบวนการคน้ หาและ แสดงแผนภาพโครงสร้างเครือข่าย และแสดงแผนภาพผ่านเว็บ Ser0/0/0 10.0.0.2/24 แอพพลเิ คชนั่ ซ่งึ มขี นั้ ตอนดาเนินการดงั น้ี 3.1 การศกึ ษาปัญหาและการวางแผน ionicS1 Fa0/1 UNASSIGN ขนั้ ตอนน้ีเป็นขนั้ ตอนการศกึ ษาขอ้ มลู ท่เี กย่ี วขอ้ งกบั การกระบวนการ คน้ หาอุปกรณ์ขา้ งเคยี งของอุปกรณ์เครอื ขา่ ย การพฒั นาชดุ คาสงั่ เพ่อื ใชก้ บั trinityS2 Fa0/1 UNASSIGN อุปกรณ์เครอื ขา่ ย จากนนั้ วางแผนการทางานเพ่อื พฒั นาใหส้ ามารถใช้งาน ไดผ้ า่ นเวบ็ แอพพลเิ คชนั่ สาหรบั การจาลองแผนภาพโครงสรา้ งเครอื ขา่ ย 3.2 การวเิ คราะหแ์ ละออกแบบระบบ การจาลองแผนภาพโครงสร้างเครือขา่ ยนนั้ ต้องเขา้ ใจส่วนประกอบ ของแผนภาพโครงสร้างก่อนว่าประกอบด้วยอะไรบ้าง ซ่ึงแผนภาพ โครงสร้างเครือข่ายประกอบด้วย โหนด (Node) แทนอุปกรณ์ต่าง ๆ ภายในระบบเครือขา่ ย และ เสน้ เช่อื มความสมั พนั ธ์ระหว่างโหนด (Edge) 196

การประชุมวชิ าการระดับชาตดิ ้านเทคโนโลยีสารสนเทศ คร้งั ท่ี 11 (NCIT2019) รูปท่ี 3 แสดงโครงสรา้ งทางสถาปัตยกรรมของระบบ ประมวลผลผ่าน Parser เพ่ือให้ได้เฉพาะขอ้ มูลท่จี าเป็น และจัดเกบ็ ลง ฐานขอ้ มลู ผา่ นโมดูล Back-End (Django) ค่อไป 2.) สว่ นของการควบคุมการเช่อื มตอ่ (Control Layer) ในส่วนนจ้ี ะเป็น การทางานเก่ียวกบั การควบคุมการเช่อื มต่อของ 2 ส่วนการทางานเข้า 3.) ส่วนอุปกรณ์เครอื ขา่ ย (Physical Layer) ในส่วนนี้จะเก่ยี วขอ้ งกบั ด้วยกัน กล่าวคือ ระหว่างส่วนของแอพพลิเคชนั่ แสดงผล กบั ส่วนของ การทางานของอุปกรณ์เครอื ขา่ ยทงั้ หมด อุปกรณ์เครือข่าย เพ่ือให้ส่วนของแอพพลิเคชัน่ สามารถมีขอ้ มูลของ 3.3 การพฒั นาระบบ อุปกรณ์ได้ โดยจะเช่อื มต่อไปยงั อุปกรณ์เพ่อื ทาการเขา้ ถงึ อุปกรณ์เครอื ขา่ ย ซ่ึงจะเกิดขึน้ จากการใช้บริการผ่านโพรโตคอลท่ีใช้สาหรับการเข้าถึง เม่ือผู้ใช้ป้อนข้อมูลผ่านส่วนต่อประสาน ระบบจะเก็บขอ้ มูลนัน้ ลง เครอื ขา่ ยระยะไกล (Remote Terminal Access) คอื SSH และ Telnet สาห ฐานขอ้ มูล (ฐานขอ้ มูลเกบ็ ขอ้ มูลจาเพาะเพ่อื เขา้ ถงึ อุปกรณ์) และจะเรยี ก โดยในระบบน้ีจะเลอื กใช้เลอื กใช้โพรโตคอล SSH เป็นหลกั สาหรบั การ ขอ้ มลู จากฐานขอ้ มูลนนั้ นาไปใชส้ าหรบั การเช่อื มต่อผา่ น SSH เพ่อื เขา้ ถงึ เช่อื มต่อกบั อุปกรณ์เครอื ข่าย SSH หรอื Secure Shell คอื โพรโตคอลท่ี อุปกรณ์เป้าหมายและเรียกใชช้ ุดคาสงั่ ภาษาไพทอนสาหรบั เกบ็ ขอ้ มลู แต่ ช่วยให้ผใู้ ช้กบั อุปกรณ์เป้าหมายเช่อื มต่อกนั ได้ระยะไกล มีการเขา้ รหสั ใน หากไม่สามารถเช่ือมต่อได้ จะทาการเปล่ียนไปเป็นการเช่ือมต่อผ่าน การแลกเปล่ยี นขอ้ มลู ทางานบนพอรต์ หมายเลข 22 [1] Telnet แทน ซง่ึ การเขา้ ถงึ อุปกรณ์เครอื ขา่ ยและเกบ็ ขอ้ มูลอุปกรณ์ขา้ งเคียง จะอยใู่ นชุดคาสงั่ นี้ ชุดคาสงั่ จะส่งออกขอ้ มูลเท่าท่ีจาเป็นต่อการแสดงผล การเกบ็ ขอ้ มูลสาหรบั อุปกรณ์ขา้ งเคยี ง โดยอาศยั โพรโตคอลสาหรบั หลงั จากนนั้ จะนาขอ้ มูลไปประมวลผล และเกบ็ ขอ้ มูลท่ไี ด้มาจากอุปกรณ์ การเรียนรูก้ ารมอี ยู่ของอปุ กรณ์ขา้ งเคยี ง (Discovery Protocol) เช่น CDP เครอื ขา่ ยลงฐานขอ้ มูล ซ่งึ ฐานขอ้ มูลจะเกบ็ ขอ้ มลู ท่จี าเป็นตอ้ งใชส้ าหรบั การ (Cisco Discovery Protocol) ใช้สาหรับการเรียนรู้อุปกรณ์ข้างเคียงท่ี แสดงผล เม่อื เรยี กขอ้ มูลอุปกรณ์ในฐานขอ้ มูลจนหมดแลว้ จะเป็นการจบ การทางาน รปู ท่ี 4 แสดงผงั งานขนั้ ตอนการทางานของระบบ เช่อื มต่อโดยตรง (Directly Connect) กบั อปุ กรณ์ทท่ี าการเรยี นรู้ สาหรบั CDP หรอื Cisco Discovery Protocol เป็นโพรโตคอลทอ่ี ยูบ่ น สาหรบั รายละเอียดการทางานในส่วนของการเก็บขอ้ มูล และการ แสดงผลขอ้ มลู มดี งั น้ี ระดบั Layer 2 (อ้างองิ จาก OSI Model) ปรากฎอย่บู นอุปกรณ์ระบบของ Cisco ใชส้ าหรบั การเรยี นรอู้ ปุ กรณ์ขา้ งเคยี งทเ่ี ช่อื มต่อโดยตรง กบั อุปกรณ์ 3.3.1. การเกบ็ ขอ้ มูลจากอุปกรณ์เพอื่ ใชใ้ นการสรา้ งแผนภาพเครอื ขา่ ย ท่ที าการเรียนรู้ โดยจะแสดงขอ้ มูลทวั่ ไปของอุปกรณ์ขา้ งเขยี ง อาทิ ไอพี ขอ้ มูลท่โี ปรแกรมจาลองแผนภาพเครือข่ายตอ้ งใช้ จาเป็นตอ้ งใช้ แอดเดรส, รุ่นและประเภทของอุปกรณ์, โฮสต์เนม เพ่อื ใช้สาหรบั จดั การ ระบบเครอื ข่าย ซ่งึ ในระบบน้ีเลือกใช้ CDP สาหรบั การเกบ็ ขอ้ มูล อีกหน่งึ ขอ้ มูลทเ่ี กย่ี วขอ้ งกบั อปุ กรณ์เครอื ขา่ ยนนั้ เชน่ ไอพแี อดเดรส โดยการ โพรโตคอลสาหรบั การเรียนรกู้ ารมอี ยู่ของอุปกรณ์ขา้ งเคยี งคอื LLDP หรอื เกบ็ ขอ้ มูลทอ่ี ุปกรณ์เป้าหมายนนั้ สามารถใช้คาสงั่ พื้นฐานของ CLI บน Link-Layer Discovery Protocol เป็นโพรโตคอลมาตรฐานท่ีกาหนดโดย อุปกรณ์ท่ีใช้ Cisco IOS ตัวอย่างคาสัง่ เช่น “show run | include IEEE (802.1AB) ท่ีทาให้อุปกรณ์เครือข่ายเรียนรู้แลกเปล่ียนข้อมูลกบั hostname” เพ่ือได้ข้อมูลช่อื ของอุปกรณ์เป้าหมาย, คาสงั่ “show ip อุปกรณ์อ่นื การทางานของ LLDP ค่อนขา้ งคล้ายคลงึ กนั กบั CDP รวมไป interface brief | exclude unassign” เพ่อื ใหไ้ ดห้ มายเลขไอพแี อดเดรส ถงึ ขอ้ มูลท่ไี ดร้ บั จากโพรโตคอลทงั้ สองเชน่ เดยี วกนั เพยี งแต่มีขอ้ จากดั ใน ของแต่ละอนิ เตอรเ์ ฟสของเรา้ เตอร์ (คาสงั่ include และ exclude ถูกใช้ การแลกเปล่ยี นขอ้ มูล เน่อื งดว้ ย LLDP จะทาการสง่ ขอ้ มูลอยใู่ นรูปแบบของ สาหรบั ปรบั แต่งผลลพั ธ์ ใหเ้ ป็นไปตามตอ้ งการ) โดยคาสงั่ ทใ่ี ชท้ งั้ หมด Ethernet Frame [2] ซ่งึ บางครงั้ ในชนั้ เรียนจริงมกี ารต่อระหว่างเรา้ เตอร์ จะถูกเขยี นขน้ึ ในชุดคาสงั่ ภาษาไพทอน และใช้ไลบรารี Netmiko ใน เป็นสายสญั ญาณแบบอนุกรม (Serial Communication) ส่งผลให้ส่งขอ้ มูล การเช่อื มตอ่ ผา่ น SSH และ Telnetlib ในกรณีท่เี ช่อื มต่อผา่ น Telnet ผ่านไปไม่ได้ ต่างจาก CDP ท่ีจะส่งข้อมูลออกไปผ่าน Well-known multicast address 01:00:0C:CC:CC:CC [3] อุ ป ก ร ณ์ ท่ีไ ด้รับ ข้อ มูล ขอ้ มูลทไ่ี ดจ้ าก CDP จะเป็นขอ้ มูลพนื้ ฐานของอุปกรณ์นนั้ สามารถ ดงั กล่าวจะไดร้ บั ขอ้ มูล หลงั จากนนั้ ขอ้ มูลขา้ งตน้ จะนาไปผา่ นกระบวนการ นาไปใช้ประโยชน์ต่อไปได้ เช่น 1.) Device Identifier เป็นขอ้ มูลบ่งช้ี อุปกรณ์ เก่ียวกับท่ีอยู่ไอพี 2.) Port Identifier เป็นขอ้ มูลเก่ียวกับ อนิ เทอร์เฟสของอุปกรณ์ท่เี รียนรู้ 3.) Capabilities list ขอ้ มูลประเภท ขอ งอุป กรณ์ 4.) Platform ข้อ มูลรุ่นขอ งอุป กรณ์ รวม ถึงรุ่น ระบบปฏบิ ตั กิ ารท่ใี ชบ้ นอุปกรณ์ [4] การเรยี กดูขอ้ มูลของ CDP บนอุปกรณ์ของ Cisco สามารถใช้ได้ โดยใชค้ าสงั่ “show cdp” โดยจะแสดงขอ้ ความยนื ยนั การส่ง Message และใช้คาสงั่ “show cdp neighbor” เพ่ือแสดงข้อมูลของอุปกรณ์ท่ี เช่อื มต่อโดยตรง ดงั รูปท่ี 5 โดยขอ้ มูลท่ใี ช้ได้แก่ Device ID จะแสดง ช่อื ของอุปกรณ์ขา้ งเคยี ง Local Interface คอื อนิ เทอรเ์ ฟสของอุปกรณ์ เป้าหมาย Capability แสดงประเภทของอุปกรณ์ขา้ งเคยี ง และ Port ID จะแสดงขอ้ มูลอนิ เทอรเ์ ฟสทอ่ี ุปกรณ์ขา้ งเคยี งเช่อื มต่อกบั อุปกรณ์ 197

การประชมุ วชิ าการระดับชาติด้านเทคโนโลยีสารสนเทศ ครง้ั ท่ี 11 (NCIT2019) รูปท่ี 4 ผงั งานการดาเนินงานของระบบ ครงั้ น้ีคือขอ้ ความท่ปี ระกอบด้วย DeviceวรรคID:วรรค ตามดว้ ยตัว อกั ขระ A-Z, a-z, 0-9 โดยไมจ่ ากดั จานวน จะสน้ิ สดุ เม่อื ขนึ้ บรรทดั ใหม่ รูปท่ี 5 ตวั อยา่ งขอ้ มลู ท่ไี ด้รบั จาก CDP (‘\\r’ หรอื ‘\\n’) Regex จะทาการค้นหาขอ้ ความท่มี ีแบบแผน (Pattern) เม่อื ได้รบั ขอ้ มูลนี้และ/หรอื ขอ้ มลู อ่นื ๆ ท่เี กิดขนึ้ จากการใชค้ าสงั่ เดียวกนั กบั คาสงั่ เม่อื การคน้ หาสาเรจ็ กจ็ ะทาการคืนค่ากลบั มา [5] บนอุปกรณ์ จาเป็นตอ้ งทาการจดั ระเบยี บขอ้ มลู เพ่อื ใหไ้ ดเ้ พยี งขอ้ มูลท่ี สาหรับผลลัพธ์ของตัวอย่า งข้อ ความด้า นบนคือ “Device ID: จาเป็นสาหรบั การสรา้ งแผนภาพเครอื ข่าย โดยจะทาการจดั การกับ everestR2” และสามารถนาผลลพั ธไ์ ปใชก้ บั แอดทรบิ วิ ต์ n_hostname กลุ่มคาท่ีได้รับมาโดยใช้ Regular Expression (Regex) ซ่ึงถูกใช้ ไ ด้ ส า ห รั บ โ ค ร ง ส ร้ า ง ก า ร ค้ น ห า รู ป แ บ บ อ่ื น เ ช่ น “IP สาหรบั การคน้ หา แกไ้ ข หรอื จดั การกบั ขอ้ มูลประเภทกล่มุ คา (String) address:\\s\\d*.\\d*.\\d*.\\d*” ตัวอ ย่า งผลลัพ ธ์: IP address: 10.0.0.0 ตวั อย่างการจดั การกบั ขอ้ ความท่ีได้รบั จากการใช้คาสงั่ “show cdp สามารถนาขอ้ มูลไปใชก้ บั แอดทรบิ วิ ต์ ip_addr ได้ neighbor detailed” ดงั รปู ท่ี 6 ขอ้ ความจรงิ นนั้ มขี นาดท่ใี หญ่กวา่ นมี้ าก และบางครงั้ กม็ อี ปุ กรณ์มากกวา่ 1 จงึ ไมส่ ามารถทาการระบุเลอื ก สาหรับโครงสร้างข้อมูลท่ีพร้อมทาการส่งไปยังส่วนขอ ง จากตาแหน่งท่ชี ัดเจนได้ จาเป็นต้องทาการค้นหาภายในขอ้ ความ แอพพลิเคชนั่ แสดงผล (Application Layer) จะเป็นรูปแบบดงั รูปท่ี 7 เพ่อื ใหไ้ ดผ้ ลลพั ธท์ ต่ี อ้ งการ ซ่งึ ขอ้ มูลจะถูกจดั ระเบยี บเป็นโครงสรา้ งเรียบรอ้ ยแล้ว และพรอ้ มทจ่ี ะ นาขอ้ มูลรูปแบบดงั กล่าวเขา้ สกู่ ระบวนการประมวลผลภาพโครงสรา้ ง เครอื ขา่ ยตอ่ ไป 3.3.2. การนาเสนอแผนภาพโครงสรา้ งเครอื ขา่ ย จากขอ้ มูลในรูปแบบท่จี ดั ระเบียบเรยี บร้อยแลว้ ดงั ท่ีเกิดขนึ้ จาก การเก็บมาจากอปุ กรณ์เครือขา่ ย ซ่งึ ในลาดบั ต่อไป จะเป็นการเรยี กดู ข้อมูลอุปกรณ์ต่าง ๆ ในส่วนของแอพพลิเคชัน่ การแสดงผล (Application Layer) จะทาการร้องขอข้อมูลไปยังโมดูล Back-end (Django) ท่จี ดั การเก่ยี วกบั ฐานขอ้ มูล ซง่ึ อยภู่ ายในชนั้ Control Layer โดยจะผ่าน API Endpoint http://localhost:5000/api/devices/ ซ่ึงจะ ไดร้ บั ขอ้ มูลดงั รูปท่ี 7 และมีรายละเอียดดงั ตารางท่ี 2 ระบบจะตอ้ งนา ขอ้ มูลเหล่านนั้ มาทาการสร้างแผนภาพโครงสรา้ งเครอื ขา่ ย แผนภาพ โครงสร้างเครือข่ายท่ีระบบจะสร้างขนึ้ จะมีรูปแบบท่ีอ้างอิงจาก แผนภาพโครงสรา้ งเครอื ขา่ ยโดยทวั่ ไป เชน่ สญั ลกั ษณ์ท่แี สดงถงึ เรา้ ท์ เตอร์ จะเป็นรูปวงกลม และสัญลักษณ์ท่ีแสดงถึงสวิตช์ จะเป็นรูป ส่เี หล่ยี ม เฟรมเวริ ์คส่วนหน้าจะทาการสร้างเง่อื นไขขน้ึ จากขอ้ มูลท่ีได้รบั จากขอ้ มลู ทเ่ี กบ็ มาจากอปุ กรณ์ อ่านคา่ ขอ้ มูล และกาหนดค่า เชน่ การ รูปท่ี 6 ตวั อยา่ งผลลพั ทก์ ารใชค้ าสงั่ “show cdp neighbor detail” รปู ท่ี 7 ตวั อยา่ งโครงสรา้ งขอ้ มลู ท่รี ะบบสามารถนาไปประมวลผล จากข้อความข้างต้น จะทาการเลือกช่ือของอุปกรณ์ข้า ง เพ่อื สรา้ งแผนภาพโครงสรา้ งเครอื ขา่ ยได้ ตารางท่ี 2 ตารางรายละเอยี ดขอ้ มูลรปู ท่ี 7 เคียงของอุปกรณ์เป้าหมาย (อุปกรณ์ท่ีทาการเขา้ ถึง) โดยใช้คาสงั่ re.compile(‘Device\\sID:\\s\\w*’).findall(text) โ ด ย ท่ี ‘text’ ห ม า ย ถึง ข้อความ ‘\\s’ หมายถึงเลือกข้อมูลแบบสตริงและการเว้นวรรค ‘\\w’ หมายถงึ เลอื กอกั ขระซ่งึ จะไม่รวมการเว้นวรรคหรอื การขนึ้ บรรทดั ใหม่ เพ่อื ทาการสร้างโครงสร้างของการค้นหา โดยโครงสรา้ งในการคน้ หา 198

การประชมุ วิชาการระดับชาตดิ ้านเทคโนโลยสี ารสนเทศ ครัง้ ที่ 11 (NCIT2019) แบ่งประเภทของอุปกรณ์ ขอ้ มูลท่ไี ด้รบั ในแอดทรบิ ิวต์ device_type ช่ือแอดทริบิวต์ รายละเอียด (จากตารางท่ี 2) คอื R หรอื S กจ็ ะแบ่งไดแ้ ลว้ วา่ R คอื เรา้ ทเ์ ตอร์ และ hostname ต้องแสดงผลภายในแผนภาพโครงสร้างเป็นรูปวงกลม S คอื สวิตช์ device_type ข่อื ของอุปกรณ์เป้าหมาย เป็นรปู ส่เี หล่ยี ม เป็นตน้ และจะทาการตงั้ เง่อื นไขกบั ส่วนอ่นื อกี ดว้ ย ทงั้ ประเภทของอุปกรณ์ โดย ‘R’ แทนเรา้ เตอร์ ส่วนของการสรา้ งอนิ เทอรเ์ ฟส หรอื ตาแหน่งพกิ ดั ภายในแผนภาพฯ interface และแสดงผลใหก้ บั ผใู้ ชต้ ่อไป โดยใช้เฟรมเวริ ์ค Vue.js สาหรบั จดั การ (Router) และ ‘S’ แทนสวติ ช์ (Switch) เก่ยี วกบั คณุ ลกั ษณะภายในหน้าจอ และใชเ้ ฟรมเวริ ค์ Konva.js สาหรบั port รายละเอยี ดของอนิ เทอร์เฟสท่ที างานอยู่บน ผลติ ภาพวตั ถุท่เี กดิ ขน้ึ เพ่อื จาลองแผนภาพโครงสรา้ งเครอื ขา่ ย ip_addr อุปกรณ์เป้าหมาย 4.ผลการดาเนินงาน n_hostname ช่อื อนิ เทอรเ์ ฟสของอุปกรณ์เป้าหมายทไ่ี ป 4.1 ผลการพฒั นาระบบ n_interface ยงั อปุ กรณ์ถดั ไปท่อี ยตู่ ดิ กนั หน้าจอแรกแสดงอุปกรณ์ภายในระบบเครอื ข่าย ในกรณีท่ผี ใู้ ชง้ านพ่งึ หมายเลขไอพแี อดเดรสของอนิ เทอร์เฟส เรมิ่ ใชร้ ะบบและยงั ไมเ่ คยระบุขอ้ มูลใด ๆ ลงในระบบ หน้าจอจะแสดงวา่ ไม่ ชอ่ื ของอุปกรณ์ถดั ไปของอุปกรณ์เป้าหมาย มอี ุปกรณ์ให้ทาการเพ่ิมอุปกรณ์ ดงั รูปท่ี 8 เม่อื ผใู้ ชก้ ดปุ่ม เพ่มิ อุปกรณ์ อนิ เทอรเ์ ฟสของอปุ กรณ์ถดั ไปทเ่ี ช่อื มตอ่ หน้าจอจะแสดงสว่ นการระบุขอ้ มูล กบั อุปกรณ์เป้าหมาย รปู ท่ี 10 หนา้ แรกท่แี สดงอปุ กรณ์ในเครอื ขา่ ย รูปท่ี 8 หน้าจอแรกของเวบ็ แอปพลเิ คชนั่ รปู ท่ี 11 หนา้ จอแสดงแผนภาพโครงสรา้ งเครอื ขา่ ย เม่อื เขา้ สู่หน้าจอระบขุ อ้ มลู อุปกรณ์เครือข่าย (ADD DEVICE) ใหผ้ ใู้ ช้ หลังจากท่ีแสดงแผนภาพโครงสร้างเครือข่ายแล้ว ระบบจะทาการ อพั เดทขอ้ มลู โครงสรา้ งเครอื ขา่ ยอยา่ งอตั โนมตั ใิ นทกุ 10 วนิ าที โดยทาการ ทาการใส่ขอ้ มูลท่จี าเป็นสาหรบั การสร้างแผนภาพโครงสรา้ งเครอื ขา่ ยดงั ค้นหาขอ้ มูลและนาข้อมูลท่ีได้ค้นหามาเปรียบเทียบกับข้อมูลภายใน ฐานขอ้ มูล (ขอ้ มูลแผนภาพโครงสร้างท่แี สดง) เม่อื เปรียบเทียบแล้วไม่ ตวั อยา่ งในรปู ท่ี 9 ตรงกนั ระบบจะแจง้ เตอื นไปยงั ผใู้ ช้ ดงั รูปท่ี 12 เพ่อื ใหผ้ ใู้ ชร้ ีเฟรชหนา้ จอ แผนภาพอกี ครงั้ และระบบจงึ จะแสดงแผนภาพโครงสรา้ งท่เี ป็นปัจจุบนั ในกรณีท่ผี ใู้ ชง้ านไดร้ ะบุขอ้ มูลแลว้ ระบบจะแสดงขอ้ มลู ช่อื hostname และไอพแี อดเดรสของอุปกรณ์ท่ผี ใู้ ชไ้ ดร้ ะบุลงไปทงั้ หมด และผใู้ ชส้ ามารถ กดป่มุ พ่อื เพม่ิ อุปกรณ์ได้ ดงั รปู ท่ี 10 ผใู้ ชง้ านสามารถดูแผนภาพเครือขา่ ย ท่ถี กู จาลองขนึ้ มาจากระบบ โดยการเลอื กหน้าจอแสดงแผนภาพเครือขา่ ย (Topology) ดงั รปู ท่ี 11 รูปท่ี 9 ตวั อยา่ งการระบุขอ้ มลู อปุ กรณ์เครอื ขา่ ย รปู ท่ี 12 ตวั อยา่ งการแจง้ เตอื นเม่อื พบการเปลย่ี นแปลง ของโครงสรา้ งเครอื ขา่ ย 5. เปรยี บเทยี บกบั ระบบงานทม่ี อี ยใู่ นปัจจุบนั ในปัจจุบนั มีระบบท่คี ลา้ ยคลึงกบั ระบบค้นหาและแสดงผลแผนภาพ โครงสรา้ งเครือขา่ ยท่ไี ด้จดั ทาขน้ึ โดยมวี ตั ถุประสงคท์ ่คี ลา้ ยกนั แต่จะมี ความแตกตา่ งกนั บา้ งในบางประเดน็ เช่น Network Topology Mapper” ซ่งึ 199

การประชมุ วิชาการระดบั ชาติดา้ นเทคโนโลยสี ารสนเทศ ครง้ั ที่ 11 (NCIT2019) ไดร้ บั การพฒั นาขน้ึ โดย SolarWinds [6] เม่อื เขา้ สู่ระบบจะแสดงหน้าจอ การทางานของระบบจะเรม่ิ ตน้ จากการท่ผี ใู้ ช้ต้องป้อนขอ้ มูลเก่ยี วกบั แรกดงั รูปท่ี 13 Seed Device ท่ีต้องการให้ระบบค้นหา เช่น IP Address, Hostname หลังจากนัน้ ระบบจะทาการค้นหาอตั โนมตั ิและแสดงผล ระบบนี้เหมาะ สาหรบั ผดู้ ูแลระบบชานาญการ เพราะสามารถแจง้ เตอื นและสงั เกตการณ์ ระบบ รวมไปถงึ แสดงสถติ เิ ก่ยี วกบั การใช้งาน ดังรูปท่ี 16 และผใู้ ชง้ าน สามารถนาข้อมูลออกมาได้ในรูปแบบของเอกสารประเภท JSON เพ่ือ นาไปใชป้ ระโยชน์ต่อไปไดต้ ามทผ่ี ใู้ ชต้ อ้ งการ รูปท่ี 13 หน้าจอแรกของ Network Topology Mapper รปู ท่ี 16 หนา้ จอแสดงรายละเอยี ดของอปุ กรณ์ของ InterMapper โครงสร้างของ Network Topology Mapper จะเป็ นลักษณะของ ความแตกต่างของระบบกาลงั พฒั นากบั Network Topology Mapper โปรแกรมประยกุ ตซ์ ่งึ จาเป็นจะตอ้ งตดิ ตงั้ บนเคร่อื งคอมพวิ เตอรก์ อ่ นท่จี ะใช้ และ InterMapper ทเ่ี หน็ ไดช้ ดั คอื โครงสรา้ งพนื้ ฐานของระบบท่แี ตกต่างกนั งาน โดยจะทาการค้นพบเครือขา่ ยได้โดยอตั โนมตั โิ ดยใช้โพรโตคอลเชน่ กล่าวคอื ระบบท่กี าลงั พฒั นาจะเป็นเว็บแอพพลเิ คชนั่ ท่สี ามารถใชง้ านได้ SNMP v1-v3, ICMP, WMI, CDP เป็นต้น สาหรบั การทดลองระบบจะใช้ ผา่ น Browser ได้และมีการออกแบบโครงสร้างการทางานออกเป็นระบบ ขอ้ มูลท่เี ช่อื มต่อกนั ดงั ตวั อย่างในรูปท่ี 2 และตอ้ งเปิดการใชง้ าน Simple ชนั้ การทางาน ซง่ึ จะสามารถนาระบบไปพฒั นาตอ่ ยอดไดง้ า่ ยกว่า ในแต่ละ Network Management Protocol (SNMP) ซ่งึ เป็นโพรโตคอลเก่ยี วกบั การ ระดบั ชนั้ จะถูกแบ่งส่วนกนั เป็นโมดูล แต่ละโมดูลจะทางานอย่างอิสระ ซ่งึ จดั การอุปกรณ์เครอื ขา่ ย และแสดงขอ้ มูลของอปุ กรณ์เครอื ขา่ ยได้ [7] ส่งผลใหง้ ่ายตอ่ การพฒั นาตอ่ ไป การค้นหาอุปกรณ์ภายในเครือข่ายเพ่อื นาขอ้ มูลไปสร้างแผนภาพ อีกทงั้ การท่ีการออกแบบโครงสร้างออกเป็นอิสระต่อกนั สนับสนุน โครงสรา้ งเครอื ขา่ ยของ Network Topology Mapper นนั้ ทาไดโ้ ดยเรมิ่ จาก ความสามารถในการเขยี นโปรแกรมเครอื ขา่ ย (Network Programmability) การระบุข้อมูลอุปกรณ์เครือข่าย โดยผู้ใช้ระบุ Subnet Address ของ สามารถประยกุ ต์ต่อไปเพ่อื ให้สามารถจดั การทางาน หรอื ตงั้ ค่าให้ระบบ เครอื ขา่ ยทงั้ หมด หรอื ผใู้ ชส้ ามารถระบุ IP ของอปุ กรณ์ Seed Device เช่น โดยตรงได้ เรา้ ทเ์ ตอรท์ เ่ี ปิดใชง้ าน SNMP และแสดงผลดงั ตวั อยา่ งในรูปท่ี 14 ในส่วนของค่าใชจ้ ่ายเก่ยี วเน่ืองกบั ระบบ ระบบทงั้ สองมีวตั ถุประสงค์ คือการตอบสนองลูกคา้ ในระดบั องค์กร จงึ มีค่าใช้จ่ายสาหรบั การใช้งาน ระบบค่อนขา้ งสูง ถึงแมจ้ ะมีแบบฟรใี ห้ผใู้ ช้ทวั่ ไปใชง้ าน แต่ก็ยงั ถูกจากดั ฟังก์ชนั การทางานบางประการอยู่ ซ่งึ จะแตกต่างจากระบบงานท่ีกาลัง พฒั นาท่มี วี ตั ถปุ ระสงคเ์ พ่อื การศกึ ษาในชนั้ เรยี นระบบเครอื ขา่ ยภาคปฏิบตั ิ และพยายามออกแบบใหเ้ ป็น Open Source รปู ท่ี 14 หนา้ จอแสดงแผนภาพโครงสรา้ งเครอื ขา่ ยของ 6. สรุปผลและแนวทางการพฒั นา Network Topology Mapper การศกึ ษากระบวนการคน้ หาและแสดงผลแผนภาพโครงสรา้ งเครือข่าย ผา่ นเวบ็ แอพพลเิ คชนั่ สามารถช่วยลดความสบั สน และชว่ ยลดความเขา้ ใจ อกี หน่งึ ระบบท่คี ลา้ ยกนั คอื โปรแกรม “InterMapper” ซ่งึ เป็นซอฟทแ์ วร์ ผดิ ในการปฏิบตั งิ านระบบเครอื ขา่ ย รวมถึงสามารถเพิม่ ประสทิ ธภิ าพใน สาหรับสงั เกตการณ์และแจ้งเตือนการทางานภายในเครือข่ายจริง [8] การศึกษาและการปฏบิ ตั ิงานทางเครอื ข่ายได้ จากการทดลองได้ศึกษา สาหรับ InterMapper จะมีฟังก์ชนั ท่เี ก่ียวขอ้ งกับการแสดงผลแผนภาพ ออกแบบ และพฒั นาระบบ ทาให้ระบบสามารถทาการค้นหาอุปกรณ์ โครงสรา้ งและแสดงผลสถานะภายในเครอื ขา่ ยโดยใชข้ อ้ มูลจากโพรโตคอล เครอื ขา่ ยขา้ งเคยี งไดจ้ รงิ SNMP [9] ดงั รปู ท่ี 15 เป็นตวั อยา่ งจากโครงสรา้ งจรงิ ทไ่ี ดท้ ดลอง ขอ้ จากดั ของระบบท่พี ฒั นาคือ ระบบถูกออกแบบให้สามารถทางาน ภายใตก้ ารเปล่ียนแปลงของระบบท่จี ากัด กล่าวคือสามารถรบั รู้ถึงการ รปู ท่ี 15 หน้าจอแสดงแผนภาพโครงสรา้ งเครอื ขา่ ยของ InterMapper เปล่ยี นแปลงและแจ้งเตอื นไปยงั ผใู้ ชไ้ ด้ แตจ่ ะไม่สามารถเปล่ยี นโครงสรา้ ง แผนภาพเครือข่ายในทันทีท่ีผู้ใช้เห็นขอ้ ความแจ้งเตือน และระบบนี้มี ขอ บ เขตกา รใช้งา นบ น อุป ก รณ์ เค รือ ข่า ยท่ีมี Cisco IOS (Cisco Internetwork Operation System) เทา่ นนั้ และยงั มฟี ังกช์ นั่ การทางานท่ยี งั ไม่เป็นอรรถประโยชน์สาหรบั การใช้งานภายในเครอื ข่ายจรงิ เท่าท่ีควร 200

การประชุมวชิ าการระดบั ชาติด้านเทคโนโลยสี ารสนเทศ ครั้งท่ี 11 (NCIT2019) ระบบท่พี ฒั นาจงึ เหมาะสาหรบั ผทู้ ่ศี กึ ษาเกย่ี วกบั เครอื ขา่ ยจรงิ เบอื้ งตน้ หรอื ในการใชเ้ ป็นขอ้ มลู ประกอบสาหรบั การทดลองภายในหอ้ งปฏบิ ตั กิ าร ในอนาคต ระบบจะมกี ารพฒั นาตอ่ ไปในทศิ ทางท่ดี ีขน้ึ โดยตวั ระบบจะ มคี วามยดื หยุน่ มากกว่าปัจจุบนั สามารถใชง้ านกบั อุปกรณ์ท่หี ลากหลาย ขน้ึ และเพิ่มอรรถประโยชน์ของระบบให้ใช้งานสาหรบั การสงั เกตการณ์ เครือข่ายได้ผ่านอุปกรณ์เคล่ือนท่ี เน่ืองจากระบบถูกพฒั นาเป็น Web- Application ซ่ึงสามารถเปิดได้กบั หลายอุปกรณ์มากข้นึ ไม่ได้จากดั แค่ เพียงคอมพิวเตอรเ์ ท่านัน้ โดยเพมิ่ โพรโตคอลท่จี ะสนับสนุนการทางาน ดงั กล่าว หรือจากโครงสรา้ งของระบบท่รี บั ขอ้ มูลจาก API ซ่งึ ในส่วนน้ีมี แนวโน้มท่สี ามารถร่วมใช้ API ของระบบอ่นื ถ้าหากมีขอ้ มูลใกลเ้ คยี งกบั ท่ี ระบบต้องการได้ และสามารถตงั้ ค่าอุปกรณ์หรอื ป้อนการตงั้ ค่าบน Web Application ได้โดยพฒั นาหใหม้ ีความเป็นระบบท่มี ีความสามารถในการ จดั การกบั เครือข่ายสาหรบั แนวคดิ แบบเครอื ขา่ ยท่กี าหนดโดยซอฟตแ์ วร์ (Software-defined Network หรอื SDN) มากขน้ึ อกี ทงั้ การออกแบบระบบใหเ้ ป็นอตั โนมตั ิ โดยเพมิ่ อปุ กรณ์ไดเ้ องอยา่ ง อตั โนมตั จิ ากการไดร้ บั ขอ้ มลู จากอปุ กรณ์ขา้ งเคียงแล้วใชข้ อ้ มลู นนั้ ทาการ คน้ หาใหมต่ ่อไป ผใู้ ชป้ ้อนเพยี งขอ้ มลู ของอุปกรณ์แรกเท่านนั้ เอกสารอ้างอิง [1] W. Odom. “Accessing the CLI with Telnet and SSH”, CCENT/CCNA ICND1 100-105 Official Cert Guide, pp 133, May. 2016. [2] E. Bhattarai. “LLDP Frame Format”, Link Layer Discovery Protocol (LLDP), [ONLINE] Available https://learningnetwork.cisco.com/docs/DOC- 26851 [Accessed 16 Aug 2019]. [3] Cisco Systems, Inc. “Chapter: Cisco Discovery Protocol Version 2”, Information About Using Cisco Discovery Protocol, June. 2016. [ONLINE] Available https://www.cisco.com/c/en/us/td/docs/iosxml/ios/cdp/configuration/ 15-mt/cdp-15-mt-book/nm-cdp-discover.html [4] W. Odom. “Examining Information Learned by CDP”, CCENT/CCNA ICND1 100-105 Official Cert Guide, pp 793, May. 2016 [Accessed 2 May 2019]. [5] W3Schools. “Python RegEx“, Python Tutorial, [ONLINE] Available https://www.w3schools.com/python/python_regex.asp [Accessed 3 May 2019]. [6] SolarWinds Worldwide, LLC. “Network Topology Mapper: Map Your Network Automatically”, NTM Datasheet, [ONLINE] Available https://www.solarwinds.com/media/solarwinds/swdcv2/ licensed-products/network-topology-mapper/resources/datasheets/ntm- datasheet.ashx?rev=812d98e820214e698de782f6ca043507 [Accessed 5 May 2019]. [7] W. Odom. “Popular TCP/IP Application”, CCENT/CCNA ICND1 100- 105 Official Cert Guide, pp 107-109, May. 2016. [8] HelpSystems LLC. “InterMapper Server and Network Monitoring”, Welcome to InterMapper, InterMapper User Guide Version 6.0, pp 9, April. 2016. [9] HelpSystems LLC. “What Happens During Autodiscovery?”, Using Auto- Discovery, InterMapper User Guide Version 6.0, pp 63, April. 2016. 201

การประชุมวชิ าการระดบั ชาตดิ า้ นเทคโนโลยสี ารสนเทศ คร้งั ท่ี 11 (NCIT2019) การตรวจหารปู แบบกราฟห้นุ ด้วยการเรียนรเู้ ชิงลกึ Stock Graph Pattern Detection Using Deep Learning อภสิ ทิ ธิ ์ รงุ่ มำนะกุล ธนภทั ร ฆงั คะจติ ร Apisit Rungmanakul Thanapat Kangkachit สาขาวศิ วกรรมขอ้ มลู ขนาดใหญ่ / มหาวทิ ยาลยั ธรุ กจิ บณั ฑติ ย์ สาขาวศิ วกรรมขอ้ มลู ขนาดใหญ่ / มหาวทิ ยาลยั ธรุ กจิ บณั ฑติ ย์ Big Data Engineering / Dhurakij Pundit University Big Data Engineering / Dhurakij Pundit University กรุงเทพฯ / ประเทศไทย กรงุ เทพฯ / ประเทศไทย Bangkok Thailand [email protected] Bangkok Thailand [email protected] บทคัดย่อ — การวิเคราะห์หุ้นด้วยปัจจัยด้านเทคนิ คคอลจาก make effective decisions by using technical analysis from stock รปู แบบกราฟห้นุ ได้ถกู พิสูจน์วา่ เป็นหน่ึงในเคร่ืองมือท่ีดีท่ีสุดที่สามารถ chart patterns. สรา้ งกาไรให้กบั นกั ลงทุนจากตลาดหลกั ทรพั ยไ์ ด้ มีหลายงานวิจยั ก่อน หน้าได้นาเสนอวิธีการตรวจหารูปแบบกราฟหุ้นโดยใช้เทคนิ คการ Keywords — Technical analysis from stock chart pattern, เรียนรู้เชิงลึก แต่ยงั ขาดความแม่นยาในการตรวจจบั ในงานวิจยั นี้ได้ Mask R-CNNs, Candlestick Chart, RSI Line Chart, Bullish ประยุกต์ใช้เทคนิ คโครงข่ายประสาทเทียมแบบคอนโวลูชนั่ แบบสร้าง Divergence pattern. หน้ากากเพื่อร้จู าและระบุรายละเอียดระดบั พิกเซล (Mask R-CNNs) ใน การสร้างโมเดลสาหรบั ตรวจหารูปแบบกราฟหุ้นบนกราฟแท่งเทียน 1. บทนำ (Candlestick) และโมเดลสาหรบั ตรวจหารปู แบบกราฟห้นุ บนกราฟอาร์ กำรตรวจหำรปู แบบกรำฟหุน้ ไดถ้ ูกออกแบบมำเพ่อื สนับสนุนกำร เอสไอ (RSI) นามาพิจารณาหาช่วงเวลาท่ีเกิดรปู แบบกราฟหุ้นร่วมกนั วเิ ครำะหห์ ุน้ ด้วยปัจจยั ด้ำนเทคนิคคอล และแก้ปัญหำของผู้ใชง้ ำน อนั จากทงั้ สองโมเดล โดยเลือกใช้รูปแบบกราฟห้นุ แบบบูลลิชไดเวอรเ์ จน เกิดจำกควำมไม่รู้ ขำดควำมเขำ้ ใจอย่ำงผู้เช่ยี วชำญ ซ่งึ กำรเขำ้ ลงทุน (Bullish Divergence) เน่ืองจากมีศกั ยภาพสูงในการทากาไรให้กับนัก หุน้ ไทยในตลำดหลกั ทรพั ย์แห่งประเทศไทย ณ ปัจจุบนั นัน้ ข้อมูลมี ลงทุน ผลการทดลองบนกราฟหุ้นจากตลาดหลกั ทรพั ยแ์ ห่งประเทศ ปรมิ ำณมหำศำลและรวดเร็ว ขณะท่เี วลำมจี ำกดั อำจนำมำซง่ึ ควำมผดิ ไทยพบว่าวิธีการท่ีนาเสนอให้ผลการทานายรปู แบบ mAP ท่ีแม่นยากวา่ พลำดของกำรตดั สนิ ใจในกำรลงทุน โดยงำนวจิ ยั น้ี จะทำกำรตรวจจบั วิธีการอื่น ซึ่งสามารถช่วยในการตดั สินใจของนกั ลงทนุ ด้วยปัจจยั ด้าน รปู แบบกรำฟหุน้ ทม่ี ศี กั ยภำพ เพ่อื นำมำใชป้ ระกอบกำรลงทุนใหเ้ กดิ ผล เทคนิคคอลจากรปู แบบกราฟห้นุ ได้อยา่ งมีประสิทธิภาพ กำไรตอ่ นกั ลงทุน จำกงำนวจิ ยั ท่เี ก่ยี วกบั กำรวเิ ครำะห์หุน้ ด้วยปัจจยั ด้ำนเทคนิคคอ คำสำคัญ — การวิเคราะห์หุ้นด้วยปัจจยั ด้านเทคนิ คคอลจาก ลจำกรูปภำพเท่ำนัน้ [6] สรำ้ งรูปภำพจำกข้อมูล Indicator ย้อนหลงั รูปแบบกราฟห้นุ , โครงข่ายประสาทเทียมแบบคอนโวลูชนั่ แบบสร้าง แล้วใช้ CNN-TA เพ่อื ทำนำยผลตอบแทนท่ดี ีท่สี ุดจำกกำรซ้อื ขำยหุ้น หน้ากากเพ่ือร้จู าและระบุรายละเอียดระดบั พิกเซล, กราฟแท่งเทียน, ส่วนงำนวิจัย [3] นำรูปภำพกรำฟหุ้น มำใช้ 1D-CNNs, 2D-CNNs กราฟเส้นอารเ์ อสไอ, รปู แบบกราฟห้นุ แบบบลู ลิชไดเวอรเ์ จน ทำนำยรูปแบบกรำฟหุ้น แต่ยงั ไม่สำมำรถตรวจหำรปู แบบกรำฟหุน้ ได้ อย่ำงแม่นยำเม่อื นำมำเปรยี บเทยี บกบั กำรใช้ขอ้ มูล OHLCVยอ้ นหลงั ABSTRACT — Technical analysis from stock chart pattern has ซง่ึ ใชส้ ำหรบั กำรทำนำยผลตอบแทนจำกกำรซ้อื ขำยหนุ้ been proven to be one of the efficient tools that assists investors to ข้อมูล OHLCV นัน้ มีบทบำทสำคัญสำหรบั กำรลงทุนของตลำด gain profits from stock market. Previously, several approaches กำรเงินทุกรูปแบบ จึงสมควรอย่ำงย่ิงท่ีจะพัฒนำกำรเรียนรู้ของ have been proposed to detect stock chart patterns using deep คอมพิวเตอร์ด้ำน Image Processing ซ่ึงเป็นทำงเลือกท่ีได้รบั กำร learning techniques. However, the obtained accuracy needs to be พสิ ูจน์ยอมรบั แล้ว ใช้ทำนำยผลจำกรูปภำพกรำฟหุ้น เพ่อื หำรูปแบบ improved. In this paper, we apply Mask R-CNNs technique to กรำฟหุน้ ดว้ ยปัจจยั ดำ้ นเทคนคิ คอล แมจ้ ะไมม่ ขี อ้ มลู OHLCV ยอ้ นหลงั construct two models that separately extract patterns from มำใชป้ ระกอบดว้ ยเลย Candlestick Chart (OHLCV) and RSI Line Chart. A Bullish ดว้ ยเหตุดงั กลำ่ ว งำนวจิ ยั ฉบบั น้ี จงึ นำเสนอวธิ กี ำรตรวจหำรปู แบบ Divergence pattern is chosen according to its high potential to gain กรำฟหุ้นด้วยกำรเรยี นรูเ้ ชิงลึก Mask R-CNNs ซ่ึงสำมำรถตรวจหำ profits. Experimental results on stock charts from Stock Exchange รูปแบบกรำฟหุ้นจำกรูปภำพกรำฟหุ้นอย่ำงมปี ระสทิ ธภิ ำพ และช่วย of Thailand (SET) data show that our approach yields better mAP สนบั สนุนนักลงทุนในกำรตดั สนิ ใจ among other approaches. This results in assisting investors to 202

การประชุมวชิ าการระดบั ชาตดิ ้านเทคโนโลยสี ารสนเทศ ครงั้ ที่ 11 (NCIT2019) 2. ควำมรพู้ น้ื หลงั และงำนวจิ ยั ทเ่ี กย่ี วขอ้ ง รปู ท่ี 2. แสดงภำพรวมกำรทำงำน Mask R-CNNs งำนวจิ ยั ทน่ี ำเสนอกำรแกป้ ัญหำด้ำนกำรตรวจหำรปู ภำพ สำมำรถ แบง่ ออกตำมลกั ษณะของขอ้ มลู ดงั น้ี 2.3. งานวจิ ยั ทเี่ กยี่ วขอ้ ง จำกผลงำนวิจัยของ SiamQuant หัวข้อ Bullish Divergence ซ่ึง 2.1. CNNs Convolutional Neural Networks เป็นโครงขำ่ ยประสำทเทยี มแบบ เป็นรปู แบบกรำฟหุน้ ท่มี ลี กั ษณะคอื Candlestick Chart จะทำ Lower Low แต่ RSI Line Chart จะท ำ Higher Low พ บ ว่ำ ค่ ำส ถิติจำก คอนโวลูชัน่ ท่มี ีกระบวนกำรสกัดคุณลกั ษณะสำคญั ของภำพออกมำ ผลตอบแทนของกำรลงทุนน่ำสนใจ สำมำรถใช้ลงทุนได้จรงิ โดยมี แปลงค่ำ Pixel จำกข้อมูล Input ทัง้ หมด 3 ชำแนล (Channel) คือ สี %Win Rate = 60.90%, % Avg. Profit/Loss = 13.94%, แ ล ะ Net แดง น้ำเงนิ และเขยี ว เป็นเลข 0 ถงึ 255 เพ่อื เป็นคำ่ แทนควำมเขม้ ของ Profit = 94.95% ใน ช่ วงเวล ำ 01/01/2007-01/01/2017 ดังรูป ท่ี 3. สี ทำให้ต้องใช้ประสทิ ธภิ ำพของเคร่อื งคอมพวิ เตอรอ์ ย่ำงมำก ดงั นัน้ ดังนัน้ งำนวิจัยฉบับน้ี จึงนำรูปแบบ Bullish Divergence ดังกล่ำวมำ CNNs จงึ ไม่ค่อยเป็นท่นี ิยม แต่ในปัจจุบนั กำรพฒั นำหน่วยประมวลผล ดำเนนิ กำรวจิ ยั กรำฟฟิก (GPU) สำมำรถรองรบั กำรคำนวณไดอ้ ยำ่ งมปี ระสทิ ธภิ ำพสงู จงึ ทำให้ CNNs ประสบควำมสำเร็จในกำรแก้ปัญหำ Classification ท่ี เก่ียวข้องกบั รูปภำพ โดยกระบวนกำรมีขนั้ ตอน Convolution, Relu, Pooling, Fully Connected แลว้ คำนวณผลลพั ธ์ Prediction ดงั รปู ท่ี 1. รปู ท่ี 1. แสดงภำพรวมกำรทำงำน CNNs 2.2. Mask R-CNNs รปู ท่ี 3. แสดงภำพผลงำนวจิ ยั ของ SiamQuant หวั ขอ้ Bullish Mask Regional-Convolutional Neural Networks เผ ย แพ ร่ใน ปี Divergence แหลง่ ทม่ี ำ http://www.siamquant.com/divergence- 2018 ใช้แนวคดิ ท่เี รยี บง่ำยในกำรตรวจจบั และแบ่งส่วนวตั ถุ พฒั นำต่อ signal-reliability/ จ ำ ก R-CNNs, Faster R-CNNs, Faster R-CNNs ท่ี เป็ น ก ำ ร ท ำ Object Detection ซง่ึ มขี อ้ จำกดั หลำยอยำ่ ง จงึ พฒั นำแกไ้ ขขอ้ จำกดั ทำ 2.4. จากงานวิจัยล่าสุด ทีเ่ กีย่ วกับการวิเคราะห์หุ้นด้วยปัจจัยด้าน ใ ห้ Mask R-CNNs เป็ น Instance Segmentation แ บ บ Multiple เทคนิคคอลจากรปู ภาพกราฟหุน้ เท่านนั้ Object โดยโครงสรำ้ งของ Mask R-CNNs ประกอบดว้ ย [6] สรำ้ ง Image โดยใช้ข้อมูล Indicator ยอ้ นหลงั แล้วพบว่ำกำร Convolutional Backbone โดยข้อมูล Input จะถูก Preprocess ใช้ CNN-TA (Convolutional Neural Network - Technical Analysis) โดยกำรแบง่ เป็น Patch ยอ่ ย กอ่ นถกู นำเขำ้ ส่โู มเดล ทำนำย ผลตอบแทน ท่ดี ที ่สี ุดจำกกำรซ้อื ขำยหุน้ เม่อื เทยี บกบั กลยุทธ์ LSTM, MLP, และ Buy and Hold Region Proposal Network (RPN) ทำหน้ำท่สี กดั คุณสมบตั ทิ ่คี ำด ว่ำเป็ นวัตถุออกจำก CNNs จำกนั้นนำส่วนท่ีคำดว่ำเป็ นวัตถุเข้ำ [3] ทำนำยควำมถูกต้องของรูปแบบหุ้นจำก 2D-CNNs (Two- Feature Map Dimensional Convolutional Neural Networks) โดยใช้รูปภำพ ของ รูป แ บ บ ก ร ำฟ หุ้ น ย้อ น ห ลัง แ ล ะ 1D-CNNs (One-Dimensional RoI (Region of Interest) เป็ นขัน้ ตอนกำรใช้พิกัดตำแหน่งบน Convolutional Neural Networks) โดยใช้ข้อมูล OHLCV (Open High Feature Map เพ่ือหำ Feature Vector ให้มีขนำดคงท่ี แล้วส่งไปยัง Low Close Volume) ย้อนหลัง แต่ทัง้ 2D-CNNs และ 1D-CNNs นั้น Fully Connected Layers กับ Softmax เพ่ือทำกำรคำนวณผลลัพธ์ ยงั ไม่มปี ระสทิ ธภิ ำพพอทจ่ี ะนำไปใช้งำน เม่อื เทียบกบั Hard-coded ท่ี แสดงออกมำเป็ น 3 ลักษณะ คือ Mask Branch, Box Regression, ใชข้ อ้ มลู OHLCV ยอ้ นหลงั มำประกอบ Classification ดงั รปู ท่ี 2. จำกกำรศึกษำงำนวจิ ยั ท่ีเก่ียวข้อง พบว่ำ CNNs (Convolutional Neural Network) มีทัง้ ข้อดีและข้อเสีย ดังนั้นงำนวิจัยน้ีจึงเลือก 203

การประชุมวชิ าการระดับชาตดิ ้านเทคโนโลยีสารสนเทศ ครง้ั ที่ 11 (NCIT2019) ประยุกต์ต่อยอดจำก [3] โดยงำนวิจัยฉบับน้ีจะมุ่งเน้นกำรตรวจจับ Candlestick รปู แบบกรำฟหุน้ ดว้ ยเทคนิคใหม่ เพอ่ื เพม่ิ ควำมถูกตอ้ งแม่นยำ RSI 3. วธิ ดี ำเนนิ กำรวจิ ยั งำนวจิ ยั ช้ินน้ีนำเสนอเทคนิคกำรตรวจจบั รูปแบบกรำฟหุ้นด้วย ขนั้ ตอนโดยมภี ำพรวมกำรทำงำน ดงั รปู ท่ี 4. รปู ท่ี 4. แสดงภำพรวมกำรทำงำนของกำรตรวจจบั รปู แบบกรำฟหุน้ รปู ท่ี 6. แสดงภำพกำรสรำ้ ง Mask กลยุทธท์ ่ี 1. 3.2.2. กลยุทธ์ที่ 2. ระบุตาแหน่งเป็นตามลกั ษณะของกราฟแบบ ชิด โดย Candlestick Chart เป็น Label ที่ 1 และ RSI Line Chart เป็น Label ที่ 2 ร่วมกนั ตอน Train และ Validation ดงั รปู ที่ 7. 3.1. การเตรยี มขอ้ มลู Candlestick ร ว บ ร ว ม รูป ภ ำ พ ก ร ำฟ หุ้น ร ำ ย หุ้ น จ ำก ต ล ำ ด ห ลัก ท ร ัพ ย์แ ห่ ง ประเทศ ไท ย ท่ีแสดง Candlestick Chart และ RSI Line Chart ปี 2017-2018 ดงั รปู ท่ี 5. Candlestick RSI RSI รปู ท่ี 5. แสดงภำพตวั อย่ำงรปู ภำพกรำฟหุน้ Candlestick และ RSI แหลง่ ทม่ี ำ www.tradingview.com 3.2. การสรา้ ง Mask ขอ้ มลู สาหรบั การเทรนโมเดล แบง่ เป็น 3 กลยทุ ธ์ ในกำรระบุตำแหน่งเพอ่ื ดำเนนิ กำรวจิ ยั 3.2.1. กลยุทธ์ที่ 1. ระบุตาแหน่งเป็นทรงสีเ่ หลีย่ ม ครอบคลุม กราฟ Candlestick Chart และ RSI Line Chart เป็น 1 Label ร่วมกัน ตอน Train และ Validation ดงั รปู ที่ 6. รปู ท่ี 7. แสดงภำพกำรสรำ้ ง Mask กลยทุ ธท์ ่ี 2. 3.2.3. กลยุทธ์ที่ 3. ระบุตาแหน่งเป็นตามลกั ษณะของกราฟแบบ ชิด โดย Candlestick Chart เป็น Label ที่ 1 และ RSI Line Chart เป็น Label ที่2 แยกกนั ตอน Train และ Validation ดงั รปู ที่8. และ รปู ที่9 204

การประชมุ วิชาการระดบั ชาตดิ ้านเทคโนโลยีสารสนเทศ คร้งั ท่ี 11 (NCIT2019) นำมำเปรยี บเทยี บด้วยค่ำ mAP (mean Average Precision) ดงั รูปท่ี 11. @ IoU (Intersection over Union) ดงั รปู ท่ี 12. รปู ท่ี 11. แสดงภำพกำรคำนวนของคำ่ Precision Candlestick รปู ท่ี 8. แสดงภำพกำรสรำ้ ง Mask กลยทุ ธท์ ่ี 3. RSI รปู ท่ี 12. แสดงภำพกำรคำนวนของคำ่ IoU รปู ท่ี 9. แสดงภำพกำรสรำ้ ง Mask กลยทุ ธท์ ่ี 3. 4. ผลกำรวจิ ยั 3.3. สรา้ งโมเดลดว้ ยเทคนิค Mask R-CNNs 4.1. การตงั้ คา่ ในการกระบวนการวจิ ยั ในงำนวจิ ยั น้ี นำ ResNet มำใช้ มลี กั ษณะดึงค่ำ Features ท่สี กัด นำรปู ภำพกรำฟหุน้ ทม่ี ี Bullish Divergence pattern จำก SET สุ่ม มำได้ในชัน้ แรก มำคำนวณร่วมกับชัน้ ถัดไป ซ่ึงจะเรียก Features จำนวนมำ 43 หุ้น และ MAI สุ่มจำนวนมำ 21 หุ้น เฉล่ียจำก 8 ดงั กลำ่ วว่ำ Residues ดงั รปู ท่ี 10. อุตสำหกรรม ซง่ึ แต่ละหุน้ จะมคี ่ำ Free Float > 25% ขนำดของรปู ภำพ jpg. = Height x Width = 1080 x 1920 pixels และแสดง Candlestick รปู ท่ี 10. แสดงภำพ ResNet นำชนั้ แรกมำคำนวณร่วมกบั ชนั้ ถดั ไป Chart (1D)(close) 2yrs (log), RSI Line chart (14)(close) 2yrs (log) 3.4. การวดั ประสทิ ธภิ าพในการทานาย รวมทงั้ หมด 64 รปู โดยแบ่งเป็น ข้อมลู สอนระบบ Train Data จำนวน 42 รูป (66%), ข้อมูล Validation จำนวน 7 รูป (10%), ข้อมูลทดสอบ โดย Weight ท่ีสรำ้ งข้นึ จำกรูปภำพท่ีถูก Mask ทงั้ รูปภำพ Train ระบบ Test Data จำนวน 15 รปู (15%) Data และรูปภำพ Validation Data ท่ปี ระกอบดว้ ย Candlestick Chart และ RSI Line Chart จำกกำรดำเนินกำรวิจัยทัง้ 3 รูปแบบนั้น มำ 4.2. การเปรยี บเทยี บประสทิ ธภิ าพ ทดสอบกับรูปภำพ Test Data แล้วจึงนำผลลัพธ์ท่ีได้มำเทียบกับ จำกกำรกำรสร้ำงหน้ำกำกสำหรับข้อมูลในกำรเทรน Mask for Ground Truth จำกรูปแบบของ SiamQuant Research ข้ำงต้น แล้ว Training Pictures ใหผ้ ลลพั ธท์ แ่ี ตกตำ่ งกนั 4.2.1. กลยุทธ์ที่ 1. ระบุตาแหน่งเป็นทรงสเี่ หลยี่ ม ครอบคลุมตัว กราฟ Candlestick Chart และ RSI Line Chart เป็น 1 Label ร่วมกัน ตอน Train และ Validation พบกำรตรวจหำรปู แบบกรำฟหุน้ ถกู ตอ้ งแบบคลุมเครอื ดงั รปู ท่ี 13. 4.2.2. กลยุทธ์ที่ 2. ระบุตาแหน่งเป็นตามลกั ษณะของกราฟแบบ ชิด โดย Candlestick Chart เป็น Label ที่ 1 และ RSI Line Chart เป็น Label ที่2 ร่วมกนั ตอน Train และ Validation พบควำมผดิ พลำดจำกกำรตรวจหำรปู แบบกรำฟหุน้ ดงั รปู ท่ี 14. 4.2.3. กลยุทธท์ ี่ 3. ระบุตาแหน่งเป็นตามลกั ษณะของกราฟแบบชดิ โดย Candlestick Chart เป็ น Label ที่ 1 แล ะ RSI Line Chart เป็ น Label ที่2 แยกกนั ตอน Train และ Validation 205

การประชุมวชิ าการระดับชาติดา้ นเทคโนโลยสี ารสนเทศ ครัง้ ที่ 11 (NCIT2019) พบควำมแม่นยำจำกกำรตรวจหำรูปแบบกรำฟหุน้ ถูกตอ้ งมำกข้นึ พบควำมแม่นยำจำกกำรตรวจหำรปู แบบกรำฟหุน้ ถกู ตอ้ งมำกขน้ึ ดงั รปู ท่ี 15. 4.3 การทดลองของงานวจิ ยั รปู ท่ี 13. แสดงภำพผลลพั ธจ์ ำกกำรทดสอบกลยุทธท์ ่ี 1. จำกกำรทดลอง Mask ทงั้ 3 รปู แบบ ดงั ตำรำงท่ี 1. พบกำรตรวจหำรปู แบบกรำฟหุน้ ถูกตอ้ งแบบคลุมเครอื 4.3.1. รูปแบบของการระบุตาแหน่งเป็นทรงสเี่ หลยี่ ม ครอบคลุมตวั Candlestick Chart และ RSI Line Chart เป็น 1 Label ร่วมกนั เม่อื ทดสอบกบั Test Data ปรำกฎค่ำกำรทำนำยท่ี @ IoU = 0.50 คำ่ mAP = 0.85 4.3.2. รปู แบบของการระบุตาแหน่งตามลกั ษณะของกราฟแบบชดิ Candlestick Chart เป็น Label ที่ 1 และ RSI Line Chart เป็น Label ที่ 2 รว่ มกนั เม่อื ทดสอบกบั Test Data ปรำกฎค่ำกำรทำนำย @ IoU = 0.50 ค่ำ mAP = 0.80 4.3..3. รปู แบบของการระบุตาแหน่งตามลกั ษณะของกราฟแบบชดิ Candlestick Chart เป็น Label ที่ 1 และ RSI Line Chart เป็น Label ที่ 2 แยกกนั เม่อื ทดสอบกบั Test Data ปรำกฎค่ำกำรทำนำย @ IoU = 0.50 คำ่ mAP = 0.90 รปู ท่ี 14. แสดงภำพผลลพั ธจ์ ำกกำรทดสอบกลยทุ ธท์ ่ี 2. ตำรำงท่ี 1. แสดงตำรำงเปรยี บเทยี บค่ำ mAP @ IoU = 0.50 พบควำมผดิ พลำดจำกกำรตรวจหำรปู แบบกรำฟหุน้ 4.4 ผลการทดลองของงานวจิ ยั รปู ท่ี 15. แสดงภำพผลลพั ธจ์ ำกกำรทดสอบกลยทุ ธท์ ่ี 3. เม่ือนำข้อมูลทดสอบระบบ ตรวจหำรูปแบบกรำฟหุ้น Bullish Divergence พบว่ำ กลยุทธ์ท่ี 3. มีควำมแม่นยำจำกกำรตรวจหำ รปู แบบกรำฟหุน้ ถกู ต้องมำกขน้ึ เม่อื เปรยี บเทยี บกบั กลยุทธ์ท่ี 1. และ กลยุทธ์ท่ี 2. เน่ืองจำก Mask R-CNNs สำมำรถทำงำนได้อย่ำงมี ประสทิ ธภิ ำพยงิ่ ขน้ึ เม่อื ทำกำร Mask กรำฟแบบชดิ รวมทงั้ แยกโมเดล กำรเรยี นรู้ ระหว่ำง กรำฟแท่งเทยี น และ กรำฟอำรเ์ อสไอ ออกจำกกนั 5. สรุปและอภปิ รำยผล งำนวจิ ยั น้ี นำเสนอกำรตรวจหำรูปแบบกรำฟหุ้น แบบ Bullish Divergence จำกรูปภำพกรำฟหุ้นท่ีแสดง Candlestick Chart และ RSI Line Chart ในลักษณะ Daily Timeframe ของรูปภำพกรำฟหุ้น รำยตวั ใน SET บนจอมอนิเตอร์ท่ีแสดงผ่ำนอินเทอร์เนตเท่ำนัน้ ซ่ึง งำนวจิ ยั ฉบบั น้ีไดป้ ระยกุ ต์ Mask R-CNNs เพ่อื ใช้กำรสกดั ลกั ษณะเด่น 206

การประชุมวิชาการระดับชาตดิ า้ นเทคโนโลยีสารสนเทศ ครั้งท่ี 11 (NCIT2019) ของรปู แบบกรำฟหุน้ จำกรปู ภำพกรำฟหุ้น รวมถึงออกแบบโครงขำ่ ย และกำหนดพำรำมิเตอร์อย่ำงเหมำะสมเท่ำท่ีจำเป็น อีกทัง้ ลักษณะ วธิ ีกำร Mask ท่ีชิดไปกบั รูปแบบกรำฟหุ้น ประกอบกับกลยุทธ์แยก โมเดล Weight ระหวำ่ ง Candlestick Chart กบั RSI Line Chart พบว่ำ ใหผ้ ลทำนำยทด่ี ที ส่ี ดุ ดว้ ยกำรวดั คำ่ mAP = 0.90 @ IoU = 0.50 ในอนำคตเป็นไปได้ท่ีจะพัฒนำรูปแบบกรำฟหุ้นอ่ืนใน SET เพ่อื เพม่ิ ประสทิ ธภิ ำพของกำรตรวจหำรูปแบบกรำฟหุน้ เช่น Bearish Divergence เป็นตน้ เอกสารอ้างอิง [1] Kaiming He, Georgia Gkioxari, Piotr Dollar and Ross Girshick, “Mask R-CNN,” arXiv:1703.06870v3, Jan. 2018. [2] Omer Berat Sezera and Ahmet Murat Ozbayoglua, “Algorithmic Financial Trading with Deep Convolutional Neural Networks: Time Series to Image Conversion Approach,” Applied Soft Computing , vol. 70, pp. 525-538, Apr. 2018. [3] Marc Velay and Fabrice Daniel, “Stock Chart Pattern recognition with Deep Learning,” arXiv:1808.00418, June. 2018. [4] Jiageng Zhang, Jingyao Zhan and Yunhan Ma, “Mask R-CNN,” https://cseweb.ucsd.edu/classes/sp18/cse252C- a/CSE252C_20180509.pdf, May, 2018. [5] Jonathan Hui, “mAP (mean Average Precision) for Object Detection,”https://medium.com/@jonathan_hui/map-mean- average-precision-for-object-detection-45c121a31173, Mar. 2018. [6] Sreelekshmy Selvin, Vinayakumar R, Gopalakrishnan E.A, Vijay Krishna Menon and Soman K.P, “Stock Price Prediction using LSTM, RNN and CNN-Sliding Window Model,” IEEE, Sep. 2017. [7] Jonatan Ward, Sergey Andreev, Francisco Heredia, Bogdan Lazar, Zlatka Manevska, “Efficient mapping of the training of Convolutional Neural Networks to a CUDA-based cluster,” http://parse.ele.tue.nl/education/cluster2, Apr. 2016. [8] Adrian Rosebrock, “Intersection over Union (IoU) for object detection,”https://www.pyimagesearch.com/2016/11/07/intersectio n-over-union-iou-for-object-detection/, Nov. 2016. [9] Kaiming He, Xiangyu Zhang, Shaoqing Ren and Jian Sun, “Deep Residual Learning for Image Recognition,” arXiv:1512.03385v1, Dec. 2015. [10] Thomas Dean, Mark A. Ruzon, Mark Segal, Jonathon Shlens, Sudheendra Vijayanarasimhan and Jay Yagnik, “Fast, Accurate Detection of 100,000 Object Classes on a Single Machine,” IEEE, Oct. 2013. [11] Kevin Jarrett, Koray Kavukcuoglu, Marc’Aurelio Ranzato and Yann LeCun, “What is the Best Multi-Stage Architecture for Object Recognition? ,” IEEE, Sep. 2009. 207

การประชุมวชิ าการระดับชาติดา้ นเทคโนโลยีสารสนเทศ ครัง้ ท่ี 11 (NCIT2019) แบบจำลองผสมผสำนโครงข่ำยประสำทเทียมด้วยขนั้ ตอนวิธีเชิงพนั ธกุ รรม สำหรบั พยำกรณ์กำลงั ไฟฟ้ำจำกแสงอำทิตย์ Ensemble Deep Neural Network Model with Genetic Algorithms For Solar Power Forecasting นาย สกุ ฤษฎ์ ใจดี ผศ. ดร.วนั เฉลมิ โปรา Mr. Sukrit Jaidee Asst. Prof. Wanchalerm Pora ภาควชิ าวศิ วกรรมไฟฟ้า คณะวศิ วกรรมศาสตร์ จฬุ าลงกรณ์มหาวทิ ยาลยั ภาควชิ าวศิ วกรรมไฟฟ้า Department of Electrical Engineering, Faculty of Engineering, คณะวศิ วกรรมศาสตร์ จุฬาลงกรณ์มหาวทิ ยาลยั Chulalongkorn University Department of Electrical Engineering, Faculty of Engineering, Bangkok, Thailand [email protected] Chulalongkorn University Bangkok, Thailand [email protected] บทคดั ย่อ — บทควำมนี้นำเสนอวิธีกำรพยำกรณ์แบบผสมผสำนด้วย compared to the baseline that is the models that only use real โครงข่ำยประสำทเทียบแบบลึกโดยประยุกต์ใช้ขนั้ ตอนวิธีเชิงพนั ธุกรรม measured data. สำหรบั กำรพยำกรณ์กำลงั ผลิตไฟฟ้ำจำกพลงั งำนแสงอำทิตยล์ ่วงหน้ำ 4 ชวั่ โมง ด้วย 3 เทคนิ ค ได้แก่ 1) ประยกุ ตใ์ ช้ขนั้ ตอนวิธีเชิงพนั ธกุ รรมในกำร Keywords — Feature Selection, Genetic Algorithms, Ensemble คดั เลือกตวั แปรที่เกี่ยวข้องและมีควำมสำคญั 2) ประยุกตใ์ ช้ขนั้ ตอนวิธีเชิง method, Deep Neural Network, Solar Power forecast พันธุกรรมเพื่อค้นหำโครงสร้ำงโมเดลท่ีเหมำะสม ได้แก่ วินโดว์ไซซ์, จำนวนนิ วรอนในชนั้ ซ่อน, ฟังกช์ นั กระต้นุ , ฟังกช์ นั สญู เสีย, ออฟติไมเซอร,์ I. บทนา และ จำนวนอีพอส 3) ผสมผสำนค่ำพยำกรณ์จำกแต่ละโมเดลเข้ำด้วยกนั ปัจจยั หลกั ทส่ี ่งผลต่อความประสทิ ธภิ าพของโมเดลมี 2 ปัจจยั ดว้ ยกนั ด้วยโครงข่ำยประสำทเทียม โดยใช้ข้อมูลสภำพอำกำศจำกกำรวัด ได้แก่ 1) พารามิเตอร์โมเดล 2) การคัดเลือกตัวแปรท่ีเก่ียวข้อง การ (จฬุ ำลงกรณ์มหำวิทยำลยั ) และ ข้อมูลพยำกรณ์อำกำศจำกกำรพยำกรณ์ ออกแบบโครงสรา้ งโมเดลทเ่ี หมาะสมเป็นเร่อื งทม่ี คี วามทา้ ทายเป็นอย่าง อำกำศเชิงตวั เลข พบว่ำค่ำรำกท่ีสองของควำมคลำดเคลื่อนกำลงั สองเฉล่ีย มาก เน่ืองจากโครงข่ายประสาทเทยี มเป็นโมเดลทม่ี พี ารามเิ ตอร์ค่อนขา้ ง อย่ทู ่ี 7.38% ซึ่งลดลง 7.74% เมื่อเทียบกบั โมเดลท่ีใช้ข้อมลู สภำพอำกำศจำก เยอะและตอ้ งใชผ้ เู้ ชย่ี วชาญในการปรบั จูนพารามเิ ตอร์ซ่งึ ตอ้ งใชเ้ วลานาน กำรวดั เพียงอย่ำงเดียว จงึ จะไดโ้ ครงสรา้ งทเ่ี หมาะสม ดว้ ยเหตุน้ีจงึ มกี ารประยุกต์ใชเ้ ทคนิคต่าง ๆ เพ่ือค้นห าพ ารามิเตอร์ท่ีเห มาะสม เช่น Genetic Algorithms (GA), คำสำคญั — กำรคดั เลอื กตวั แปร, ขนั้ ตอนวิธีเชิงพนั ธกุ รรม, วิธีกำร Differential Evolution (DE) เป็นต้น [1] วธิ กี ารเหล่าน้ีช่วยลดเวลาในการ เอนเซมเบ้ิล, โครงข่ำยประสำทเทียม, กำรพยำกรณ์กำลงั ผลิตไฟฟ้ำ คน้ หาพารามเิ ตอรซ์ ง่ึ แต่ละวธิ มี ขี อ้ ดแี ละขอ้ เสยี แตกต่างกนั ขน้ึ อย่กู บั ขนาด และประเภทของปัญหา จากการทบทวนวรรณกรรมพบว่างานวจิ ยั [2] ได้ ABSTRACT — This paper presents an Ensemble Deep Neural ทาการเปรียบเทียบประสิทธภิ าพของ GA และ DE พบว่าประสิทธภิ าพ Network Method with Genetic Algorithms (GA) to forecast solar power ขน้ึ อย่กู บั จานวนรุ่นของประชากร ถ้ากาหนดจานวนรุ่นของประชากรมาก 4 hours in advance. There are three main steps of the proposed พอ DE กอ็ าจจะใหผ้ ลลพั ธ์ทด่ี กี ว่า GA ได้ ซ่งึ ไดอ้ ธบิ ายว่าเน่อื งจาก DE มี method. 1) GA is exploited to select relevant variables for each model. ความหลากหลายทม่ี ากข้นึ ของประชากรจากจานวนรุ่นทม่ี ากข้นึ นาไปสู่ 2) GA is exploited to find the most appropriate the window size, the การค้นหาคาตอบได้หลากหลายมากข้นึ ซ่งึ เป็นเหตุผลว่าทาไม DE จงึ ใช้ number of neurons in each and all three hidden layers, Activate เวลานานมากกว่าเพ่ือให้ได้ผลลัพธ์ท่ีดีกว่าและงานวิจัย [3] พบว่า Function, Loss Function, Optimizer, the number of the Epochs. 3) พารามิเตอร์ท่ีจะส่งผลต่อ GA จริงๆมีเพียงแค่ 3 พารามิเตอร์ ดังนั้น Determine the optimal weighting for the results of each model with the บทความน้จี งึ ไดป้ ระยุกต์ใช้ GA ในการคน้ หาโครงสรา้ งโมเดลและคดั เลอื ก artificial neural network to blend the advantages and reduce ตวั แปรทเ่ี กย่ี วขอ้ งเน่ืองจากมผี ลต่อประสทิ ธภิ าพ อนิ พุตทใ่ี หญ่ไม่สามารถ disadvantages of each model. Using real measured data ทาไดด้ ว้ ยทรพั ยากรทม่ี ใี หใ้ ชฟ้ รี เช่น Colab ซง่ึ ใหท้ รพั ยากรทจ่ี ากดั ดงั นนั้ (Chulalongkorn University) and forecasted weather data from จงึ เป็นความทา้ ทายในการหาวธิ กี ารต่างๆมาประยุกต์ใช้เพ่อื ช่วยในการ Numerical Weather Prediction (NWP), the proposed method gives the คดั เลอื กตวั แปรทเ่ี กย่ี วขอ้ งและปรบั จูนพารามเิ ตอรข์ องโมเดลใหเ้ หมาะสม Root Mean Square Error (RMSE) at 7.38%, which is reduced by 7.74% 208

การประชมุ วชิ าการระดับชาตดิ ้านเทคโนโลยีสารสนเทศ ครง้ั ที่ 11 (NCIT2019) รปู ท่ี 1. แสดงภาพรวมวธิ กี ารพยากรณ์กาลงั ผลติ ไฟฟ้าจากพลงั งานแสงอาทติ ย์ทน่ี าเสนอ จากการทบทวนวรรณกรรมทเ่ี กย่ี วกบั โครงข่ายประสาทเทยี มและขนั้ ตอน สาหรบั ใชใ้ นการจาแนกประเภทยนี งานวจิ ยั [19] ใช้ GA เพ่อื คดั เลอื กชุด วธิ เี ชงิ พนั ธุกรรมพบว่าทงั้ สองวิธเี ป็นเทคนิคท่กี าลงั ได้รบั ความนิยม [3] การฝึกอบรมเพอ่ื สรา้ งโมเดลและใชโ้ มเดลเพอ่ื ประเมนิ ความน่าจะเป็นทจ่ี ะ และใชเ้ ป็นเครอ่ื งมอื สาหรบั การเรยี นรเู้ ครอ่ื งจกั ร [4] มกี ารนา GA ไปใชใ้ น เกิดความล้มเหลวของโครงสร้างท่ีซับซ้อน งานวจิ ัย [20] ใช้ GA เพ่ือ หลากหลายแอพพลเิ คชนั่ เช่น การคดั เลอื กตวั แปร การลดเวลาการเรยี นรู้ คดั เลอื กตวั แปรให้โมเดลการวเิ คราะห์ขอ้ มูลท่วี ดั ได้จากเซ็นเซอร์ มกี าร และการปรบั จูนพารามเิ ตอร์ของโมเดล [5] ซ่งึ ประสทิ ธภิ าพของโครงขา่ ย ประยุกต์ใช้ GA ในปัญหาการจาแนกขอ้ มลู สาหรบั คดั เลอื กชุดตวั แปรจาก ประสาทเทยี มข้นึ อยู่กบั พารามเิ ตอร์ของมนั [6-7] และประสิทธภิ าพของ 11 ชุดตวั แปรเพอ่ื ใชใ้ นการแข่งขนั โมเดลต่าง ๆ งานวจิ ยั [21] นาเสนอการ GA ข้นึ อยู่กบั ขนาดประชากร, การคัดเลือก, อัตราการสลบั สายพันธุ์, ประยุกต์ใช้ GA ใน 2 เทคนิค 1) ใช้ GA เพ่ือคดั เลือกตวั แปร 2) ใช้ GA อัตราการกลายพันธุ์ และจานวนรุ่นประชากร [3] ปัจจุบันวิธีกาหนด เพอ่ื คน้ หาโครงสรา้ งโมเดลทเ่ี หมาะสม งานวจิ ยั [22] ประยุกต์ใชข้ นั้ ตอนวธิ ี พารามเิ ตอร์เรม่ิ ตน้ ของ GA คอื การอ้างถงึ งานวจิ ยั ทท่ี าในปัญหาคลา้ ยคลงึ เชิงพันธุกรรมสาหรับการคัดเลือกตัวแปรให้กับโมเดลจาแนกข้อมูล กนั และนาค่าพารามเิ ตอรข์ องปัญหานนั้ มาใช้ [8-9] การประยุกต์ใช้ GA กบั โครงข่ายประสาทเทยี มพบว่าความแม่นยาในการจาแนกข้อมูลเพ่ิมข้นึ โครงข่ายประสาทเทียม ในการออกแบบโครงสร้าง การคดั เลอื กตวั แปร 3.3% เม่อื เทยี บกบั การใชต้ วั แปรทงั้ หมด งานวจิ ยั [23] เสนอวธิ กี ารแบบ และการฝึกสอนเป็นปัจจยั หลกั ทส่ี ่งผลต่อประสทิ ธภิ าพของโมเดล [10 -11] ผสมผสานเพ่อื พยากรณ์ความต้องการพลงั งานไฟฟ้าในอนาคตซง่ึ ใช้ GA เพยี งแค่ ขนาดประชากร ความน่าจะเป็นของการกลายพนั ธุ์และสลบั สาย เพ่อื หาชุดตวั แปรย่อยทเ่ี หมาะสมทส่ี ุดใหก้ บั ระบบอนุมานระบบประสาท- พนั ธุ์เท่านัน้ ท่จี ะถูกพจิ ารณา เน่ืองจากเป็นพารามเิ ตอร์ทส่ี าคญั ทส่ี ุดของ ฟัซซีแบบปรบั ตัว (Adaptive Neuro-Fuzzy Inference System) งานวจิ ยั GA ทเ่ี ป็นตวั กาหนดประสทิ ธภิ าพของมนั [12-13] จากการศกึ ษาคน้ ควา้ [24] เสนอการประยุกต์ใช้ GA และ Ant Colony Optimization (ACO) เราพบว่า GA ถูกนาไปประยุกต์ใช้กบั โครงข่ายประสาทเทยี มในหลายๆ สาหรบั การคดั เลอื กตัวแปรในปัญหาการพยากรณ์ความต้องการไฟฟ้า มิติเพ่ือแก้ไขปัญหาท่ีมีความซับซ้อน เช่น การประยุกต์ใช้ GA เพ่ือ ใหก้ บั โมเดลโครงขา่ ยประสาทเทยี ม ออกแบบโครงสรา้ งของโครงข่ายประสาทเทยี ม หรอื การประยุกต์ใช้ GA เพ่อื คดั เลอื กตวั แปร การคดั เลอื กตวั แปรท่เี กย่ี วขอ้ งถือเป็นหวั ขอ้ ท่สี าคญั II. วธิ กี ารพยากรณ์แบบผสมผสานดว้ ยโครงขา่ ยประสาทเทยี มแบบลกึ ของการสรา้ งโมเดล [14] มหี ลายๆเทคนิคทใ่ี ชใ้ นการคดั เลอื กตวั แปร แต่ A. ภาพรวมของวธิ กี ารพยากรณ์แบบผสมผสาน GA ถือเป็นเทคนิคท่ใี หค้ วามแม่นยาสูงสุด [15] มกี ารประยุกต์ใช้ GA ใน การคดั เลอื กตวั แปรทเ่ี กย่ี วขอ้ งของสารปนเป้ือนน้ามนั ปาล์มให้กบั โมเดล การพยากรณ์กาลงั ผลติ ไฟฟ้าจากพลงั งานแสงอาทติ ย์ในอกี ไมก่ ช่ี วั่ โมง การควบคุมการปล่อยมลพษิ ในโรงงานน้ามนั ปาล์ม [16] งานวจิ ยั [17] ใช้ ข้างห น้ ามีป ร ะ โย ช น์ อ ย่ างม า ก ส าห ร ับ ก าร เต รีย ม ก าล ังผ ลิต ส าร อ งให้ GA ในการคดั เลอื กตวั แปรและสรา้ งโมเดลการจาแนกขอ้ มลู เพ่อื ระบุการ เพยี งพอต่อความต้องการกาลงั ไฟฟ้า วตั ถุประสงค์ของงานวจิ ยั น้ีคอื เพ่อื ทางานของสมอง ในงานวจิ ยั [18] มกี ารใช้ GA ในสองขนั้ ตอน ขนั้ ตอนแรก ปรบั ปรงุ ความแม่นยาของการพยากรณ์ โดยใชข้ อ้ มลู สภาพอากาศจากการ ใช้ GA เพ่อื คดั เลอื กยนี จากชุดขอ้ มูล Microarray และในขนั้ ตอนท่สี องใช้ วดั และขอ้ มลู พยากรณ์อากาศ โดยประยกุ ต์ใชว้ ธิ กี ารพยากรณ์ทน่ี าเสนอดงั GA เพ่ือปรับโครงสร้างโมเดลให้เหมาะสมเพ่ือสร้างโมเดลการจาแนก รปู ท่ี 1 ซง่ึ แบ่งออกเป็นสามขนั้ ตอนหลกั ๆ ไดแ้ ก่ 1) ประยกุ ตใ์ ชข้ นั้ ตอนวธิ ี เชิงพันธุกรรมในการคัดเลือกตัวแปร 2) ประยุกต์ใช้ขัน้ ตอนวิธีเชิง 209

การประชมุ วชิ าการระดบั ชาตดิ า้ นเทคโนโลยีสารสนเทศ ครั้งที่ 11 (NCIT2019) พนั ธุกรรมเพ่ือค้นหาโครงสร้างโมเดลท่เี หมาะสม และ 3) ผสมผสานค่า โดยตวั ช้วี ดั ประสิทธิภาพของโครโมโซม(โมเดล) คือ Normalized Root พยากรณ์จากแต่ละโมเดลเขา้ ดว้ ยกนั ดว้ ยโครงขา่ ยประสาทเทยี ม Mean Square Error แสดงดงั (1) B. ขนั้ ตอนวธิ เี ชงิ พนั ธุกรรมสาหรบั การคดั เลอื กตวั แปร ������������������������������ = ������������������������/(������(������)������������������ − ������(������)������������������) (1) การคดั เลอื กตวั แปร (Feature Selection) เป็นกระบวนการคดั เลอื กตวั (2) ������������������������ = 1 ������ (���̂���(������) − 2 (3) แปรท่ีให้ขอ้ มูลเพ่ิมเติมกับโมเดล บทความน้ีประยุกต์ใช้ขนั้ ตอนวธิ เี ชิง √������ พนั ธุกรรมในการคดั เลอื กตวั แปรท่ีเก่ยี วขอ้ ง กาจดั ตวั แปรท่ไี ม่จาเป็น ไม่ ∑ ������(������)) เก่ียวข้องและซ้าซ้อน ซ่ึงส่งผลในทางลบต่อความแม่นยาของโมเดล ประชากรหรือโครโมโซมหรอื ก็คือโมเดลสาหรับบทความน้ีซ่ึงภายใน ������=1 โครโมโซมประกอบไปดว้ ยยนี (Gene) จานวน 128 ยนี ซ่งึ แต่ละยนี ภายใน โครโมโซมจะมคี ่าเป็นไปไดแ้ ค่บติ ศูนยห์ รอื หน่ึงเท่านนั้ สาหรบั บทความน้ี ������������������������������������������ ������������������������������������������������ = 1⁄(1 + ������������������������������) แต่ละยนี ภายในโครโมโซมมลี กั ษณะเป็นบติ เน่ืองจากว่าเรากาลงั พจิ ารณา ใหย้ นี แทนสถานะว่าตวั แปรหรอื ยนี นัน้ จะถูกนามาประเมนิ ประสทิ ธภิ าพ โดยท่ี RMSE มสี มการตาม (2) และ ������(������) เป็ นกาลงั ผลิตไฟฟ้ าท่ีวดั ได้ ณ ของโมเดลหรอื ไม่ เช่น ถ้ายนี (ตวั แปร) ใดภายในโครโมโซมมคี ่าเป็นบติ เวลา ������ และงานวจิ ยั น้จี ะใชค้ า่ ความเหมาะสมของโครโมโซมทม่ี ฟี ังกช์ นั ตาม หน่ึง ยีนหรอื ตัวแปรนัน้ จะถูกนามาประเมินประสิทธิภาพของโมเดล (3) 3) การคดั เลอื กโครโมโซม (Selection) คดั เลอื กจากค่าความเหมาะสม (โครโมโซม) แต่ถา้ ยนี (ตวั แปร) ใดภายในโครโมโซม (โมเดล) มคี า่ เป็นบติ ของโครโมโซมซ่งึ ใชว้ ธิ ีการคดั เลอื กแบบแข่งขนั (Tournament Selection) ศนู ย์ ยนี (ตวั แปร) นนั้ จะไม่ถกู นามาประเมนิ ประสทิ ธภิ าพของโมเดล ดว้ ย เน่ืองจากมงี านวจิ ยั ท่เี ปรยี บเทยี บประสทิ ธภิ าพการคดั เลอื ก 2 วธิ คี อื การ เหตุน้ีทาให้แต่ละโครโมโซม (โมเดล) จงึ มจี านวนตวั แปรอนิ พุตท่แี ตกต่าง คดั เลือกแบบแข่งขนั และการคัดเลือกแบบวงล้อรูเล็ต โดยพบว่าการ กนั เช่น โมเดล A มจี านวนอนิ พุต 34 ตวั แปร (จานวนยนี ทเ่ี ป็นบติ หน่งึ 34 คดั เลอื กแบบแข่งขนั มปี ระสทิ ธภิ าพมากกว่าเน่ืองจากช่วยให้ GA เขา้ หา ยนี ) โมเดล B มจี านวนอินพุต 12 ตัวแปร (จานวนยีนท่เี ป็นบติ หน่ึง 12 คาตอบได้เรว็ กว่า [26] การคดั เลอื กแบบแข่งขนั เป็นการคดั เลอื กโดยจดั ยนี ) หรอื โมเดล C มจี านวนอนิ พุต 100 ตวั แปร ซ่งึ จานวนตวั แปรอนิ พุต กล่มุ ยอ่ ยแบบสุ่มใหก้ บั ประชากรและประชากรทม่ี คี ่าความเหมาะสมสงู สุด ของแต่ละโครโมโซม (โมเดล) ขน้ึ อย่กู บั ค่าของแต่ละยนี ภายในโครโมโซม ในกลมุ่ ย่อยจะถูกคดั เลอื กเพอ่ื ใหก้ าเนิดประชากรรุ่นต่อไป 4) การสลบั สาย นัน้ ดงั แสดงในรูปท่ี 2 ดงั นัน้ จานวนตวั แปรท่ีเป็นไปได้ในแต่ละโมเดล พัน ธุ์ (Crossover) เป็ น การสุ่มโครโมโซ มข้ึนมาห น่ึงคู่แล้วทาการ (โครโมโซม) มคี ่าอย่ใู นช่วง 0 ถงึ 128 ตวั แปร (ยนี ) และจากกระบวนการ แลกเปลย่ี นยนี ระหว่างกนั เพอ่ื ใหไ้ ดโ้ ครโมโซมใหม่จนกระทงั้ ประชากรใหม่ คดั เลอื กตวั แปรน้ีชุดขอ้ มลู ตวั แปรทใ่ี หป้ ระสทิ ธภิ าพโมเดลดที ส่ี ุดประกอบ มขี นาดเท่ากบั ประชากรเดิม การสลบั สายพนั ธุ์นัน้ มหี ลายวิธกี าร ได้แก่ ไปด้วยตัวแปรจานวน 34 ตัวแปรดังแสดงในรูปท่ี 5 ขนาดประชากร การสลบั สายพนั ธุ์แบบสองจุด, การสลบั สายพนั ธแุ์ บบหลายจุด, ยนู ิฟอรม์ , (Population Size) มกั จะถูกกาหนดตามลกั ษณะของปัญหา [25] สาหรบั สามพ่อแม่ เป็นต้น บทความน้ีใชว้ ธิ กี ารสลบั สายพนั ธุ์แบบจุดเดยี ว(One บทความน้ขี นาดประชากรเป็น 30 หมายความว่าในแต่ละรุ่นจะมปี ระชากร Point) เน่ืองจากมนั ไม่ทาลายหน่วยการสร้าง (Building Blocks) ขณะท่ี 30 โครโมโซมหรอื 30 โมเดลและมี 20 รุ่นประชากร ดงั แสดงในรูปท่ี 3 วิธกี ารอ่ืนๆ จะลดประสิทธิภาพของ GA [25] ซ่ึงวิธีการน้ีจะทาการสุ่ม GA แบ่งได้ 5 ขนั้ ตอนดงั น้ี 1) การกาหนดค่าเรม่ิ ต้น (Initialization) เป็น ตาแหน่งข้นึ มาหน่ึงตาแหน่งแล้วทาการสลบั ยีนท่อี ยู่ในตาแหน่งหลงั จุด กระบวนการสร้างประชากรหรอื โครโมโซมรุ่นแรกซ่ึงยีนภายในแต่ละ Crossover ระหว่างโครโมโซมตน้ แบบ 5) การกลายพนั ธุ์ (Mutation) แมว้ ่า โครโมโซมถูกกาหนดค่าเรมิ่ ต้นด้วยการสุ่มให้เป็นบิตศูนย์หรือหน่ึง ดัง การสลบั สายพนั ธุ์จะทาให้โครโมโซมหรอื ประชากรรุ่นต่อไปมลี กั ษณะท่ี แสดงในรปู ท่ี 2 ซง่ึ จะเหน็ ไดว้ ่าแต่ละโครโมโซม (โมเดล) ทภ่ี ายในประกอบ แตกต่างไปจากเดมิ แลว้ กต็ ามแต่กย็ งั มคี วามคลา้ ยคลงึ กบั ประชากรรนุ่ ก่อน ไปดว้ ยยนี แต่ละยนี (ตวั แปร) ทม่ี คี ่าตามการสุ่มค่าบติ ดงั กล่าวทาใหแ้ ต่ละ หน้าทาใหม้ คี วามหลากหลายต่า การกลายพนั ธุจ์ ะช่วยแกป้ ัญหาน้ีโดยการ โครโมโซมมลี กั ษณะทแ่ี ตกต่างกนั ออกไปตามค่าของยนี ภายในโครโมโซม เปล่ยี นคุณสมบตั ิบางอย่างของประชากรแบบสุ่ม โดยใช้อตั ราการกลาย 2) ฟั งก์ชันความเหมาะสม (Fitness Function) คือค่าท่ีบอกถึงความ พันธุ์ (Mutation Rate) เป็ นตัวกาหนดว่ายีนนั้นจะกลายพันธุ์หรือไม่ เหมาะสมของแต่ละโครโมโซม (โมเดล) โดยทวั่ ไปกาหนดให้มีโอกาสเกิดข้นึ เพียงเล็กน้อย 0.001 [8] โดยสรุป กระบวนการทัง้ หมดไม่ว่าจะเป็ นการกาหนดค่าความเหมาะสม, การ คดั เลอื ก, การสลบั สายพนั ธุ์และการกลายพนั ธุ์จะถูกทาซ้าจนกระทัง่ เขา้ เงอ่ื นไขการหยดุ (Stopping Criterion) คอื เมอ่ื ครบ 20 รุน่ (Generation) รปู ท่ี 2. โครงสรา้ งของโครโมโซมและยนี ภายในโครโมโซม รปู ท่ี 3. การกาหนดคา่ เรมิ่ ตน้ แต่ละโครโมโซมดว้ ยการสุ่ม 210

การประชมุ วชิ าการระดบั ชาตดิ ้านเทคโนโลยสี ารสนเทศ คร้ังท่ี 11 (NCIT2019) C. การผสมผสานคา่ พยากรณ์จากแต่ละโมเดลดว้ ยโครงขา่ ยประสาทเทยี ม โดยใชข้ อ้ มลู พยากรณ์อากาศจุดทใ่ี กลท้ ส่ี ุด 4 จุดในการพยากรณ์ [27] ซ่งึ บทความน้ีประยุกต์ใช้เทคนิคการผสมผสานค่าพยากรณ์จากแต่ละ หมายถงึ การใชข้ อ้ มลู 4 ชุดจาก 4 จดุ ทใ่ี กลท้ ส่ี ดุ สาหรบั เป็นอนิ พุตใหโ้ มเดล มกี ารนาขอ้ มลู พยากรณ์อากาศของ 4 จุดท่ใี กลท้ ส่ี ุดมาทาการประมาณค่า โมเดลเข้าด้วยกนั ด้วยโครงข่ายประสาทเทยี มท่ีมโี ครงสรา้ งดงั แสดงใน ในช่วง (Interpolate) เพอ่ื ใหไ้ ดค้ ่าทเ่ี กดิ จากการประมาณจาก 4 จุดใกลส้ ุด ตารางท่ี 1 โดยนาผลลพั ธ์จากแต่ละโมเดลมาฝึกสอนร่วมกนั เพ่อื ค้นหา เพ่อื นาไปพยากรณ์กาลงั ผลติ ไฟฟ้าจากพลงั งานแสงอาทิตย์หรอื ทาการ รูปแบบการผสมผสานท่ีจะช่วยปรบั ปรุงความแม่นยาในการพยากรณ์ พยากรณ์ 4 จดุ ทอ่ี ย่ใู กลท้ ส่ี ดุ แยกกนั อยา่ งอสิ ระแลว้ นาผลลพั ธท์ ไ่ี ดจ้ ากการ เน่ืองจากเป็นการดึงเอาขอ้ ดขี องแต่ละโมเดลมาทดแทนจุดอ่อนของอีก พยากรณ์มาผสมผสานกนั หรอื ทเ่ี รยี กกนั ว่าเอน็ เซมเบลิ เทคนิค (Ensemble โมเดลซ่งึ จะทาใหไ้ ดก้ ารพยากรณ์ท่มี คี วามแม่นยามากกว่าการพยากรณ์ Technique) ซ่งึ เป็นเทคนิคการเรยี นรู้แบบรวมกลุ่ม [27] มกี ารพยากรณ์ แบบเดย่ี ว ดว้ ยจุดท่อี ยู่ใกล้ท่สี ุดเพยี งจุดเดยี วและมกี ารนาระยะห่างระหว่างจุดทใ่ี ห้ ขอ้ มลู พยากรณ์อากาศกบั จุดทต่ี อ้ งการพยากรณ์มาพจิ ารณาเพอ่ื กาหนดค่า ตารางท่ี 1. โครงสรา้ งเน็ตเวริ ก์ ทป่ี ระยกุ ต์ใชใ้ นกาผสมผสานค่าพยากรณ์ ถ่วงน้าหนักทจ่ี ะใหก้ บั แต่ละจุดโดยจดุ ทอ่ี ย่ใู กลจ้ ะมคี ่าน้าหนักทส่ี งู กวา่ จุดท่ี อยไู่ กลออกไปเน่อื งจากมลี กั ษณะภมู อิ ากาศทค่ี ลา้ ยคลงึ กนั [28] Epoch Hidden Activation Optimzer layer Function 60 384-287-378 relu-relu-relu adam D. การคน้ หาพารามเิ ตอรด์ ว้ ยขนั้ ตอนวธิ เี ชงิ พนั ธุกรรม III. อธบิ ายขอ้ มลู บทความน้ีประยุกต์ใช้ขัน้ ตอนวิธีเชิงพันธุกรรม ในการค้นหา ขอ้ มลู สภาพอากาศจากการวดั มาจากอุปกรณ์ตรวจวดั สภาพอากาศ ของระบบบรหิ ารจดั การพลงั งานจุฬาลงกรณ์มหาวทิ ยาลยั (Chulalongkorn พารามเิ ตอร์ (วินโดว์ไซซ์, จานวนนิวรอนในชนั้ ซ่อน, ฟังก์ชันกระตุ้น, University Building Energy Management System ; CUBEMS) ฟังก์ชนั สูญเสยี , ออฟติไมเซอร์, และจานวนอพี อส) โดยพารามเิ ตอร์ของ CUBEMS คอื ระบบทด่ี งึ และเกบ็ รวบรวมขอ้ มลู จากอุปกรณ์ตรวจวดั เพอ่ื ทา ขนั้ ตอนวธิ เี ชิงพันธุกรรมประกอบด้วย 7 พารามเิ ตอร์ ไดแ้ ก่ ขนาดของ การบรหิ ารจดั การพลงั งานภายในอาคาร ขอ้ มลู ทใ่ี ชใ้ นบทความน้ีเป็นขอ้ มลู ประชากร (Population Size = 30), ความน่าจะเป็ นการสลับสายพันธุ์ ตงั้ แต่วนั ท่ี 1 ม.ค. 2560 ถงึ 31 ต.ค. 2561 เป็นขอ้ มูลตลอดทงั้ วนั ขอ้ มูล (Crossover Prob. = 0.5), วิธีการสลับสายพันธุ์ (Crossover Method = สภาพอากาศจาก CUBEMS ประกอบไปด้วย ความเข้มแสงอาทิตย์, One Point Crossover), วิธีการกลายพันธุ์ (Mutation Method = FlipBit อุณหภมู ,ิ ความชน้ื สมั พทั ธ์, ดชั นียวู ี และ ความเรว็ ลม โดยตวั แปรทงั้ หมด Mutation), ความน่าจะเป็นการกลายพนั ธุ์ (Mutation Prob. = 0.2), วธิ กี าร จะถูกดึงมาเก็บท่ีฐานข้อมูลทุก ๆ นาที แต่ในบทความน้ีจะทาการ คดั เลือกโครโมโซม (Selection = Tournament Sel.), และเงอ่ื นไขในการ รีแซมปล้ิง (Resampling) ข้อมูลให้อยู่ในสเกลชัว่ โมงด้วยค่าเฉล่ีย หยุด (Stopping Criteria = 20 generations) โดยพารามเิ ตอรข์ องขนั้ ตอน เน่ืองจากขอ้ มูลพยากรณ์อากาศอยู่ในสเกลชวั่ โมง โดยข้อมูลพยากรณ์ วธิ เี ชงิ พนั ธุกรรมทงั้ หมดทใ่ี ชใ้ นบทความน้ีถูกหนดโดยการลองผดิ ลองถูก อากาศท่ีใช้ในบทความน้ีเป็นขอ้ มูลจากโมเดล The Weather Research จากปัญหาหรอื งานวจิ ยั ท่คี ล้ายคลงึ กนั ตามการทบทวนวรรณกรรมและ and Forecasting (WRF) ซ่ึงอินพุตท่ีให้กับโมเดล WRF เป็ น Global พารามเิ ตอรท์ ส่ี าคญั มากทส่ี ุดคอื ขนาดของประชากร ความน่าจะเป็นของ Forecast System (GFS) ซ่ึงเอาต์พุตของโมเดลจะให้ตอน 00 UTC และ การกลายพนั ธแุ์ ละสลบั สายพนั ธุ์ [13] 12 UTC ท่ีจัดทาโดย National Centers for Environmental Prediction (NCEP) โมเดลน้ีทางานวนั ละ 2 ครงั้ เพ่อื พยากรณ์สภาพอากาศล่วงหน้า E. การพยากรณ์อากาศเชงิ ตวั เลข (Numerical Weather Prediction; NWP) 2 วนั โดยค่าพยากรณ์จะมใี ห้ทุก ๆ ชวั่ โมง ในส่วนของขอ้ มูลท่ใี ช้ในการ การพยากรณ์อากาศเชงิ ตวั เลขใหข้ อ้ มลู พยากรณ์อากาศในหลากหลาย ฝึกสอนโมเดลจะแบ่งออกเป็น 2 ชุด ได้แก่ ชุดข้อมูลฝึกสอนเป็นขอ้ มูล ตงั้ แต่วนั ท่ี 1 ม.ค. 2560 ถงึ 31 ธ.ค. 2560 สว่ นชดุ ขอ้ มลู ทดสอบเป็นขอ้ มลู ตัวแปร เช่น อุณหภูม,ิ ความดนั อากาศ, ความเข้มแสงอาทิตย์ เป็นต้น ตัง้ แต่ 1 ม.ค. 2561 ถึง 31 ต.ค. 2561 โดยดัชนีวัดประสิทธิภาพเพ่ือ บทความน้ีประยุกต์ใช้ข้อมูลพยากรณ์อากาศจากโมเดลการพยากรณ์ ประเมนิ ผลการทดลองในบทความน้ีคอื คา่ รากทส่ี องของความคลาดเคลอ่ื น อากาศเน่ืองจากโมเดลใหค้ ่าพยากรณ์อากาศในลกั ษณะจุดกรดิ อา้ งองิ กบั กาลังสองเฉล่ีย (Root Mean Square Error ; RMSE) โด ย ������������������������ = ตาแหน่งละตจิ ูดและลองจจิ ูดดงั แสดงในรูปท่ี 4 โดยจุดสขี าวคอื ตาแหน่ง ของจุฬาลงกรณ์มหาวทิ ยาลยั (ตาแหน่งท่ตี ้องการพยากรณ์) จุดสฟี ้าคอื 100%√1 ∑������������=1 (���̂���(������) − 2 /(������������������������������������������������������ ������������������������������������������������) ท่ีซ่ึง ���̂���(������) ตาแหน่งของขอ้ มูลพยากรณ์อากาศจากโมเดลการพยากรณ์อากาศเชิง ตัวเลข มีการนาโมเดลการพยากรณ์อากาศเชิงตัวเลขมาช่วยในการ ������ ������(������)) พยากรณ์อากาศอยา่ งแพร่หลาย คอื กาลงั ผลติ ไฟฟ้าท่ไี ด้จากการพยากรณ์ท่เี วลา ������, ������ คอื จานวนตวั อย่าง ของขอ้ มลู และกาลงั ผลติ ตดิ ตงั้ ของแผงโซลา่ เซลลค์ อื 8 kW รปู ท่ี 4. ตาแหน่งขอ้ มลู พยากรณ์อากาศจากการพยากรณ์อากาศเชงิ ตวั เลข IV. วธิ ดี าเนนิ การวจิ ยั และผลการวจิ ยั A. การคดั เลอื กตวั แปรดว้ ยขนั้ ตอนวธิ เี ชงิ พนั ธกุ รรม พารามเิ ตอร์ของขนั้ ตอนวิธีเชิงพันธุกรรมท่ีกาหนดนัน้ จากการค้นคว้า พบว่าคา่ ความน่าจะเป็นของการกลายพนั ธุ์นิยมใหม้ คี ่าเขา้ ใกล้ 0 มากทส่ี ุด โดยมากมกั อย่ใู นช่วง 0.001 ถงึ 0.05 และค่าความน่าจะเป็นของการสลบั สายพนั ธุน์ ิยมใหม้ คี ่าเขา้ ใกล้ 1 โดยมากมกั อยใู่ นช่วง 0.7 ถงึ 1.0 [29] โดย 211

การประชุมวิชาการระดบั ชาติดา้ นเทคโนโลยีสารสนเทศ ครัง้ ท่ี 11 (NCIT2019) ชดุ ขอ้ มลู ตวั แปรทน่ี ามาผ่านขนั้ ตอนการคดั เลอื กตวั แปรจะแบง่ ออกเป็น 2 Step ทไ่ี กลออก เชน่ ใน Time Step ������ + 8 หรอื กค็ อื ค่าพยากรณ์ ณ เวลา ชุดดงั แสดงตามรปู ท่ี 5 ได้แก่ 1) ชุดขอ้ มลู ทป่ี ระกอบไปดว้ ย ขอ้ มลู สภาพ ปั จจุบันบวก 4 ชัว่ โมงมีค่าความผิดผลาดสูงท่ีสุดในทุกโมเดล เม่ือ อากาศจากการวดั (Real Measured Data) และขอ้ มลู วศิ วกรรมคุณลกั ษณะ ผสมผสานค่าพยากรณ์จากแต่ละโมเดลเขา้ ดว้ ยกนั ด้วยโครงข่ายประสาท (Feature Engineering) ซ่ึงเป็นค่าเฉล่ยี เคล่อื นท่ีแบบเอกซ์โพเนนเชียล เทียมท่ีแสดงในตารางท่ี 1 พบว่าผลลัพธ์ท่ีเกิดจากการผสมผสานมีค่า (Exponential Moving Average; EMA) ของความเข้มแสงอาทิตย์ 2) ชุด ความผิดผลาดอยู่ท่ี 7.38% ในฝึกสอนโมเดลมกี ารใช้เง่อื นไขการหยุด ข้อมูลพยากรณ์ อากาศ (Forecast Weather Data) จากกระบวนการ (Early Stopping) เพอ่ื เลอื กโมเดลทม่ี ี Validation loss ต่าทส่ี ุด และ Batch คดั เลอื กตวั แปรพบว่าชุดขอ้ มลู ทผ่ี ่านการคดั เลอื กให้เปอร์เซน็ ต์ RMSE ท่ี size มีขนาด 32 Batch โดยท่ีโมเดล DNN1 ใช้ Adam Optimzer และ ต่ากวา่ ชดุ ขอ้ มลู ทป่ี ระกอบไปดว้ ยตวั แปรทงั้ หมด (128 ตวั แปร) เมอ่ื รวมตวั โมเดลทเ่ี หลอื เป็น adamax แปรจากทงั้ สองชุดข้อมูลท่ีผ่านการคดั เลอื กพบว่ามีจานวนทงั้ หมด 34 ตวั แปร โดย RMSE ของแต่ละชุดขอ้ มลู ทผ่ี ่านขนั้ ตอนการคดั เลอื กตวั แปร C. การคน้ หาพารามเิ ตอรด์ ว้ ยขนั้ ตอนวธิ เี ชงิ พนั ธกุ รรม และตวั แปรท่ถี ูกคดั เลอื กแสดงดงั ตารางท่ี 2 และ RMSE ในแต่ละรุ่นของ การคน้ หาพารามเิ ตอรด์ ว้ ยขนั้ ตอนวธิ เี ชงิ พนั ธกุ รรมมปี รภิ มู ใิ นคน้ หาดงั ประชากรแสดงในรูปท่ี 6 ซ่ึงจะเห็นได้ว่าเปอร์เซ็นต์ RMSE มแี นวโน้ม ลดลงในประชากรรุ่น ถัดๆไป เน่ืองจากขัน้ ตอนวิธีเชิงพันธุกรรมมี แสดงในรูปท่ี 7 การหาพารามเิ ตอร์ดว้ ยวธิ นี ้ีใช้เวลา 70.7 ชวั่ โมงซ่งึ น้อย พฤตกิ รรมทพ่ี ยายามปรบั ตวั ใหเ้ ขา้ กบั สภาพแวดลอ้ มใหมไ่ ดด้ ขี น้ึ กว่าวิธีการแบบกรดิ เสรซิ อยู่ 24 ชวั่ โมงและโมเดลท่ีได้มคี วามแม่นยา มากกว่าแมว้ ่าขนาดของปรภิ มู ใิ นคน้ หาจะมขี นาดใหญ่กวา่ กต็ าม B. การผสมผสานค่าพยากรณ์จากแต่ละโมเดลดว้ ยโครงขา่ ยประสาทเทยี ม ตารางท่ี 3. แสดงโครงสรา้ งและประสทิ ธภิ าพของแต่ละโมเดล โครงสรา้ งและค่าความผิดผลาดของแต่ละโมเดลแสดงในตารางท่ี 3 Parameters RMSE และรปู ท่ี 9 และคา่ ความผดิ ผลาดในแต่ละ Time Step แสดงในรปู ท่ี 8 ซง่ึ (%) Models Window Epoch Hidden Activation Size layer Function DNN 1 31 60 384-287-378 Elu-Elu-Elu 8.06 DNN 2 22 43 225-395-506 8.4 DNN 3 76 120 305-224-325 Relu 8.39 LSTM 32 27 278-303-142 Relu 8.18 GRU Relu 8.17 CuDNN- GRU 7.97 รปู ท่ี 5. แสดงขนั้ ตอนการคดั เลอื กตวั แปร ตารางท่ี 2. แสดง RMSE (%) ของชดุ ขอ้ มลู ทผ่ี ่านการคดั เลอื ก Data Variables RMSE (%) Set All Selected ������(������), ������(������ + 1) ������������ ������(������ + 8) รปู ท่ี 7. แสดงขนั้ ตอนการคน้ หาพารามเิ ตอรด์ ว้ ย GA 1 ������(������), ������(������) 8.82 8.68 ������������������������(������), ������������������������(������ + 2 ������������ ������ + 7) 2 ������ 8 Points, ������ 4 Point, ������ℎ 4 Point 14.1 13.43 รปู ท่ี 6. ค่าเฉลย่ี เปอรเ์ ซน็ ต์ RMSE ในแต่ละร่นุ ของประชากร รปู ท่ี 8. แสดง RMSE (%) ของแต่ละโมเดลในแต่ละ Time-Step จากรูปท่ี 8 เราจะเห็นได้ว่าค่าความผิดผลาดมแี นวโน้มเพ่ิมข้นึ ใน Time 212

การประชุมวิชาการระดับชาติดา้ นเทคโนโลยสี ารสนเทศ ครง้ั ที่ 11 (NCIT2019) รปู ท่ี 9. แสดง RMSE (%) ของแต่ละโมเดล [8] M. Mitchell, “An introduction to genetic algorithms”, 1998. [9] D.A. Coley, “An introduction to genetic algorithms for scientist and V. สรปุ และอภปิ รายผล บทความน้ีนาเสนอแบบจาลองผสมผสานโครงข่ายประสาทเทยี มด้วย engineers”, World scientific publishing Co. Pte. Ltd: Singapore 1999. ขนั้ ตอนวธิ เี ชงิ พนั ธุกรรมสาหรบั การพยากรณ์กาลงั ผลติ ไฟฟ้าจากพลงั งาน [10] G. Yazc, O. Polat and T. Yldrm, “Genetic Optimizations for Radial แสงอาทติ ยล์ ่วงหน้า 4 ชวั่ โมงทป่ี ระกอบไปดว้ ย 1) ประยุกต์ใชข้ นั้ ตอนวธิ ี เชงิ พนั ธุกรรมในการคดั เลอื กตัวแปรอินพุตเพ่อื ปรบั ปรุงความแม่นยาใน Basis Function and General Regression Neural Networks”, 2006 การพยากรณ์ 2) โมเดลมีการออกแบบโครงสร้างด้วยขนั้ ตอนวิธีเชิง [11] B. Curry and P.Morgan, “Neural networks: a need for caution”, Int. J. พนั ธุกรรม 3) ผสมผสานผลลพั ธ์จากแต่ละโมเดลเขา้ ดว้ ยกนั ดว้ ยโครงขา่ ย ประสาทเทียม สาหรบั กรณีศึกษาการพยากรณ์กาลังผลิตไฟฟ้ าของ Manage. Sci. 25, 123-133 (1997) จุฬาลงกรณ์มหาวิทยาลัยพบว่าวิธีการท่ีนาเสนอให้ค่า RMSE ลดลง [12] C. Su andT. Chiang, “Optimizing the IC wire bonding process using a 7.74% เมอ่ื เปรยี บเทยี บกบั โมเดลทใ่ี ช้ขอ้ มลู สภาพอากาศจากการวดั เพยี ง อย่างเดียว ประโยชน์ของการพยากรณ์ด้วยวธิ ีน้ีคือ 1) สามารถนาไป neural networks/genetic algorithms approach”, 2003. ประยุกต์ใชไ้ ดก้ บั ทุก ๆพ้นื ทเ่ี น่ืองจากวธิ นี ้ีมขี นั้ ตอนในการคดั เลอื กตวั แปร [13] D. Season, “Nonlinear PLS using genetic programming”, 2005. ทเ่ี หมาะสมกบั พ้นื ทน่ี นั้ ดว้ ยขนั้ ตอนวธิ เี ชงิ พนั ธุกรรม 2) มคี วามแมนยาใน [14] G.P. Zhang, “neural networks for classification”, 2000. การพยากรณ์สงู เน่อื งจากมกี ารประยุกต์ใชเ้ ทคนิคในการผสมผสานโมเดล [15] S.Oreski, D.Oreski and G.Oreski, “Hybrid system with genetic กิตติกรรมประกำศ algorithm and artificial neural networks and its application to retail ผเู้ ขยี นขอบคุณการไฟฟ้าฝ่ายผลติ แห่งประเทศไทยทใ่ี หท้ ุนผเู้ ขยี นใน credit risk assessment”, 2012. การศกึ ษาต่อระดบั ปรญิ ญาโทและเงนิ ทุนในการวจิ ยั และขอบคุณอาจารยท์ ่ี [16] A.L. Ahmad, I.A. Azid, A.R. Yusof and K.N. Seetharamu, “Emission ปรกึ ษาทค่ี อยใหค้ าปรกึ ษาและผทู้ ใ่ี หค้ าแนะนาต่าง ๆ ในการศกึ ษาครงั้ น้ี control in palm oil mills using artificial neural network and genetic algorithm”, 2004. เอกสำรอ้ำงอิง [17] O. Boehm, D.R. Hardoon, L.M. Manevitz, “classifying cognitive states [1] James Bergstra, Rémi Bardenet, Yoshua Bengio, Balázs Kégl, of brain activity via one-class neural networks with feature selection by genetic algorithms”, 2011. “Algorithms for hyper-parameter optimization”, 2011 [18] D.T. Ling andA.C. Schierz, “Hybrid genetic algorithm-neural network: [2] J. Peralta, X. Li, G. Gutierrez and A. Sanchis, \"Time series forecasting Feature extraction for unpreprocessed microarray data”, 2011. [19] J. Cheng and Q.S. Li, “Reliability analysis of structures using artificial by evolving artificial neural networks using genetic algorithms and neural network based genetic algorithms”, 2008. differential evolution,\" 2010 [20] F. Dieterle, B. Kieser and G. Gauglitz, “Genetic algorithms and neural [3] Y. Nagata and C.K. Hoong, “Optimization of a fermentation medium networks for the quantitative analysis of ternary mixtures using surface using neural networks and genetic algorithms”, 2003 plasmon resonance”, 2003 [4] V. Estivill-Castro, “The design of competitive algorithms via genetic [21] K. Kim and I. Han, “Application of a hybrid genetic algorithm and algorithms Computing and Information”, 1993. neural network approach in activity-based costing”, 2003. [5] L. Gu, W. Liu-ying’v, C. Gui-ming and H. Shao-chun, “Parameters [22] Ping Zhang, B. Verma and K. Kumar, \"A neural-genetic algorithm for Optimization of Plasma Hardening Process Using Genetic Algorithm feature selection and breast abnormality classification in digital and Neural Network”, 2011. mammography,\" 2004 [6] G. Zhang, B.P. Eddy and M.Y. Hu, “Forecasting with artificial neural [23] Kazemi, S. M. R., Hoseini, M. M. S., Abbasian-Naghneh, S., & networks: The state of the art”, 1998. Rahmati, S. H. A., “An evolutionary-based adaptive neuro-fuzzy [7] G.R. Finnie, G.E. Witting and J.M. Desharnais, “A comparison of inference system for intelligent short-term load forecasting.”, 2014 software effort estimation techniques: using function points with neural [24] Sheikhan, M., & Mohammadi, N., “Neural-based electricity load networks\", case-based reasoning and regression models, 1997. forecasting us- ing hybrid of GA and ACO for feature selection”, 2012. [25] S.N. Sivanandam and S.N. Deepa, “Introduction to genetic algorithms”, 2008. [26] Zhong, Jinghui & Hu, Xiaomin & Zhang, Jun & Gu, Min., “Comparison of Performance between Different Selection Strategies on Simple Genetic Algorithms.”, 2005 [27] ROMAIN JUBAN, PATRICK QUACH, “Predicting daily incoming solar energy from weather data”, Stanford University [28] Jeff Patra, “Solar Energy Prediction Using Machine Learning”, 2017 [29] Yang, Xin-She., \"Nature-Inspired Metaheuristic Algorithms\", 2008, Luniver Press, Bristol, UK. 213

การประชุมวชิ าการระดับชาติดา้ นเทคโนโลยีสารสนเทศ ครง้ั ท่ี 11 (NCIT2019) การนับต้นปาลม์ ด้วยการประมวลผลภาพ Palm Tree Counting by Image Processing พสิ ษิ ฐ์ ศรจี นั ทร์ จนั ทนา จนั ทราพรชยั คณะวศิ วกรรมศาสตร์ คณะวศิ วกรรมศาสตร์ มหาวทิ ยาลยั เกษตรศาสตร์ มหาวทิ ยาลยั เกษตรศาสตร์ กรุงเทพ ฯ 10900 กรุงเทพ ฯ 10900 [email protected] [email protected] บทคดั ย่อ — งานวิจยั นี้เป็ นการแสดงจานวนของต้นปาลม์ ท่ีนับได้ใน พื้นท่ีจากภาพถ่ายโดรน โดยมีข้อมลู เริ่มต้นคือชดุ ภาพถ่ายโดรนท่ีมีระยะบิน 200 เมตร โดยมีวิธีการดงั นี้ เร่ิมจากการตดั ภาพ ต้นปาลม์ ต้นเดี่ยวมาเป็ น แม่แบบในการทาการจบั ค่แู ม่แบบด้วยการประมวลผลภาพ จากนัน้ นาชุด ภาพถ่ายโดรนที่มีไปรวมสร้างเป็นภาพแผนท่ีภาพใหญ่ ก่อนท่ีจะนาแม่แบบ และแผนท่ีภาพใหญ่ทาการจบั คู่แม่แบบกนั และปิ ดท้ายด้วยการนับต้น ปาลม์ ด้วยโปรแกรม โดยมีความถกู ต้องในการนับอยู่ที่ 91.8% คำสำคญั — ต้นปาลม์ การจบั ค่แู ม่แบบ การประมวลผลภาพ ABSTRACT — This work shows the number of palm trees รปู ท่ี 1. ระดบั สขี อง Grayscale ตามขนาดขอ้ มลู ทเ่ี กบ็ ค่าสี counting in the area from the drones photo. The initial data is the set of (ทม่ี า: http://learn.hamamatsu.com/articles/microscopyimaging.html) drone photo from the 200 meters high. We start from cutting the palm tree using template matching with image processing. Drone images are 2.1.2 ระบบสี RGB เป็นระบบสที ป่ี ระกอบดว้ ยแมส่ หี ลกั สามสคี อื แดง put together to create a large image map before performing template (Red), เขยี ว (Green) และ น้าเงนิ (Blue) RGB นัน้ เป็นระบบสแี สง และ matching. The counting palm trees has 91.8% accuracy. เป็นแบบ Additive คือ ถ้าไม่มีสีใดเลยจะมองเห็นเป็ นสีดา และในทาง กลบั กนั หากมคี รบทกุ สจี ะมองเป็นสขี าวดงั ภาพท่ี 2 Keywords — Palm Tree, Template Matching, Image Processing I. บทนา การพ่ึงพาเทคโนโลยีทางการเกษตรเป็ นส่ิงจาเป็นอย่างยิ่งสาหรบั การเกษตรสมยั ใหม่ ไมว่ ่าจะเพอ่ื เพม่ิ ประสทิ ธภิ าพ เพอ่ื ท่นุ แรง หรอื เพอ่ื ลด ค่าใช้จ่ายก็ตาม ประเทศไทยเองก็เป็ นประเทศท่ีมีประชากรทาอาชีพ เกษตรกรอย่เู ป็นจานวนมาก อกี ทงั้ ประเทศไทยถอื เป็นผผู้ ลติ ปาลม์ น้ามนั อนั ดบั ตน้ ๆของโลก งานวจิ ยั น้ีมวี ตั ถุประสงค์ท่จี ะพฒั นาโปรแกรมนับต้นปาล์มในไร่จาก ภาพถ่ายโดรนเพอ่ื ชว่ ยแบ่งเบาภาระของเกษตรกร II. ทฤษฎแี ละงานวจิ ยั ทเ่ี กย่ี วขอ้ ง รปู ท่ี 2. วงลอ้ สแี บบ RGB 2.1 ระบบสี (Color Model) (ทม่ี า: http://en.wikipedia.org/wiki/Color_space) 2.1.3 ร ะ บ บ สี HSV (Hue, Saturation, Value) ห รือ HSB (Hue, 2.1.1 ระบบสี Grayscale เป็นช่วงของเฉดสเี ทา ซ่งึ แตกต่างกบั ภาพ Saturation, Brightness) เป็ นระบบสีท่ีนิยมใช้กันในหมู่นักแต่งภาพ ขาว-ดา ทม่ี เี พยี ง 2 สี คอื ขาว กบั ดา สใี น grayscale น้ี แสดงถงึ ความเขม้ ของสี (Intensity) ในระดบั ต่างๆ โดยสดี าเป็นส่วนทม่ี คี วามเขม้ ของสนี ้อย และสขี าวจะมคี วามเขม้ ของสมี าก จานวนระดบั ของสขี ้นึ อยู่กบั ขนาดของ บติ ทใ่ี ชเ้ กบ็ ค่าสี โดยทวั่ ไปแลว้ จะเกบ็ ขอ้ มลู สปี ระเภทน้ดี ว้ ยขอ้ มลู ขนาด 8 บติ หรอื 1 ไบต์ ซง่ึ จะใหค้ วามละเอยี ดของสที ่ี 265 เฉดสี [1] ดงั รปู ท่ี 1 214

การประชุมวิชาการระดบั ชาติด้านเทคโนโลยสี ารสนเทศ ครง้ั ท่ี 11 (NCIT2019) เน่ืองจากเป็นระบบสที ่ีใกล้เคียงกบั ความคิดของมนุษย์ได้ดกี ว่าระบบสี RGB โดย Hue คอื สขี องภาพ Saturation คอื ปรมิ าณความอม่ิ ตวั ของสี ยงิ่ มคี ่าน้ีมาก ภาพจะมีสีสดย่ิงมนี ้อย ภาพจะย่ิงมสี ีน้อยลง จนในท่ีสุดจะ กลายเป็ นภาพท่ีลักษณะแบบ Grayscale และ Value หรือ Brightness เป็นค่าท่แี สดงถึงปรมิ าณความสว่างของภาพ หากมคี ่ามากภาพจะยงิ่ มี ความสวา่ งมากดงั แสดงในรปู ท่ี 3 ตารางท่ี 1 Template แบบต่างๆ (https://docs.opencv.org/3.4.3/df/dfb/group__imgproc__object.html) รปู ท่ี 3. โมเดลสี HSV ในรปู แบบโคน (Cone) 2.4 Open Drone Map (ODM) (ทม่ี า: http://en.wikipedia.org/wiki/Color_space) OpenDroneMap [5] เป็ นชุดเคร่ืองมือโอเพ นซ อร์ซ สาหรับการ 2.2 OpenCV (Open source Computer Vision) OpenCV เป็ น ไลบ รารีฟั งก์ชัน การเขีย น โป รแกรม (Library of ประมวลผลภาพถ่ายโดรนทางอากาศ โดรนทวั่ ไปใชก้ ลอ้ งแบบเลง็ แลว้ ถ่าย Programming Functions) โดยส่วนใหญ่จะมุ่งเป้าไปท่ีการแสดงผลด้วย อย่างง่ายดงั นัน้ ภาพจากโดรนในขณะท่จี ากมุมมองท่ตี ่างกนั จะคลา้ ยกบั คอมพวิ เตอร์แบบเรยี ลไทม์ (Real-Time Computer Vision) เดมิ ทแี ลว้ ถูก ภ าพ ท่ีถ่ าย จากก ล้อ งแบ บ เล็งแล้วถ่ าย เช่น ภ าพ ท่ีไม่ใช่ ตัวช้ีวัด พัฒนาโดย Intel แต่ภายหลงั ได้รบั การสนับสนุนโดย Willow Garage OpenDroneMap เปลย่ี นภาพอย่างง่ายเหล่านนั้ ใหเ้ ป็นขอ้ มลู ทางภมู ศิ าสตร์ ตามมาด้วย Itseez (ซ่งึ ต่อมาถูกเขา้ ซ้ือโดย Intel) OpenCV เป็นไลบรารี (https://github.com/OpenDroneMap/ODM) แบบขา้ มแพลตฟอร์ม (Cross-Platform) และใชง้ านได้ฟรภี ายใต้ลขิ สิทธิ์ 2.5 ขอ้ มลู จากการสารวจระยะไกล (Remote Sensing) ของ BSD แบบโอเพ่นซอรส์ (Open-Source BSD License) [2] OpenCV ยังสนับสนุนเฟรมเวริ ์กการเรยี นรู้เชิงลึก (Deep Learning การสารวจระยะไกลเป็นการสารวจจากระยะไกล [6] โดยเคร่อื งมอื วดั Frameworks) ไดแ้ ก่ TensorFlow, Torch/PyTorch และ Caffe ไม่มกี ารสมั ผสั กบั สง่ิ ท่ตี อ้ งการตรวจวดั โดยตรง กระทาการสารวจโดยให้ 2.3 การจบั ค่แู มแ่ บบ (Template Matching) เคร่อื งวดั อยู่ห่างจากสง่ิ ท่ตี ้องการตรวจวดั โดยอาจติดตัง้ เคร่อื งวดั เช่น Template matching เป็นการหาตาแหน่งของภาพ ทเ่ี หมอื นกบั ภาพ กล้องถ่ายภาพ ไว้ยังท่ีสูงบนบอลลูน บนเคร่ืองบิน ยาวอวกาศ หรือ template ในภาพ ขนาดใหญ่ โดย OpenCV จะมีคาสัง่ ไว้ให้เรียกใช้ ดาวเทียม แล้วอาศัยคล่นื แม่เหล็กไฟฟ้าท่ีแผ่ หรอื สะท้อนมาจากสิง่ ท่ี cv2.matchTemplate() ซ่ึง จะเป็ น การเปรียบเทีย บภาพ ท่ีเป็ น ภาพ ตอ้ งการสารวจเป็นสอ่ื ในการวดั การสารวจโดยใชว้ ธิ นี ้ีเป็นการเกบ็ ขอ้ มลู ท่ี template กบั ภาพ หลกั โดยเทยี บเป็น pixel ต่อ pixel [3] ไดข้ อ้ มลู จานวนมาก ในบรเิ วณกวา้ งกว่าการสารวจภาพสนาม จากการใช้ ถ้าหากภาพหลกั มขี นาดกวา้ ง(W) xยาว(H) ภาพ template มขี นาด เคร่อื งมอื สารวจระยะไกล โดยเคร่อื งมอื สารวจไม่จาเป็นทต่ี ้องสมั ผสั กบั กวา้ ง(w) xยาว(h) แลว้ หลงั จากทาการ matching จะมขี นาด ภาพขนาด วัตถุตัวอย่าง เช่น เคร่ืองบินสารวจเพ่ือถ่ายภาพในระยะไกล การใช้ (W-w+1,H-h+1) โดยมกี รอบ ลอ้ มรอบภาพ ดาวเทยี มสารวจทรพั ยากรทาการเกบ็ ขอ้ มลู พ้นื ผวิ โลกในระยะไกล ประเภทของ Template Matching ทม่ี ใี น OpenCV ดงั ตารางท่ี 1 2.6 งานวจิ ยั ทเ่ี กย่ี วขอ้ ง ในงานวจิ ยั ของ Katoh และคณะ (2012) วธิ กี ารนับจานวนต้นสนตาม ชนิดในป่ า โดยการรวมเทคนิคการแยกต้นไม้แต่ละต้นกบั เทคนิคการ ตรวจจับยอดไม้โดยใช้ข้อมูลเซ็นเซอร์ออปติคัลความละเอียดสูง [7] งานวิจัยของ Rajput และคณะ (2017) ใช้เทคนิคการประมวลผลภาพ ออกแบบส่วนต่อประสานผู้ใช้แบบกราฟิ กเดียวสาหรับการนับต้นไม้ อตั โนมตั ใิ นสวนปาลม์ น้ามนั วธิ กี าร SURF มคี วามแมน่ ยากวา่ 95% [8] Kumar และคณะ (2012) นาเสนอวธิ กี ารประมวลผลภาพสาหรบั การ นับจานวนต้นไมใ้ นภาพถ่ายดาวเทยี มความละเอยี ดสงู โดยใชว้ ธิ พี ้นื ผวิ มี การตดิ ตามกลยุทธ์ลาดบั ชนั้ เพ่อื ค้นหาตรวจจบั แยกและนบั ต้นไมใ้ นภาพ [9] อัลกอริธึมวิธีเน้ือสัมผัสจะแปลง RS Image เป็ น HSI Image เพ่ือ วเิ คราะห์ขอ้ มูลภาพได้อย่างมคี ุณภาพมากขน้ึ การจาแนกภาพนัน้ ทาได้ โดยประมาณสาหรบั การใช้วิธีการท่ีมีอยู่และยังไม่นับจานวนต้นไม้ท่ี ถูกต้อง อัลกอริธมึ น้ีให้การจาแนกภาพท่ีแม่นยาและยังให้นับต้นไม้ท่ี 215

การประชุมวิชาการระดบั ชาตดิ ้านเทคโนโลยสี ารสนเทศ คร้ังท่ี 11 (NCIT2019) ถูกต้องดว้ ยการใชอ้ งคป์ ระกอบโครงสรา้ งในภาพ กระบวนการพน้ื ฐานของ ฟังก์ชนั threshold การลด noise ของภาพ ด้วยฟังก์ชนั median การทา อลั กอรทิ มึ Morphological Operation แบบ Gradient การทา Distance Transform และเพมิ่ Border Matik และคณะ (2016) นาเสนอเทคนิคในการประเมนิ ผลผลติ สม้ จาก ภาพต้นไม้ [10] การนับผลไมด้ ้วยตนเองสาหรบั การประเมนิ ผลผลติ เพ่อื สาหรบั ขนั้ ตอนการทา Template Matching ไดแ้ ก่ การทา Template การตลาดและงานการจดั การอ่นื ๆ นัน้ ใช้เวลานานและต้องใชท้ รพั ยากร Matching แบบ TM_CCOEFF_NORMED การแปลงภาพจากระบบสี มนุษย์ซ่ึงไม่ได้ราคาถูกเสมอไป มีการใช้วิธีการท่ีแตกต่างกันเพ่ือ Grayscale ใหเ้ ป็น binary ดว้ ยฟังก์ชนั threshold การลด noise ของภาพ จุดประสงค์ดงั กล่าว แต่การแยกผลไมอ้ อกจากพ้นื หลงั ทาให้เกดิ ความท้า ดว้ ยฟังกช์ นั median ทายและทาให้การออกกาลังกายไม่ถูกต้อง ใช้การแบ่งส่วน k-mean สาหรบั การ recognition ผลไมซ้ ่ึงแบ่งส่วนภาพอย่างถูกต้องจงึ ทาให้การ สาหรบั ขนั้ ตอนการนบั และตรวจจบั ต้นปาลม์ ทาการเกบ็ จุดดาในภาพ ประมาณผลผลติ มคี วามแมน่ ยามากขน้ึ ทาสรา้ งชดุ ขอ้ มลู ทม่ี ภี าพต้นไม้ 83 ดว้ ย findContour ทาการกรองสิง่ ท่คี าดว่าไม่ใช่ต้นปาล์มดว้ ยขนาดของ ภาพพร้อมผลไม้รสเปร้ียว 4001 ผลจากสามฟิ ลด์ท่ีแตกต่างกัน เรา พ้นื ท่แี ละภาพร่างของจุดดา ทาการนับจุดดาท่ผี ่านการกรองเป็นจานวน สามารถตรวจจบั ผลไมบ้ นตน้ ไมไ้ ดอ้ ย่างแมน่ ยาถงึ 91.3% ของต้นปาล์ม หาค่าความกว้างความยาวและตาแหน่งของจุดดาด้วย boundingRect และวาดกรอบสเ่ี หลย่ี มผนื ผา้ ครอบต้นปาลม์ ในภาพแผนท่ี III. วธิ กี ารดาเนินการวจิ ยั จริงโดย หาค่าความกว้างความยาวและตาแหน่ งของจุดดาด้วย 3.1 เครอ่ื งมอื ทใ่ี ชใ้ นการพฒั นา boundingRect 3.1.1 ฮารด์ แวร์ (Hardware) 3.1.1.1 MacBook Pro (13 น้วิ ปี 2017) ภาพท่ี 3.1 ตารางขอ้ มลู ของ MacBook Pro (13 น้วิ ปี 2017) รปู ท่ี 4.1 ขนั้ ตอนการแปลงภาพเพอ่ื เขา้ สกู่ ารทา Template Matching 3.1.2 ภาษาทใ่ี ชพ้ ฒั นา รปู ท่ี 4.2 ขนั้ ตอนการนบั ตน้ ปาลม์ หลงั จากการทา Template Matching 3.1.2.1 Python 3.6 3.1.3 ไลบราร่ี (Library) 3.3 รายละเอยี ดของระบบทพ่ี ฒั นา 3.3.1 นาชุดภาพถ่ายยอ่ ยของโดรนเขา้ สู่ Open Drone Map เพอ่ื สรา้ ง 3.1.3.1 OpenCV ใชส้ าหรบั การประมวลผลรปู ภาพ 3.1.3.2 Skimage ใชส้ าหรบั การประมวลผลรปู ภาพ ภาพแผนทใ่ี หญ่ 3.1.3.3 Matplotlib ใชส้ าหรบั การสรา้ งกราฟรปู ภาพ 3.3.2 ใชโ้ ปรแกรมตดั ภาพต้นปาลม์ เดย่ี วจากแผนทใ่ี หญ่ท่ี เพอ่ื เตรยี ม 3.1.3.4 Numpy ใชส้ าหรบั การทาฟังกช์ นั คณติ ศาตร์ 3.1.4 ซอฟตแ์ วรท์ ส่ี าคญั อน่ื ๆ ใชใ้ นการ Template Matching 3.1.4.1 Google Sheets ใชส้ าหรบั จดบนั ทกึ ความแมน่ ยา 3.3.3 นาภาพแผนทใ่ี หญ่และภาพตดั ของต้นปาล์มเขา้ ส่กู ระบวนการ 3.1.4.2 Jupyter Notebook ใชส้ าหรบั รนั โปรแกรม 3.1.4.3 Open Drone Map (ODM) ใชส้ าหรบั การประกอบ Image Processing ทาการแปลงภาพดว้ ย Image Morphology [11] ก่อน รปู ภาพใหก้ ลายเป็นแผนทใ่ี หญ่ ทาการ Template Matching เพอ่ื นบั จานวนตน้ 3.1.4.4 Docker ใชส้ าหรบั การจาลองสภาพแวดลอ้ มของ เครอ่ื งเพอ่ื ใชใ้ นการรนั โปรแกรม IV. ผลการดาเนินงาน 3.1.4.5 Photoshop ใชส้ าหรบั การตดั ภาพแผนทใ่ี หญ่ 4.1 ผลการออกแบบ 3.1.5 ระบบปฏบิ ตั กิ ารทใ่ี ชร้ ะหวา่ งการพฒั นา 3.1.5.1 macOS การออกแบบโปรแกรมจะใชภ้ าษา Python โดยเขยี นใน Jupyter 3.2 การออกแบบระบบ Notebook โดยนาขอ้ มลู นาเขา้ 2 อยา่ งคอื template ตน้ ปาลม์ แมแ่ บบทต่ี ดั เร่ิมจากการเตรยี มภาพแผนท่ีใหญ่ด้วย Open Drone Map โดยนา ภาพถ่ายโดรนมาใช้ และเตรยี มภาพแมแ่ บบดว้ ยการตดั ภาพถ่ายโดรนดว้ ย Photoshop จากนนั้ จงึ นาภาพทงั้ 2 ภาพเขา้ ส่ขู นั้ ตอนการแปลงภาพแผนท่ี และภาพแม่แบบเพ่ือนาไปทา Template Matching ซ่ึงประกอบด้วย ขนั้ ตอนการแปลงภาพเป็นระบบสี hsv การ แปลงภาพใหเ้ ป็น binary ดว้ ย 216

การประชมุ วชิ าการระดบั ชาตดิ ้านเทคโนโลยสี ารสนเทศ ครง้ั ท่ี 11 (NCIT2019) มา กบั ภาพแผนทใ่ี หญ่ของภาพถ่ายโดรนทไ่ี ดจ้ าก ODM เขา้ มาทาการ แปลงภาพใหเ้ หมาะสมกบั การทา Template Matching ก่อนทจ่ี ะทา Template Matching แลว้ นบั จานวนตน้ ปาลม์ ดงั รปู ท่ี 5 รปู ท่ี 6. ภาพของ template ความละเอยี ดของภาพตน้ ฉบบั แต่ละภาพจาก drone มขี นาด 5472 × 3648 pixels2 ต่อภาพ และขนาดภาพทไ่ี ดจ้ ากการตอ่ ภาพ OpenDroneMap มขี นาดระดบั 100,000 x 100,000 pixels2 เพอ่ื ใหก้ าร ประมวลผลเป็นไปไดไ้ วและงา่ ยต่อการตรวจเชค็ จงึ ไดต้ ดั ภาพขนาด 4019 × 3079 pixels2 ดงั รปู ท่ี 7 รปู ท่ี 5. ภาพรวมการทางานของระบบ 4.2 วธิ วี ดั ผลและประเมนิ ผล รปู ท่ี 7. ภาพแผนทท่ี ต่ี ดั ออกมาเพอ่ื ใชใ้ นการตรวจจบั ตน้ ปาลม์ วธิ กี ารวดั และประเมนิ ผลจะทาโดยการดภู าพของแผนทข่ี องตน้ ปาลม์ ท่ี และเม่ือนาภาพ template และภาพแผนท่ีท่ีตัดออกมามาเข้าสู่ โปรแกรมตรวจจบั ต้นปาล์มจะได้ผลลพั ธ์ออกมาเป็นจานวนจ้นปาล์มท่ี มกี ารตกี รอบตน้ ปาลม์ ทน่ี บั แลว้ วา่ ตกี รอบไดพ้ อดตี น้ หรอื ไม่ และตกี รอบได้ ตรวจจบั ได้ และภาพแผนท่ที ่ที าการวาดส่เี หลย่ี มล้อมต้นปาล์มผ่านการ กต่ี น้ จากตน้ ปาลม์ ทงั้ หมด โดยทาการทดลองปรบั ตวั แปรของฟิลเตอรท์ ท่ี า ตรวจจบั แลว้ โดยตรวจจบั ได้ 446 ตน้ จากจานวนต้นปาล์มในรปู มที งั้ หมด การแปลงภาพก่อนทจ่ี ะทาการ Template Matching ใหเ้ หมาะสมทส่ี ุด 486 มคี วามแมน่ ยาอย่ทู ่ี 92% ดงั รปู ท่ี 8 และ 9 เพอ่ื ใหไ้ ดก้ ารตกี รอบตน้ ปาลม์ ทแ่ี มน่ ยาทส่ี ดุ 4.3 ผลการทดสอบระบบ รปู ท่ี 8. ภาพผลลพั ธจ์ ากการนบั ตน้ ปาลม์ จากการทดสอบพบว่าปัจจยั ทม่ี ผี ลต่อความถกู ตอ้ งไดแ้ ก่ ขนาดของ ฟิลเตอรท์ ใ่ี ชล้ บสญั ญาณรบกวน ชนิดของ Morphological Operation ทใ่ี ช้ ชนิดของ Distance Transform ทใ่ี ช้ ชนดิ ของ Template Matching ทใ่ี ช้ ขนาดของ template วธิ เี ลอื กนบั findContour โดยกรองจากขนาดทไ่ี ดจ้ าก template matching 4.3.1 การทดสอบฟิลเตอรร์ ปู แบบต่างๆกนั จากการทดลองเพอ่ื หาฟิลเตอรท์ เ่ี หมาะทส่ี ดุ เราไดข้ นาดของฟิลเตอร์ ทใ่ี ชล้ บสญั ญาณรบกวนทใ่ี ชม้ ขี นาด 8-10, ชนิดของ Morphological Operation ทเ่ี ลอื กใช้ เราเลอื กใช้ MORPH_CLOSE เพราะเหมาะกบั การ ลบ noise หรอื สที ล่ี ะเอยี ดเลก็ ๆในตน้ ปาลม์ ชนิดของ Distance Transform ทเ่ี ลอื กใช้ เราเลอื กใช้ DIST_L2 ชนดิ ของ Template Matching ทเ่ี ลอื กใช้ TM_CCOEFF_NORMED วธี เี ลอื กนบั findContour โดยเลอื ก กรองสเ่ี หลย่ี มทด่ี า้ นกวา้ งกบั ดา้ นยาวแตกต่างกนั มากเกนิ ไปเพราะจากท่ี สงั เกตจะไมใ่ ช่ตน้ ปาลม์ หรอื สเ่ี หลย่ี มทม่ี พี น้ื ทม่ี ากหรอื น้อยเกนิ ไปเป็นตน้ 4.3.2 การทดสอบขนาดของ template ต่างกนั จากการทดลองไดใ้ ช้ template เดมิ ทท่ี าการตรวจจบั ไดด้ มี าทาการ resize เป็น 60 x 60 pixels2, 75 x 75 pixels2, 90 x 90 pixels2, 105 x 105 pixels2 ตามลาดบั พบวา่ template ขนาด 75 x 75 pixels2 นนั้ ใหผ้ ล ตรวจจบั ตน้ ปาลม์ ไดด้ ที ส่ี ุดโดยวดั จากการตรวจจบั ทาไดก้ ลางตน้ แค่ไหน จานวนตน้ มากนอ้ ยแค่ไหนทน่ี บั พลาด จากการทดสอบปรบั เปลย่ี นขนาดของฟิลเตอรท์ งั้ หมด พบว่าจะใช้ ฟิลเตอรแ์ บบ ใช้ template ขนาด 174 x 175 pixels2 (ก่อน resize) ดงั รปู ท่ี 6 217

การประชมุ วิชาการระดับชาตดิ า้ นเทคโนโลยีสารสนเทศ ครง้ั ที่ 11 (NCIT2019) ปลูกเป็นแนวเช่นมนั สาปะหลงั และเพ่อื ความยดื หยุ่นของหน้าจอผูใ้ ชเ้ พ่อื ปรบั แต่ง template กิตติกรรมประกาศ ขอขอบคณุ รศ.ดร. ธานี ศรวี งศช์ ยั ภาควชิ าพชื สวนไร่นา คณะเกษตร มหาวทิ ยาลยั เกษตรศาสตร์ สาหรบั ชดุ ขอ้ มลู ภาพโดรนในงานวจิ ยั น้ี รปู ท่ี 9. ภาพทผ่ี า่ นการตรวจจบั ตน้ ปาลม์ แลว้ เอกสารอ้างอิง 3. การทา ODM ดว้ ยเครอ่ื งคอมพวิ เตอรท์ ม่ี ที รพั ยากรไมไ่ ดส้ งู มาก ทา [1] ความรู้เบ้ืองต้นเก่ียวกับการประมวลผลภาพดิจิทัล . Available online: ใหผ้ ลลพั ธข์ องแผนทภ่ี าพใหญ่มคี วามผดิ เพย้ี นเลก็ น้อย คาดวา่ เป็นสาเหตุ https://nextsoftwares.wordpress.com/2014/05/22/ค ว า ม รู้เบ้ื อ ง ต้ น เก่ี ย ว / ทต่ี น้ ปาลม์ บางตน้ ไมส่ ามารถตรวจจบั ได้ 8771e2a4c414 Accessed: 20 June 2019 5.3 ขอ้ เสนอแนะในการพฒั นาต่อไป [2] N. Chuntra. OpenCV คอื อะไร? Available online: https://medium.com/@nut.ch40/opencv-คอื อะไร-8771e2a4c414 Accessed: 1. ปรบั ระบบตามความเหมาะสมเพอ่ื ลองใชก้ บั พชื ชนดิ อน่ื 20 June 2019 2. เพม่ิ ระบบบางอย่างเพอ่ื ใหก้ ารตรวจจบั มคี วามแมน่ ยามากขน้ึ [3] Template matching คอื อะไร Available online: https://computercskmitl.wordpress.com/2016/05/12/ขนั้ ตอนทส่ี อง/ Accessed: 5. สรุปผล 20 June 2019 โครงงานวจิ ยั น้ีเป็นการนบั และตรวจจบั ตน้ ปาลม์ ในพน้ื ทจ่ี ากชดุ ขอ้ มลู [4] OpenCV. Available online: ของภาพถ่ายโดรน ซง่ึ มคี วามแมน่ ยาอยทู่ ่ี 92% โดยมขี นั้ ตอนยอ่ ยไดแ้ ก่ https://docs.opencv.org/3.4.3/df/dfb/group__imgproc__object.html ขนั้ ตอนการแปลงภาพแผนทแ่ี ละภาพแมแ่ บบเพอ่ื นาไปทา Template Accessed: 20 June 2019 Matching ซ่ึงประกอบด้วยขนั้ ตอนการแปลงภาพเป็ นระบบสี hsv การ [5] Drone Mapping Software. Available online: แปลงภาพให้เป็น binary ด้วยฟังก์ชนั threshold การลด noise ของภาพ https://www.opendronemap.org/ Accessed: 20 June 2019 ดว้ ยฟังกช์ นั median การทา Morphological Operation แบบ Gradient [6] ศนู ยว์ จิ ยั ภมู สิ ารสนเทศเพ่อื ประเทศไทย. การทา Distance Transform และเพมิ่ Border ข้ อ มู ล จ า ก ก า ร ส า ร ว จ ร ะ ย ะ ไ ก ล (Remote Sensing). อ อ น ไ ล น์ สาหรบั ขนั้ ตอนการทา Template Matching ไดแ้ ก่ การทา Template http://www.gisthai.org/about-gis/remote-sensing.html เขา้ ถงึ วนั ท่ี 20 มถิ ุนายน Matching แบบ TM_CCOEFF_NORMED การแปลงภาพจากระบบสี พศ.ศ 2562 Grayscale ใหเ้ ป็น binary ดว้ ยฟังก์ชนั threshold การลด noise ของภาพ [7] M. Katoh and F. A. Gougeon Improving the Precision of Tree Counting ดว้ ยฟังกช์ นั median by Combining Tree Detection with Crown Delineation and Classification on สาหรบั ขนั้ ตอนการนับและตรวจจบั ตน้ ปาลม์ ทาการเกบ็ จุดดาในภาพ Homogeneity Guided Smoothed High Resolution (50 cm) Multispectral ด้วย findContour ทาการกรองสิ่งท่คี าดว่าไม่ใช่ต้นปาล์มดว้ ยขนาดของ Airborne Digital Data. Remote Sens. 2012, 4, pp. 1411-1424. พ้นื ท่แี ละภาพร่างของจุดดา ทาการนับจุดดาท่ผี ่านการกรองเป็นจานวน doi:10.3390/rs4051411 ของต้นปาล์ม หาค่าความกว้างความยาวและตาแหน่งของจุดดาด้วย [8] Y. Rajput et.al. Identification and Counting Trees from Oil Palm boundingRect และวาดกรอบสเ่ี หลย่ี มผนื ผา้ ครอบต้นปาล์มในภาพแผนท่ี Plantations using Digital Image Processing Techniques, 6(5), May – 2017, จริงโดย หาค่าความกว้างความยาวและตาแหน่ งของจุดดาด้วย pp. 347-349. Available online: boundingRect https://www.ijert.org/identification-and-counting-trees-from-oil-palm- สาหรับปัญหาท่ีต้องแก้ไขต่อไป ได้แก่ต้นปาล์มในชุดข้อมูลท่ีได้ plantations-using-digital-image-processing-techniques Accessed: 20 June ค่อนขา้ งจะมใี บทบั ซ้อนกนั จานวนมากทาใหย้ ากต่อการนับ การทา ODM 2019 ดว้ ยเคร่อื งคอมพวิ เตอรท์ ม่ี ที รพั ยากรไมไ่ ดส้ ูงมาก ทาใหผ้ ลลพั ธข์ องแผนท่ี [9] D.G. Kumar and M. Padmaja. A novel image processing technique for ภาพใหญ่มคี วามผดิ เพ้ยี นเลก็ น้อย คาดว่าเป็นสาเหตุทต่ี ้นปาลม์ บางตน้ ไม่ counting the number of trees in a satellite image. European Journal f สามารถตรวจจบั ได้ และต่อในอนาคตจะทาการทดสอบกบั พชื ชนิดอ่นื ท่ี Applied Engineering and Scientific Research, 2012, 1 (4):151-159. [10] Z. Matik et.al. Detection and Counting of On-Tree Citrus Fruit for Crop Yield Estimation. International Journal of Advanced Computer Science and Applications, 7(5), 2016, pp. 519-523. Available online: https://thesai.org/Downloads/Volume7No5/Paper_69- Detection_and_Counting_of_On_Tree_Citrus_Fruit.pdf [11] Image Morphology. Available online: https://humancominteracg1.wixsite.com/group1/w2-morphological Accessed: 20 June 2019 218

การประชุมวชิ าการระดับชาติด้านเทคโนโลยีสารสนเทศ ครงั้ ที่ 11 (NCIT2019) ระบบควบคมุ การรดน้าอจั ฉริยะ กรณีศึกษาโรงเพาะชาอทุ ยานพฤกษศาสตร์ มหาวิทยาลยั วลยั ลกั ษณ์ Smart Watering Control System: A Case Study of Botanical Nursery Walailak University จงสขุ คงเสน ณฐั วฒุ ิ รตั นะแกว้ สหสั ชยั พรหมทอง Jongsuk Kongsen Nuttawut Ruttanakaew Sahasachai Promthong สำนกั วชิ ำสำรสนเทศศำสตร์ สำนกั วชิ ำสำรสนเทศศำสตร์ สำนกั วชิ ำสำรสนเทศศำสตร์ มหำวทิ ยำลยั วลยั ลกั ษณ์ มหำวทิ ยำลยั วลยั ลกั ษณ์ มหำวทิ ยำลยั วลยั ลกั ษณ์ School of Informatics School of Informatics Walailak University School of Informatics นครศรธี รรมราช / ประเทศไทย Walailak University Walailak University Nakhon Si Thammarat/Thailand นครศรธี รรมราช / ประเทศไทย นครศรธี รรมราช / ประเทศไทย [email protected] Nakhon Si Thammarat/Thailand Nakhon Si Thammarat/Thailand [email protected] Sahasachai.promthong @gmail.com บทคดั ย่อ — งานวิจยั นี้เป็ นการศึกษาและพฒั นาระบบควบคมุ การรด ABSTRACT — This research is the study and development of smart น้าอัจฉริยะเพ่ือตอบรบั กับการนาเทคโนโลยีสารสนเทศมาใช้ในงาน watering control system which aims to respond to the use of information การเกษตรในลกั ษณะเกษตรอจั ฉริยะ งานวิจยั นี้ได้ใช้กรณีศึกษาของโรง technology in agriculture in term of smart farm. This research เพาะชาอทุ ยานพฤกษศาสตร์ มหาวิทยาลยั วลยั ลกั ษณ์ โดยมีวตั ถปุ ระสงค์ investigates a case study of botanical nursery, Walailak University. The เพื่อช่วยลดภาระงานและอานวยความสะดวกในการทางานของเจ้าหน้าที่ objectives are to reduce the workload and facilitate work for the ดูแลโรงเพาะชาของอุทยาน ช่วยให้สามารถควบคมุ การปิ ดเปิ ดน้าในโรง botanical nursery officer, to control the water on/off in the nursery for เพาะชาได้อย่างเหมาะสมตามพื้นท่ีปลูกของต้นไม้แต่ละโซนที่ต้องการ the appropriate water quantity of each nursery zone which requires ปริมาณน้าแตกต่างกนั ทาให้ต้นไม้ได้รบั น้าอย่างเหมาะสมตามชนิ ดของ different water quantity, and to have the real time monitoring on the ต้นไม้นัน้ ๆ และสามารถตรวจสอบสภาพแวดล้อมในโรงเพาะชาได้แบบ environment in the nursery. There are functions to set the watering เรียลไทม์ โดยมีฟังกช์ นั่ การทางานท่ีสามารถกาหนดให้ระบบควบคมุ การ schedule, to set the condition for watering with the parameters such as รดน้าต้นไม้ตามเวลาท่ีกาหนด สามารถตงั้ เงื่อนไขการรดน้า โดยกาหนดคา่ humidity and temperature. The control can be automatically run on web ความชื้น และค่าอุณหภูมิ การสัง่ การสามารถทาได้ทัง้ ในลกั ษณะการ or mobile phone. The system can display the environmental status in กาหนดเง่ือนไขให้ทางานโดยอตั โนมตั ิ และสามารถควบคุมการเปิ ด-ปิ ด nursery e.g. temperature, soil humidity, air humidity and water ด้วยตนเองได้ผ่านการสงั่ การทางเวบ็ หรือมือถือ ระบบสามารถแสดงค่า consumption. The data are collected from the installed sensors in the สถานะของสภาพแวดล้อมภายในโรงเพาะชา ได้แก่ ค่าอณุ หภมู ิภายในโรง nursery. This system would help the human error when he/she forgets เพาะชา ค่าความชื้นในดิน ค่าความชื้นในอากาศ และ ปริมาณน้าที่ใช้รด to close the tab. This watering control system applies the idea of IOT ต้นไม้ โดยใช้ข้อมูลจากเซ็นเซอร์ที่ติดตัง้ ไว้ภายในโรงเพาะชาตามจุดท่ี (Internet of Things). The system requires sensors, NodeMCU to control กาหนด ระบบนี้สามารถช่วยแก้ปัญหาการทางานผิดพลาดท่ีเกิดจากคน the system and firebase platform as a storage. เช่น การเปิ ดน้าทิ้งไว้และลืมปิ ด เป็นต้น ระบบควบคมุ การรดน้าอจั ฉริยะนี้ พฒั นาโดยใช้หลกั การ IoT (Internet of Things) มีเซ็นเซอร์วดั ค่าต่างๆที่ Keywords — smart watering control system, smart farm, Internet of ต้องการ ติดตงั้ ตามจุดที่กาหนด ทางานบนเครือข่ายอินเทอรเ์ น็ตรองรบั Things การทางานบนอุปกรณ์ทงั้ คอมพิวเตอรต์ งั้ โต๊ะ และอุปกรณ์คอมพิวเตอร์ ชนิ ดพกพาอ่ืนๆ โดยใช้ NodeMCU ในการควบคมุ อปุ กรณ์และอ่านค่าเพื่อ 1. บทนา ส่งไปแสดงข้อมูลในระบบ และใช้แพลตฟอร์ม Firebase ในการจดั เก็บ ปัจจบุ นั การทาการเกษตรอจั ฉรยิ ะ (Smart farm)ไดร้ บั ความสนใจอย่าง ข้อมลู มากเพราะเป็ นการใช้ประโยชน์จากเทคโนโลยีเพ่ือนามาสนับสนุน การเกษตร อีกทัง้ รัฐบาลได้ผลักดันนโยบายท่ีเน้นการใช้เทคโนโลยี คำสำคญั — ระบบควบคมุ การรดน้าอจั ฉริยะ, เกษตรอจั ฉริยะ, สารสนเทศในการสรา้ งนวตั กรรม เพอ่ื เขา้ ส่ยู คุ ไทยแลนด์ 4.0 อินเทอรเ์ น็ตแห่งสรรพส่ิง โรงเพาะชาอุทยานพฤกษศาสตร์ มหาวทิ ยาลยั วลยั ลกั ษณ์ เป็นโรง เพาะชาทม่ี ตี น้ ไมห้ ลากหลายชนิดทม่ี คี วามตอ้ งการปรมิ าณน้าแตกต่างกนั 219

การประชุมวชิ าการระดบั ชาตดิ ้านเทคโนโลยสี ารสนเทศ ครง้ั ที่ 11 (NCIT2019) จงึ มกี ารจดั โซนการปลูกแยกกนั สาหรบั ต้นไมแ้ ต่ละประเภท มโี รงเรอื น ระดบั ความช้นื ในดนิ เพ่อื ส่งคาสงั่ ไปปิดเปิดวาล์วน้าไฟฟ้า [3] และมกี าร แยกกนั อย่างชดั เจน บางโรงตอ้ งการควบคมุ ความชน้ื ในโรงเพาะชาดว้ ย จงึ พัฒนาระบบเคร่ืองรดน้าต้นไม้บนระบบ Web browser โดยใช้บอร์ด เป็นโรงเพาะชาในลกั ษณะผนังปิด ในขณะทบ่ี างโรงจะเป็นเพยี งหลังคา Arduino รบั ขอ้ มลู จากเซ็นเซอร์อุณหภูมแิ ละความชน้ื และควบคุมการรด คลุมและไม่มผี นัง เป็นต้น ปัญหาทพ่ี บในปัจจุบนั คอื การรดน้าตน้ ไม้ ทท่ี า น้า โดยแสดงผลบนเวบ็ ไซต์ [4] จากทไ่ี ดศ้ กึ ษางานระบบควบคมุ การรดน้า โดยเจ้าหน้าท่ผี ู้รดน้าต้นไมซ้ ่ึงทางานตามตารางการปฏบิ ตั ิงาน ใช้การ ขา้ งตน้ จงึ ไดน้ ามาปรบั ใหเ้ หมาะสมกบั การใชง้ านของโรงเพาะชา เน่อื งจาก สงั เกตและการคาดคะเนปริมาณน้าท่ีรด การรดน้าต้นไม้ในลกั ษณะ การนาอุปกรณ์ IoT มาใชใ้ นปัจจุบนั ทาไดง้ ่ายและราคาไมแ่ พง เราสามารถ ดงั กล่าวจะไมส่ ามารถควบคุมปรมิ าณน้าท่ใี ชไ้ ดอ้ ย่างเหมาะสมตามความ นาอุปกรณ์พ้นื ฐานเหล่านัน้ มาประยุกต์ใชใ้ นลกั ษณะเดยี วกนั คอื ตรวจจบั ต้องการน้าของต้นไมแ้ ต่ละประเภท และบางครงั้ จะมกี รณที ค่ี วรแกไ้ ข เช่น ความช้นื ของดนิ แต่เน่ืองจากบรบิ ทของโรงเพาะชาเป็นโรงเรอื นควบคุม การลมื รดน้า การเปิดน้าทง้ิ ไวแ้ ลว้ ลมื ปิด และการรดน้าตน้ ไมผ้ ดิ เวลา เป็น อุณหภูมแิ ละความชน้ื จงึ ตอ้ งใชเ้ ซนเซอรท์ ต่ี รวจวดั ค่าความชน้ื ในอากาศ ตน้ ซง่ึ ทาใหต้ น้ ไมไ้ ดร้ บั ปรมิ าณน้าไมเ่ หมาะสม และอุณหภมู ดิ ว้ ย นอกจากนนั้ ดว้ ยเทคโนโลยปี ัจจุบนั ทาใหก้ ารเกบ็ ขอ้ มลู สามารถทาขน้ึ บนระบบคลาวด์ และใชง้ านบนมอื ถอื นอกเหนือจากการใช้ คณะผูว้ จิ ยั จงึ มแี นวคดิ ในการพฒั นาระบบควบคุมการรดน้าอจั ฉรยิ ะ งานบนเวบ็ อกี ทงั้ สามารถทาการแจง้ เตอื นโดยการใชก้ ารทางานผ่าน Line โดยมีเป้ าหมายของการวิจัยเพ่ือหาวิธีการในการรดน้าต้นไม้ให้มี ไดอ้ กี ดว้ ย ประสทิ ธิภาพและมคี วามเหมาะสมกบั ความต้องการน้าของต้นไมแ้ ต่ละ ประเภท จงึ นาอุปกรณ์ดา้ น IoT (Internet of Things) มาประยุกต์ใชใ้ นการ 3. วธิ ดี าเนินการวจิ ยั แกป้ ัญหา โดยนาอุปกรณ์เซน็ เซอร์ตรวจจบั (Sensor) มาใชท้ าใหร้ ะบบมี การพฒั นาระบบควบคุมการรดน้าอจั ฉรยิ ะ มขี นั้ ตอนในการดาเนินการ ความฉลาดมากข้นึ การควบคุมปรมิ าณน้าให้เหมาะสมกบั ชนิดของพชื จะ วจิ ยั ดงั น้ี ช่วยใหพ้ ชื สามารถเจรญิ เติบโตไดด้ ี ลดอตั ราการตายและการตดิ เช้ือโรค ของพชื ช่วยอานวยความสะดวกให้เจ้าหน้าท่สี งั่ การควบคุมการรดน้า 3.1 กำรศกึ ษำและรวบรวมขอ้ มลู จำกผเู้ กยี่ วขอ้ ง ตน้ ไมผ้ ่านเวบ็ หรอื มอื ถอื ไดอ้ ย่างสะดวกรวดเรว็ และมปี ระสทิ ธภิ าพ โดยมี ผู้วจิ ยั ได้ใช้วิธีการสมั ภาษณ์และการสารวจ พ้นื ท่จี ริง ในการ วตั ถุประสงคด์ งั ต่อไปน้ี รวบรวมขอ้ มลู จากบุคลากรทท่ี าหน้าทด่ี แู ลรบั ผดิ ชอบโรงเพาะชา อุทยาน 1.1. เพอ่ื ช่วยอานวยความสะดวกในการรดน้าตน้ ไมโ้ ดยสงั่ งานไดท้ งั้ พฤกษศาสตร์ มหาวทิ ยาลยั วลยั ลกั ษณ์ โดยไดส้ มั ภาษณ์เกย่ี วกบั ประเภท การทางานผ่านเว็บและมอื ถอื ระบบจะช่วยลดปัญหาในกรณี ของต้นไมท้ ่ดี ูแล การจดั วางต้นไมแ้ ต่ละประเภทในโรงเพาะชา ลกั ษณะ เจา้ หน้าทล่ี มื ปิดน้าหรอื รดน้าในปรมิ าณทไ่ี มเ่ หมาะสม การทางานของเจา้ หน้าทใ่ี นแต่ละวนั วธิ กี ารรดน้าตน้ ไมแ้ ต่ละประเภท และ ปัญหาทเ่ี กดิ ขน้ึ ในโรงเพาะชา 1.2. เพ่ือให้สามารถตรวจสอบสภาพแวดล้อม เช่น ค่าเปอร์เซ็น ความช้นื ในอากาศ ค่าเปอร์เซ็นความชน้ี ในดนิ และค่าอุณหภูมิ ขอ้ มลู ของตน้ ไมท้ ป่ี ลูกจะแบ่งได้ 3 ประเภท ซ่งึ มกี ารแบ่งโซนปลกู คอื ภายในโรงเพาะชา ไดต้ ลอดเวลา 1. พชื ไมแ้ ขวน เช่น กลว้ ยไม้ เป็นต้น ซ่งึ พชื ชนิดน้ีไม่ตอ้ งการน้ามากแต่ ตอ้ งการความช้นื 2. พชื ทต่ี อ้ งการน้ามาก เป็นพชื ทต่ี อ้ งมนี ้าขงั อยู่ในราก 1.3. เพ่อื ให้เจ้าหน้าทส่ี ามารถตัง้ เวลา กาหนดปรมิ าณน้าท่ใี ช้ด้วย ชอบอย่ใู นทเ่ี ปียกแฉะ และ 3. พชื ทวั่ ไปทต่ี อ้ งการน้าปกติ ถงึ น้าน้อย ตนเองหรอื ตงั้ ใหร้ ะบบทางานอตั โนมตั ิ โดยรบั ค่าความช้นี และ อุณหภูมใิ นโรงเพาะชา เพ่อื ทาการปิดเปิดน้าให้เหมาะสมกบั การทางานเป็นการทางานโดยใช้คนเป็นผูส้ งั เกตและประมาณการใน ตน้ ไมแ้ ต่ละประเภท ทถ่ี ูกกาหนดพน้ื ทไ่ี วค้ นละโซน การรดน้าดว้ ยสายตาและประสบการณ์ ทาใหม้ โี อกาสเกดิ ขอ้ ผดิ พลาดได้ เพราะไมม่ ตี วั วดั สภาพอุณหภมู ิ และความชน้ื ทช่ี ดั เจน 2. งานวจิ ยั ทเ่ี กย่ี วขอ้ ง การวจิ ยั ในการพฒั นาระบบควบคุมการรดน้ามกี ารดาเนินการกนั เป็น จากการสมั ภาษณ์และการลงสารวจพ้นื ทจ่ี รงิ ทาใหเ้ หน็ ถึงปัญหาและ จานวนมากทัง้ ในและต่างประเทศ ระบบท่ีสร้างมีการใช้อุปกรณ์และ ความจาเป็นในการนาอุปกรณ์ IoT (Internet of Things) มาใช้แก้ปัญหา เคร่อื งมอื ต่างๆแตกต่างกนั ขน้ึ กบั บรบิ ทและลกั ษณะปัญหาทต่ี อ้ งการแกไ้ ข ดงั กล่าว โดยจะทาการพฒั นาระบบทม่ี ฟี ังกช์ นั่ งานตามความตอ้ งการของ ในต่างประเทศมงี านวจิ ยั ท่มี แี นวคดิ พฒั นาระบบควบคุมการรดน้าสนาม ผใู้ ชด้ งั น้ี หญา้ โดยใชเ้ ซน็ เซอรต์ รวจจบั ความชน้ื ในดนิ และดงึ ขอ้ มลู สภาพอากาศของ พน้ื ทน่ี นั้ จากหน่วยงานทร่ี ายงานสภาพอากาศเพอ่ื ควบคุมการรดน้าว่าควร 1) ตัง้ เวลาสงั่ ควบคุมการรดน้าได้ โดยระบุเป็นช่วงเวลา หรือ จะรดน้าหรอื ไม่อย่างไร[1] จะเห็นว่ามกี ารใช้ทงั้ อุปกรณ์และขอ้ มลู สภาพ จานวนครงั้ ตามความเหมาะสม และแยกออกเป็นพ้นื ทต่ี ามความต้องการ อากาศเพ่ือควบคุมการรดน้า งานอีกช้ินหน่ึงทาการพัฒนาระบบ น้าของตน้ ไมแ้ ต่ละประเภท Autonomous sprinkler system โดยใชอ้ ุปกรณ์ IoT คอื Arduino, wireless module, solenoid valve, relay, soil moisture sensor(LM393) [2] พบว่า 2) ตงั้ ค่าความช้นื ควบคุมการรดน้าได้ โดยตงั้ เงอ่ื นไขการรดน้า เป็นการทางานทส่ี ามารถนาไปใชต้ ่อไดโ้ ดยเน้นในเรอ่ื งของค่าใช้จ่ายของ ตามค่าความช้นื ต่าสุดและสงู สุดตามความต้องการ เมอ่ื ความช้นื ต่ากว่าค่า ระบบท่ีเป็น low-cost model เม่อื เทียบกับการท่ีต้องใช้คนดูแลสถานท่ี ท่ตี งั้ ไว้ต่าสุด ระบบจะสงั่ ให้รดน้าต้นไม้ และจะหยุดเม่อื ค่าความช้ืนถึง กว้างๆ ในประเทศไทยกม็ กี ารพฒั นาระบบรดน้าอตั โนมตั ผิ ่านเครอื ข่าย คา่ สงู สดุ ทต่ี งั้ ไว้ เซ็นเซอร์ไร้สายทใ่ี ช้เซ็นเซอร์ตรวจจบั ความช้นื ในดนิ ทาการประมวลผล 3) สงั่ เปิด-ปิดการรดน้าแบบทนั ที ผใู้ ชจ้ ะสามารถสงั่ ใหร้ ดน้า และ หยุดการรดน้าไดต้ ามความตอ้ งการ จากการสงั่ ผ่านเวบ็ หรอื มอื ถอื โดยตรง 220

การประชุมวชิ าการระดบั ชาติดา้ นเทคโนโลยสี ารสนเทศ ครงั้ ท่ี 11 (NCIT2019) 4) ตรวจสอบสภาพแวดล้อม ผู้ใช้สามารถดูค่าความช้ืน และ อุณหภมู ิ ของพ้นื ทภ่ี ายในโรงเพาะชาได้ มกี ารแจง้ เตอื น เมอ่ื ค่าความช้นื และอุณหภมู ผิ ดิ ปกติ 5) แจง้ เตอื นการทางาน เมอ่ื ระบบทาการเปิดน้าหรอื ปิดน้า ระบบ จะทาการแจง้ เตอื นไปยงั ผใู้ ชใ้ หท้ ราบวา่ ระบบ กาลงั เปิดหรอื ปิดน้า 3.2 กำรออกแบบระบบ รปู ท่ี 2. สถาปัตยกรรมฮารด์ แวร์ ในการออกแบบระบบได้ทาการออกแบบสถาปัตยกรรมของระบบ 3.2.3 กำรออกแบบสถำปัตยกรรมซอฟต์แวร์ สถาปัตยกรรมฮารด์ แวร์ สถาปัตยกรรมซอฟต์แวร์ การออกแบบการจดั การ การออกแบบสถาปัตยกรรมซอฟต์แวร์ เป็นการออกแบบการ ขอ้ มลู และการออกแบบหน้าจอตดิ ต่อผใู้ ช้ ทางานของส่วนประกอบ ส่วนประสาน และ ลกั ษณะการทางานดา้ นอ่นื ๆ 3.2.1 กำรออกแบบสถำปัตยกรรมระบบ เป็นกรอบในการดาเนินการและขบั เคล่อื นกระบวนการพฒั นาระบบ และ ร ะ บ บ ร ด น้ า อัต โ น ม ัติ ท า ง า น โ ด ย ก า ร อ่ า น ค่ า จ า ก อุ ป ก ร ณ์ การวางแผนการแก้ปัญหาของระบบ โดยมีส่ีโมดูลหลักคือ 1) Water sensor module เป็ น Module ท่ีใช้ในการตรวจวัดความช้ืนในอากาศ เซ็นเซอร์ ซ่งึ ประกอบด้วย เซ็นเซอร์วดั อุณหภูมิ ความช้นื ในอากาศ และ ความชน้ื ในดนิ และอุณหภมู ิ 2) Control module เป็น Module ทใ่ี ชใ้ นการ ความช้นื ในดนิ โดยใช้ NodeMCU ทาหน้าทส่ี ่งค่าไปยงั Firebase จากนัน้ ควบคุมกระแสไฟฟ้าให้สามารถเปิด-ปิดน้า โดยมฮี าร์ดแวร์ท่ใี ช้ในการ Firebase ทาการส่งค่าตามเงอ่ื นไขทก่ี าหนดไปยงั NodeMCU เพอ่ื ควบคุม ควบคุมคอื อุปกรณ์ Relay ท่ที าหน้าท่ใี นการตดั กระแสไฟฟ้าตามคาสงั่ ท่ี การเปิด-ปิด Solenoid (วาลว์ น้า) โดยผใู้ ชส้ ามารถควบคุมการทางาน และ รบั มา 3) Controller module มี Web API เชอ่ื มต่อระหว่าง Database กบั ตรวจสอบค่า ความช้ืน และอุณหภูมิ ได้จากหน้าเว็บท่ีรองรับได้ทัง้ ส่วนติดต่อผู้ใช้ มีการทา Data synchronization เช่ือมต่อข้อมูลระหว่าง คอมพวิ เตอร์ และอุปกรณ์เคลอ่ื นท่ี เช่น โทรศพั ทม์ อื ถอื เป็นตน้ Database ภายในและขอ้ มูลทจ่ี ดั เกบ็ บนพ้ืนท่เี ก็บขอ้ มูลแบบออนไลน์ มี Water controller อย่บู นฝัง่ ของ Server ทาหน้าทส่ี งั่ การโมดูลควบคมุ โดย รปู ท่ี 1. สถาปัตยกรรมของระบบ มี JSON Parser เป็นกระบวนการช่วยให้จดั การกบั ขอ้ มูลฝัง่ Server ได้ โดยรูปแบบคาสงั่ แบบ ParseObject ในการส่งข้อมูลค่าเซ็นเซอร์ จาก 3.2.2 กำรออกแบบสถำปัตยกรรมฮำรด์ แวร์ Water sensor ทาให้จัดการ กับข้อ มูล ไ ด้ง่าย แล ะ 4) Module front อุปกรณ์ทใ่ี ชเ้ ป็นส่วนประกอบในระบบ ไดแ้ ก่ manager ชว่ ยการออกแบบและสรา้ ง User interface ในสว่ นของ Frontend 1) NodeMCU ESP8266ใชเ้ ป็น Microcontroller 2) Solenoid valve (12VX) ใชเ้ ป็นวาลว์ เปิดปิดน้า รปู ท่ี 3. สถาปัตยกรรมซอฟตแ์ วร์ 3) DHT11 Temperature and relative humidity sensor module ใชบ้ นั ทกึ ความชน้ื ในอากาศ 4) Soil moisture sensor ใชบ้ นั ทกึ ความชน้ื ในดนิ 5) Relay 1 Channel ใชส้ งั่ เปิด-ปิดวาลว์ น้า ในการทางานมกี ารใช้ NodeMCU จานวน 3 ชุด ชดุ แรกใชใ้ น การ ควบคุม Relay เพ่ือเปิด-ปิดวาล์ว โดยทาการดึงข้อมูลจาก Firebase จากนั้นเม่ือ NodeMCU สัง่ ให้ Relay ทางาน NodeMCU จะอัพโหลด สถานะการทางานไปเก็บใว้ท่ี Firebase NodeMCU ตัวท่สี องใช้ในการ ควบคุมเซ็นเซอร์ โดยรบั ค่าจากเซ็นเซอร์แล้วทาการอัพโหลดเก็บใว้ท่ี Firebase และ NodeMCU ชดุ สุดทา้ ยใชใ้ นการควบคุมการทางานของ Soil moisture sensor แล้วอพั โหลดเก็บใว้ท่ี Firebase ส่วนสุดทา้ ยหน้า User interface ทาหน้าทร่ี บั คาสงั่ จากผใู้ ช้ โดยผู้ใช้ป้อนเงอ่ื นไขการทางานและ การตงั้ คา่ กาหนดการต่างๆ เพอ่ื ใชใ้ นการสงั่ ให้ NodeMCU แต่ละชดุ ทางาน ตามเงอ่ื นไขทต่ี งั้ ไวใ้ นส่วนดงั กล่าว [5] 221

การประชมุ วชิ าการระดับชาตดิ า้ นเทคโนโลยสี ารสนเทศ ครัง้ ที่ 11 (NCIT2019) 3.2.4 กำรออกแบบกำรจดั เกบ็ ขอ้ มลู รปู ท่ี 5. หน้าจอกาหนดเงอ่ื นไขการรดน้า ในการจดั เกบ็ ขอ้ มูลผู้พฒั นาได้ใช้วธิ กี ารจดั เก็บใว้บนบริการ 3) หน้าจอเปิด-ปิดน้าแบบทนั ที เป็นหน้าจอทใ่ี ชใ้ นการสงั่ เปิดหรอื Cloud ของ Google Firebase [6] ซ่ึงเป็ นการจัดเก็บในรูปแบบ JSON ปิดน้าโดยจะเปิดปิดน้าทนั ทเี มอ่ื สงั่ การ โดยจะแยกเป็นพน้ื ทต่ี ่างๆ ในกรณี (JavaScript Object Notation) โดยมที งั้ หมด 4 โครงสรา้ งดงั ด่อไปน้ี ท่ผี ู้ใช้สงั่ เปิดน้าแต่ไม่ได้ปิดน้าระบบจะทาการปิดน้าให้อตั โนมตั ิเม่อื ค่า ความชน้ื ไดต้ ามทก่ี าหนดในค่าความชน้ื สูงสุดเพ่อื ป้องกนั ปัญหาการลมื ปิด 1) โครงสรา้ ง Conditions เป็นโครงสรา้ งท่จี ดั เกบ็ เงอ่ื นไขท่ใี ช้ น้าของผใู้ ช้ เป็นการป้องกนั ไมใ่ หต้ น้ ไมไ้ ดร้ บั น้ามากเกนิ ไป สงั่ ควบคุมการเปิด-ปิดการรดน้า 2) โครงสรา้ ง SensorValue เป็นโครงสร้างทเ่ี ก็บค่าท่ไี ด้จาก เซ็นเซอร์เพ่อื ใช้ในการตรวจสอบ สภาพแวดล้อมปัจจยั ท่ี สง่ ผลต่อพชื โดยจะรบั คา่ มาเป็นชุดๆ ในแต่ละครงั้ 3) โครงสรา้ ง Detail เป็นโครงสรา้ งทใ่ี ชเ้ กบ็ ชอ่ื ของโซนพน้ื ทซ่ี ง่ึ มี 3 พ้นื ท่ี โดยแบ่งโครงสรา้ งย่อย ออกเป็นสามโครงสร้าง ประกอบด้วย zone1, zone2 และ zone3 ภายในมตี ัวแปร name ทาหน้าทจ่ี ดั เกบ็ ชอ่ื โซนพน้ื ทข่ี องแต่ละโซน 4) โครงสรา้ ง status เป็นโครงสรา้ งทใ่ี ชเ้ กบ็ สถานะการเปิด-ปิด การรดน้าในแต่ละโซน ภายในมตี วั แปรคอื zone1, zone2 และ zone3 สาหรบั ใชเ้ กบ็ สถานะ 3.2.5 กำรออกแบบหน้ำจอเอำทพ์ ุต ผู้พัฒนาได้ออกแบบแยกหน้าจอออกเป็นเมนู ได้แก่ การ ตรวจสอบสภาพแวดลอ้ ม การกาหนดเงอ่ื นไขการรดน้า การเปิดปิดน้าแบบ ทนั ที ขอ้ มลู พน้ื ท่ี ขอ้ มลู สภาพแวดลอ้ ม และ การเปิดปิดระบบแจง้ เตอื น 1) หน้าจอตรวจสอบสภาพสง่ิ แวดลอ้ ม รูปท่ี 4 เป็นหน้าจอแสดง การทางานในภาพรวมของระบบ เช่น สถานะความชน้ื และอุณหภมู ภิ ายใน โรงเพาะชา สถานะการเปิด-ปิดน้าแต่ละพน้ื ทภ่ี ายในโรงเพาะชา เป็นตน้ รปู ท่ี 6. หน้าจอควบคุมการเปิด-ปิดน้าแบบทนั ที รปู ท่ี 4. หน้าจอแสดงสถานะการทางานภาพรวมของระบบ 4) หน้าจอแสดงรายละเอยี ดในพน้ื ทข่ี องโรงเพาะชา เป็นหน้าจอท่ี อธบิ ายรายละเอยี ดขอ้ มลู ต่างๆ ในพน้ื ทข่ี องโรงเพาะชา เช่น ช่อื พน้ื ท่ี และ 2) หน้าจอกาหนดเง่อื นไขการรดน้า ในรูปท่ี 5 เป็นหน้าจอการ อุปกรณ์ทต่ี ดิ ตงั้ ในพน้ื ทน่ี นั้ เป็นตน้ กาหนดเงอ่ื นไขการทางานของระบบ ผูใ้ ช้สามารถเขา้ มาตงั้ เง่อื นไขการ ทางานของระบบในแต่ละพน้ื ท่ี โดยผใู้ ชจ้ ะตอ้ งระบุขอ้ มูลคา่ ความชน้ื ต่าสดุ และค่าความช้นื สูงสุดเพ่อื ใหร้ ะบบทางาน และผใู้ ชส้ ามารถเลอื กเวลาหรอื เพมิ่ เวลาในการรดน้าได้ 222

การประชมุ วชิ าการระดับชาติดา้ นเทคโนโลยีสารสนเทศ ครัง้ ท่ี 11 (NCIT2019) รปู ท่ี 7. หน้าจอแสดงรายละเอยี ดในพน้ื ทภ่ี ายในโรงเพาะชา 5) หน้าจอขอ้ มลู สภาพแวดลอ้ ม เป็นหน้าจอแสดงสภาพแวดลอ้ ม รปู ท่ี 10. หน้าจอตวั อยา่ งการแจง้ เตอื น ภายในโรงเพาะชา เช่น ค่าอุณหภมู ิ ค่าความช้นื ในอากาศ ค่าความช้นื ใน ดนิ สามารถดไู ดท้ งั้ คา่ ปัจจุบนั และค่ายอ้ นหลงั ตามตวั อยา่ งในรปู ท่ี 8 รปู ท่ี 8. หน้าจอแสดงสภาพแวดลอ้ มภายในโรงเพาะชา 3.3 กำรพฒั นำระบบ การพฒั นาระบบ ผู้วจิ ยั ได้เลือกใช้เคร่อื งมอื ในการพฒั นา Web 6) หน้าจอเปิด-ปิดการแจ้งเตือน เป็นหน้าจอท่ใี ช้ตงั้ ค่าการแจง้ เตอื นการทางานของระบบตามตวั อย่างรปู ท่ี 9 application คือ Apache 2.4 เพ่ือจาลอง Web hosting ของเว็บไซต์ ใช้ Atom เป็นโปรแกรม Text Editor ในการพฒั นาระบบ และใชภ้ าษา PHP 5, HTML 5, Javascript, และ Bootstrap 3 ในการเขยี นโปรแกรมควบคุม และ ใชบ้ รกิ าร Line Notify เพอ่ื ใชส้ ่งการแจง้ เตอื นไปยงั ผใู้ ชง้ าน ฮารด์ แวรท์ ใ่ี ชค้ อื บอรด์ ESP8266 NodeMCU 1.0 โดยตวั บอรด์ จ ะ ต้ อ ง ติ ด ตั้ง NodeMCU (Version 1 ) ESP-1 2 WIFI Networking development board (ESP8266) ในการสงั่ การและควบคมุ Relay module 5V 1 Channel isolation control Relay module shield 250V/10A จานวน 3 ชุด โดยแต่ละชุด จะทาหน้าทใ่ี นการ เปิด/ปิด Solenoid value 12V-DC for water air flow switch 0.5 ZE-4F180 จานวน 3 ชุด และใช้ NodeMCU อกี 2 ชุดในการรบั ขอ้ มลู จาก Sensor ซ่งึ ขอ้ มลู จะมาจาก DHT11 Digital temperature and humidity sensor แบบ PCB (1 ชุด ) Soil (Moisture) sensor (1 ชุด) และ G3/4 Water flow sensor (1 ชุด) และนาขอ้ มลู ทงั้ หมด ท่ีได้จาก Sensor อัพโหลดข้ึน Firebase database ซ่ึงเป็ นบริการของ Google ทใ่ี ชใ้ นการจดั เกบ็ ขอ้ มลู รปู ท่ี 9. หน้าจอการเปิด-ปิดการแจง้ เตอื น 4. ผลการวจิ ยั การพฒั นาระบบควบคุมการรดน้าอจั ฉรยิ ะ กรณศี กึ ษาโรงเพาะชา 7) หน้าจอแจ้งเตอื น เป็นการแจ้งเตอื นการทางานระบบผ่านทาง อุทยานพฤกษศาสตร์ มหาวทิ ยาลยั วลยั ลกั ษณ์ ไดด้ าเนนิ การแลว้ เสรจ็ โดย บรกิ าร LINE Notify โดยจะทาการแจง้ เตอื นเมอ่ื มกี ารเปิด-ปิดน้าภายในโรง สามารถทาการตดิ ตงั้ เพ่อื ทดสอบการทางานของระบบและอุปกรณ์ ตดิ ตงั้ เพาะชา อุปกรณ์เซ็นเซอร์ตรวจวดั อุณหภูมิ และเซ็นเซอร์ตรวจวดั ความช้นื ในดนิ ระบบทาการจดั เกบ็ ขอ้ มลู จากเซน็ เซอร์ และนาขอ้ มลู มาแสดงผลในรปู แบบ ของกราฟผ่านเวบ็ แอปพลเิ คชนั เพ่อื ให้ง่ายต่อการเรยี กดูและการใชง้ าน ระบบสามารถควบคุมและสัง่ การผ่านเว็บแอปพลิเคชัน โดยในระบบ สามารถสงั่ การได้ 2 รูปแบบ คอื รูปแบบท่ี 1 เป็นการสงั่ การรดน้าแบบ เปิด/ปิด ปกตโิ ดยไมม่ กี ารตงั้ คา่ ใดๆในการทา้ งาน และรปู แบบท่ี 2 เป็นการ สงั่ การรดน้าโดยผใู้ ชจ้ ะตอ้ งตงั้ คา่ การใชง้ าน ผวู้ จิ ยั ไดใ้ ชก้ ารทดสอบ 2 แบบ คอื Unit test และ Functional test เพอ่ื ทาการทดสอบการทางานของระบบรดน้าอตั โนมตั ิ ว่าสามารถใชง้ าน 223

การประชมุ วชิ าการระดับชาติด้านเทคโนโลยสี ารสนเทศ ครั้งท่ี 11 (NCIT2019) ได้ตามวตั ถุประสงค์ท่ีต้องการไดท้ ุกส่วน โดยทาการทดสอบการทางาน หน้าจอตรวจสอบสภาพแวดลอ้ ม การกาหนดเงอ่ื นไขการรดน้า การทางาน หน้าจอควบคุม เปิด/ ปิด แบบทนั ที การทางานหน้าจอขอ้ มลู พ้นื ท่ี ขอ้ มลู สภาพแวดล้อม และ การทางานของหน้าจอเปิด-ปิดระบบแจ้งเตือน ซ่งึ ทดสอบผ่านทุกกรณี พบว่าระบบมคี วามพร้อมสาหรบั การนาใช้งานใน สถานทจ่ี รงิ 5. สรุปและอภปิ รายผล ระบบควบคุมการรดน้าอจั ฉรยิ ะไดถ้ ูกพฒั นาขน้ึ มาและสามารถใช้ งานได้ตามวตั ถุประสงค์ คอื สามารถอานวยความสะดวกในการรดน้า ต้นไมโ้ ดยสงั่ งานไดท้ งั้ การทางานผ่านเว็บและมอื ถือ สามารถตรวจสอบ สภาพแวดลอ้ ม เช่น ค่าเปอร์เซน็ ความชน้ื ในอากาศ ค่าเปอรเ์ ซน็ ความชน้ี ในดนิ และค่าอุณหภูมภิ ายในโรงเพาะชา ได้ตลอดเวลา และ เจ้าหน้าท่ี สามารถตัง้ เวลา กาหนดปรมิ าณน้าท่ใี ช้ด้วยตนเองหรอื ตัง้ ค่าให้ระบบ ทางานอตั โนมตั ิ ขอ้ เสนอแนะในการนาไปใชป้ ระโยชน์ต่อไปคอื ควรมกี ารขยายผล ใหต้ ดิ ตงั้ ระบบและดาเนินการวดั ปรมิ าณการใชน้ ้าเพอ่ื ให้เหน็ สภาพการณ์ การใชน้ ้าของโรงเพาะชาในภาพรวม เพอ่ื นาไปวางแผนในการปลกู ต้นไม้ และควบคมุ การรดน้าตน้ ไมไ้ ดอ้ ยา่ งมปี ระสทิ ธภิ าพต่อไป กิตติกรรมประกาศ ข อ ข อ บคุ ณ ผู้บริหารและเจ้าหน้าท่ีอุทยานพฤษศาสตร์ มหาวทิ ยาลยั วลยั ลกั ษณ์ ทใ่ี หค้ วามอนุเคราะหข์ อ้ มลู ทน่ี ามาวเิ คราะห์ ให้ ความเหน็ และขอ้ แนะนาทน่ี ามาใชใ้ นการปรบั ปรงุ ระบบใหท้ างานไดอ้ ย่างมี ประสทิ ธภิ าพ เอกสารอ้างอิง [1] S. K. Nagothu, “Weather based Smart watering system using soil sensor and GSM” , 2016 World Conference on Futuristic Trends in Research and Innovation for Social Welfare (Startup Conclave 2016) Coimbatore, India, 2016 [2] B. S. Chowdhury & N. Raghukiran, “Autonomous Sprinkler System with Internet of Things”, International Journal of Applied Engineering Research ISSN 0973-4562 Volume 12, Number 16 (2017) pp. 5430- 5432 [3] นราธิป ทองปาน และ ธนาพัฒน์ เท่ยี งภักดิ,์ “ ระบบรดน้าอตั โนมตั ิผ่าน เครอื ขา่ ยเซน็ เซอรไ์ รส้ าย”, The 2nd National Conference on Technology and Innovation Management NCTIM 2016, Rajabhat Maha Sarakham University, Maha Sarakham, Thailand, 2016 [4] พฒั นะ อนิ ทรเ์ พชร ดนุภทั ร โกนสร้าง และขนิษฐา ดสี ุบนิ , “การพฒั นา ระบบเคร่ืองรดน้าต้นไม้บนระบบ Web browser”, การประชุมวิชาการ ระดับชาติ การเรียนรู้เชิงรุกครัง้ ท่ี 6 , มหาวิทยาลัยวลัยลักษณ์ , นครศรธี รรมราช, 2561 [5] RoboticsZa. 2558. “มาเริ่มต้นกนั กับ NodeMcu v.2 ตอนท่ี 4 web server กั บ ก า ร ค ว บ คุ ม relay” [อ อ น ไ ล น์ ] . สื บ ค้ น จ า ก : https://robotics- za.blogspot.com/2015/06/nodemcu-v2-4-web-server-relay.html (1 มถิ ุนายน 2562) [6] Firebase. 2560. “ Firebase Hosting” [อ อ น ไ ล น์ ] . สื บ ค้ น จ า ก : https://firebase.google.com/docs/hosting/ (1 มถิ ุนายน 2562) 224

การประชุมวิชาการระดบั ชาติดา้ นเทคโนโลยสี ารสนเทศ คร้ังที่ 11 (NCIT2019) กลยทุ ธก์ ารป้องกนั พอรต์ การลงทุนด้วยวิธีตงั้ จดุ ตดั ขาดทุนโดยเทคนิคการ เรียนรขู้ องเคร่อื ง Preventing Portfolio Losses by Machine Learning Stop-Loss ธนพฒั น์ คำใสอนิ ทร์ ธนภทั ร ฆงั คะจติ ร Tanapat Kamsaiin Thanapat Kangkachit มหาวทิ ยาลยั ธรุ กจิ บณั ฑติ ย/์ สาขาวศิ วกรรมขอ้ มลู ขนาดใหญ่ มหาวทิ ยาลยั ธุรกจิ บณั ฑติ ย/์ สาขาวศิ วกรรมขอ้ มลู ขนาดใหญ่ Dhurakij Pundit University/ Dhurakij Pundit University/ Big Data Engineering Big Data Engineering กรุงเทพมหำนคร กรงุ เทพมหำนคร Bangkok / Thailand Bangkok / Thailand [email protected] [email protected] บทคดั ยอ่ — การตงั้ จดุ ตดั ขาดทนุ เป็นวิธีสาคญั ท่ีใช้ป้องกนั การ standard deviation of return log loss. XGBoost technique is then applied to construct an effective stop-loss prediction model. เสียหายของพอรต์ การลงทุนจากกลยทุ ธ์ทากาไรหลกั ได้ จากหลาย Experimental results are performed on SET50 data. During the crisis period (year 2008 to 2009), our model yeilds better 10 งานวิจยั ก่อนหน้าได้นาเสนอวิธีการตงั้ จดุ ตดั ขาดทุนดว้ ยวิธีกาหนด percent drawdown than the performance of stock market. Indeed, our model ain't hindering profitability during the uptrend period. จดุ ตดั ขาดทุนแบบกาหนดเปอเซนตเ์ ฉพาะ และการกาหนดแบบปรบั Keywords — Stop-Loss, XGBoost Model, Drawdown, SET50 ตามสภาพตลาด แต่ยงั ไม่มีการกาหนดแบบใดท่ีสามารถป้องกนั Index, Sharp’s Ratio พอรต์ การลงทนุ เมื่อเกิดภาวะวิกฤตหรอื ปกป้องการขาดทุนในระยะ 1. บทนำ นกั ลงทนุ หรอื สถำบนั กำรลงทุนต่ำงลว้ นมเี ป้ำหมำยกำรลงทุนเดยี วกนั ยาวได้ งานวิจยั นี้ไดป้ ระยกุ ต์ใช้เทคนิค XGBoost Model ในการ คอื กำรมองหำผลตอบแทนคำดหวงั โดยทไ่ี ดร้ บั ควำมเสย่ี งหรอื ควำม เสยี หำยต่อพอรต์ กำรลงทนุ นอ้ ยทส่ี ุด ในปัจจุบนั กำรตดั สนิ ใจหำจุดตดั เรียนรกู้ ารตงั้ จดุ ตดั ขาดทุนผา่ นเคร่อื งบง่ ชี้ทางสถิติและเครื่องบง่ ชี้ ขำดทนุ บนขอ้ มลู มหำศำลยงั เป็นไปไดย้ ำกทจ่ี ะหำขอ้ มลู ทม่ี คี วำมสำคญั ต่อ กำรตดั สนิ ใจและไดผ้ ลตำมทต่ี อ้ งกำร เป็นทท่ี รำบแลว้ ว่ำ หลำยปีทผ่ี ่ำนมำ ทางเทคนิ ค โดยนาเข้าโมเดลเพ่อื พิจารณาหาจดุ ตดั ขาดทนุ ที่ กลยทุ ธก์ ำรลงทนุ ไดถ้ ูกพฒั นำไปอยำ่ งกำ้ วหน้ำ รวมไปถงึ กำรตงั้ จุดตดั ขำดทุนเพอ่ื ลดควำมเสยี หำยของพอรต์ กำรลงทนุ และเพมิ่ ประสทิ ธภิ ำพ เหมาะสม นามาซึ่งการขาดทนุ ที่ลดลงและผลตอบแทนที่ดีขนึ้ ให้กบั กำรทำกำไร ซง่ึ วธิ ที ถ่ี กู นำไปใชอ้ ย่ำงแพร่หลำยเป็นอย่ำงมำกคอื วธิ กี ำหนด เป็นสดั สว่ นของรำคำ[1] และทดสอบกบั กลยทุ ธ์ Buy and Hold เพอ่ื วดั ผล พอรต์ การลงทุนโดยรวม จากผลการทดลองบนข้อมลู SET50 พบว่า หรอื กำรนำคำ่ กำรกระจำยตวั ตำมหลกั สถติ แิ ละคำ่ Volatility มำประยกุ ตใ์ ช้ [2] ซง่ึ ใหค้ วำมแมน่ ยำทค่ี อ่ นขำ้ งต่ำในกำรหำจุดตดั ขำดทุน จำกงำนวจิ ยั การทดสอบด้วยเทคนิ ค XGBoost Model มีค่า Drawdown ท่ีดีกว่า ขำ้ งตน้ มกี ำรใชต้ วั แปรประกอบกำรตดั สนิ ใจเพม่ิ ขน้ึ อย่ำงมำก จงึ มหี ลำย งำนวจิ ยั ทน่ี ำเทคนิคกำรเรยี นรขู้ องเครอ่ื ง (Machine Learning) มำ ดชั นี SET50 ในช่วงตลาดเกิดวิกฤตปี 2008 ถึงปี 2009 ท่ีรอ้ ยละ 10 ประยุกต์ใชท้ ำนำยจุดตดั ขำดทุนของระบบ ไดแ้ ก่กำรนำทฤษฎี Random walk มำใช้ [3] และกำรใชส้ ว่ นเบย่ี งเบนมำตรฐำน (Standard deviation) ในขณะท่ีไมไ่ ดข้ ดั ขวางการทากาไรในช่วงเวลาท่ีตลาดหลกั ทรพั ยอ์ ยู่ ของตวั แปรจำกชุดขอ้ มลู ทส่ี รำ้ งดว้ ยทฤษฎี Random walk มำใชใ้ นกำร กำหนดกลยทุ ธ์ [4] ซง่ึ พบว่ำกำรหำจุดตดั ขำดทนุ ทไ่ี ดม้ ปี ระสทิ ธภิ ำพไมด่ ี ในช่วงขาขนึ้ อีกดว้ ย นกั คำสำคญั — กำรตดั ขำดทุน, กำรเรียนร้แู บบกลมุ่ , คำ่ กำร ขำดทุนต่อเนือ่ งสงู สดุ , ดชั นี SET50, Sharp’s Ratio ABSTRACT — The stop-loss is a crucial component of the powerful investment strategies as the same as gaining profits from stock market. Many previous works have proposed static stop-loss points either specified percentage or based on market conditions. However, the portfolios still be able to suffer from financial crisis and long-term losses. In this work, stop-losses are defined through three factors which are the ATR (average true range) technical indicator along with the statisticl risk measurements which are maximum adverse excursion (MAE) and 225

การประชุมวิชาการระดบั ชาติด้านเทคโนโลยีสารสนเทศ คร้ังที่ 11 (NCIT2019) ในงำนวจิ ยั น้จี งึ ไดน้ ำเสนอกำรหำจุดตดั ขำดทุนในอนำคตโดยใชต้ วั และ Stopping ratio คอื อตั รำสว่ นควำมน่ำจะเป็นของ Stopping แปรขอ้ มลู เครอ่ื งบ่งชท้ี ำงเทคนิค ATR (Average True Range Indicators) premium และค่ำ Stopping ทไ่ี ด้ รว่ มกบั ตวั แปรขอ้ มลู ทใ่ี ชใ้ นงำนวจิ ยั ดำ้ นควำมเสย่ี งซง่ึ ไดแ้ ก่คำ่ MAE (Maximum Adverse Excursion) ทบ่ี ่งบอกถงึ ควำมเสย่ี งสงู สุดจำกกำรเขำ้ กำรเปรยี บเทยี บกลยทุ ธ(์ Benchmark) จำกกำรศกึ ษำงำนวจิ ยั พบว่ำกล ซอ้ื ในแต่ละครงั้ ร่วมกบั คำ่ เบย่ี งเบนมำตรฐำนของผลตอบแทนทต่ี ดิ ลบ ยุทธท์ ถ่ี กู นำมำใชใ้ นกำรวดั ผลคอื Buy and Hold Strategy[1] ผวู้ จิ ยั ไดน้ ำ เทำ่ นนั้ เพอ่ื เป็นตวั แปรอนิ พุตใหก้ บั แบบจำลองทส่ี รำ้ งโดยอลั กอรทิ มึ กลยุทธ์ Buy and Hold มำใชใ้ นกำรพจิ ำรณำเปรยี บเทยี บกบั งำนวจิ ยั ทไ่ี ด้ XGBoost Model [6] ทำกำรศกึ ษำโดยใชข้ อ้ มลู SET50 มำทำกำรเปรยี บเทยี บ ผวู้ จิ ยั ไดท้ ดสอบกบั ขอ้ มลู ตลำดซ้อื ขำยสญั ญำล่วงหน้ำแห่งประเทศ เทคนิค XGBoost Model[6] พฒั นำมำจำก Gradient Boosting[2] โดย ไทย (TFEX) โดยนำค่ำทำงสถติ ,ิ คำ่ Technical Indicators ตำมระยะเวลำ เป็น Ensemble Learning Method ซง่ึ เป็นกำรเรยี นรแู้ บบ Multiple- ยอ้ นหลงั ทก่ี ำหนด เพอ่ื นำมำเป็นตวั แปรใหก้ บั XGBoost Model ในกำร learners โดยแบ่งวธิ กี ำรเรยี นรู้ 3 วธิ ี ดงั ภำพ ทำนำยจดุ stop-loss ในอนำคต ซง่ึ เทยี บกบั กลยุทธ์ Buy and Hold งำนวจิ ยั จะใชว้ ธิ เี ขำ้ ซ้อื ทุกตน้ เดอื น ระหวำ่ งชว่ งกำรถอื สนิ ทรพั ยจ์ ะใชค้ ำ่ stop-loss ทท่ี ำนำยจำกโมเดลเพอ่ื นำมำปรบั ใชแ้ ละวดั ผลเปรยี บเทยี บ และ นำผลทท่ี ดสอบไดม้ ำทดสอบระดบั ควำมมนี ยั สำคญั ทำงสถติ อิ กี ครงั้ หน่งึ ผลกำรศกึ ษำพบว่ำกำรใชร้ ะบบ stop-loss ดว้ ย XGBoost Model จะให้ ผลตอบแทนเทำ่ กบั รอ้ ยละ 1.61 ซง่ึ มำกกว่ำกำรลงทุนในตลำดซ้อื ขำย สญั ญำลว่ งหน้ำแห่งประเทศไทยดว้ ยกลยุทธ์ Buy and Hold ทใ่ี ห้ ผลตอบแทนรอ้ ยละ 1.40 ทงั้ น้ีทงั้ นนั้ กำรใชจ้ ดุ ตดั ขำดทนุ ไมส่ ำมำรถยนื ยนั ไดว้ ำ่ จะทำใหไ้ ด้ ผลตอบแทนทค่ี ำดหวงั เสมอไป โดยอำจทำใหผ้ ลตอบแทนโดยรวมของกล ยทุ ธล์ ดลงตำมไปดว้ ย ผวู้ จิ ยั ไดย้ กตวั อย่ำงไวใ้ นสว่ นสรุป โดยเปรยี บเทยี บ ประโยชน์ของกำรมจี ดุ ตดั ขำดทุนแต่ละประเภทตำมผลทดสอบแลว้ 2. วรรณกรรมทเ่ี กย่ี วขอ้ ง รปู ท่ี 2. แสดงภำพกำรทำงำนของกำรเรยี นรแู้ บบ Ensemble งำนวจิ ยั ทน่ี ำเสนอกำรแกป้ ัญหำสำหรบั กำรกำหนดจุดตดั ขำดทนุ ดว้ ย Learning method เทคนคิ ในปัจจุบนั มกี ำรวจิ ยั ดว้ ยวธิ กี ำรกำหนดจำกกำรกระจำยตวั ของคำ่ แหล่งทม่ี ำ: (https://quantdare.com/what-is-the-difference-between- ควำมผนั ผวน [3] โดยนำทฤษฎี Random Walk มำใชใ้ นกำรสรำ้ งรำคำและ bagging-and-boosting/) กำหนดจดุ ตดั ขำดทนุ อยใู่ นกรอบ -5% ต่อปี และมกี ำรเกบ็ ขอ้ มลู ควำมถ่ี ดำ้ นระยะเวลำเป็นตวั เปรยี บเทยี บผลตอบแทนทเ่ี กดิ ขน้ึ รปู ท่ี 1. แสดงผลกำรตงั้ จุดตดั ขำดทุนดว้ ยควำมผนั ผวนท่ี จำกกำรศกึ ษำงำนวจิ ยั ทเ่ี กย่ี วขอ้ ง พบวำ่ กำรกำหนดจุดตดั ขำดทุนทม่ี ี สมั พนั ธก์ บั ผลตอบแทนรำยวนั ประสทิ ธภิ ำพยงั ไมส่ ำมำรถกำหนดไดว้ ำ่ ควรใชต้ วั แปรใดกำหนด ซง่ึ แต่ละ วธิ ตี ่ำงมขี อ้ ดขี อ้ เสยี งำนวจิ ยั ชน้ิ น้จี งึ เลอื กใช้ XGBoost Model[6] มำ งำนวจิ ยั ทน่ี ำคำ่ Standard Deviation มำเพอ่ื ใชเ้ ป็นตวั แปรประกอบกำรตงั้ ประยุกตต์ ่อยอดโดยงำนวจิ ยั ชน้ิ น้จี ะนำมำใชใ้ นกำรเรยี นรเู้ พอ่ื หำจุดตดั จดุ ตดั ขำดทนุ [4] โดยนำคำ่ Mean, Stand Deviation, Variance จำกกำร ขำดทนุ เพอ่ื เพม่ิ ควำมแมน่ ยำและผลตอบแทนต่อควำมเสย่ี งทม่ี ี สรำ้ งชดุ ขอ้ มลู ดว้ ยทฤษฎี Random-Walk กำหนดเป็น 3 กลยทุ ธ์ ไดแ้ ก่ ประสทิ ธภิ ำพมำกขน้ึ Momentum, Mean-reversion และ Regime-Switching Models งำนวจิ ยั ไดก้ ำหนด Stopping premium เป็น Stop-loss policy โดยหำ 3. วธิ กี ำรดำเนนิ กำรวจิ ยั ควำมต่ำงระหวำ่ ง Stop-loss policy S และ Stop-loss policy P งำนวจิ ยั ชน้ิ น้นี ำเสนอเทคนคิ กำรกำหนดจดุ ตดั ขำดทุน ดว้ ยขนั้ ตอน ดงั น้ี 226

การประชุมวชิ าการระดบั ชาตดิ ้านเทคโนโลยสี ารสนเทศ ครัง้ ที่ 11 (NCIT2019) 30 วนั และ 90 วนั โดยไดท้ ำกำรทดสอบดว้ ยวธิ ซี ้อื ทกุ ตน้ เดอื น และขำย ออกตำมกำหนดวนั เป็น 5 ชว่ งเวลำไดแ้ ก่ 10, 30, 60, 90 และ 120 วนั พบว่ำจำนวนวนั ทเ่ี ปลย่ี นแปลงจะมกี ำรกระจำยตวั ของผลตอบแทนท่ี ต่ำงกนั จำกผลทดลองทงั้ หมดจะสง่ ผลใหข้ อ้ มลู กำรเรยี นรู้ (Train set) เปลย่ี นแปลงไปดว้ ย ดงั ตำรำงดำ้ นล่ำง รปู ท่ี 3. แสดงภำพรวมกำรทำงำนของระบบ รปู ท่ี 5. ตวั อยำ่ งกำรกระจำยตวั ของผลตอบแทนดว้ ยกำรขำยทกุ 10 วนั และ 90 วนั 3.1 วธิ กี ารเกบ็ รวบรวมขอ้ มลู ทำกำรซ้อื ขอ้ มลู รำคำสญั ญำซ้อื ขำยล่วงหน้ำจำกเวบ็ ไซต์ 3.4.2 สรา้ งขอ้ มลู เครอื่ งบง่ ชท้ี างเทคนิค (Indicators Data) www.siamquant.com โดยขอ้ มลู เป็นประเภทกำรแบ่งดว้ ยเครอ่ื งหมำย ผวู้ จิ ยั ไดใ้ ชข้ อ้ มลู ดชั นีชว้ี ดั ทำงเทคนิคดำ้ นควำมผนั ผวน Volatility เป็นหน่งึ คอมมำ่ (.CSV) ครอบคลมุ ระยะเวลำตงั้ แต่ มกรำคม 2007 ถงึ ธนั วำคม ในปัจจยั สำคญั ในกำรศกึ ษำหำประสทิ ธภิ ำพกำรพยำกรณ์และผลตอบแทน 2018 กำรลงทุน โดยคำนวณค่ำ ATR (Average True Range Indicators) ในกำร คำนวณค่ำดชั นีชว้ี ดั น้นี ยิ มคำนวณจำกขอ้ มลู ยอ้ นหลงั 14 วนั นบั จำกวนั 3.2 การเตรยี มขอ้ มลู (Data Preparation) ปัจจุบนั ขอ้ มลู ทไ่ี ดจ้ ำก www.siamquant.com เป็นขอ้ มลู ระดบั รำย Tick คอื เป็น ขอ้ มลู ทเ่ี กดิ ขน้ึ เมอ่ื มกี ำรซ้อื ขำยจรงิ ซง่ึ ทำใหก้ ำรคำนวณ Indicators ทำได้ TR=Max[(H − L),Abs(H − Cp),Abs(L − Cp)] ยำก เน่อื งจำกตอ้ งใชร้ ำคำยอ้ นหลงั ในกำรคำนวณ จงึ ไดท้ ำกำรรวบรวม ขอ้ มลู เขำ้ สรู่ ะดบั รำยวนั โดยกำรรวมปรมิ ำณกำรซ้อื ขำย กำรนำรำคำเปิด, ATR=(1/n)∑ TRi รำคำปิด, รำคำสงู สุด และรำคำต่ำสดุ แต่ละวนั มำทำกำรสรำ้ งขอ้ มลู ระดบั รำยวนั คำนวณผลตอบแทนรำยวนั จำกรำคำปิดวนั ก่อนหน้ำ และทำกำร where: TRi =A particular true range แบง่ ขอ้ มลู ตงั้ แต่ %มกรำคำ 2007 ถงึ ธนั วำคม 2014 รวมเป็นระยะเวลำ 8 n=The time period employed ปี เพอ่ื เป็นชุดขอ้ มลู สอน (Train set) และขอ้ มลู ตงั้ แต่ มกรำคม 2015 ถงึ ธนั วำคม 2018 รวมเป็นระยะเวลำ 4 ปี เป็นชุดขอ้ มลู ทดสอบ (Test set) นอกจำกน้ผี วู้ จิ ยั ไดพ้ บวำ่ จำกงำนวจิ ยั ดำ้ นควำมเสย่ี งกำรลงทุน มี งำนวจิ ยั ทน่ี ำเสนอกำรนำค่ำตวั เลขทำงสถติ มิ ำใชป้ ระกอบดว้ ย ซง่ึ ค่ำตวั เลข 3.3 สรา้ งผลเปรยี บเทยี บดว้ ยกลยทุ ธ์ Buy and Hold ทำงสถติ ทิ ผ่ี วู้ จิ ยั นำมำใช้ ประกอบดว้ ย (Benchmark) ● MAE (Maximum Adverse Excursion) คอื ค่ำทบ่ี อกถงึ ควำม ทำกำรทดสอบผลกำรซอ้ื ขำยสญั ญำซอ้ื ขำยลว่ งหน้ำ โดยกำหนดเขำ้ เสย่ี งสงู สุดทเ่ี กดิ ขน้ึ จำกกำรเขำ้ ซอ้ื แต่ละครงั้ โดยบง่ บอกถงึ ซ้อื วนั ท่ี 3 มกรำคม 2007 และทำกำรขำยออกในวนั ท่ี 28 ธนั วำคม 2014 Unrealize loss ทเ่ี กดิ ขน้ึ ในแต่ละครงั้ ของกำรซ้อื เพอ่ื นำมำเป็น เพอ่ื เป็นผลเปรยี บเทยี บกบั งำนวจิ ยั ตวั แปรทจ่ี ะใชป้ รบั ในกำรลด Maximum Drawdown ของ ภำพรวมพอรต์ กำรลงทุนได้ และไดใ้ ชค้ ำ่ MAE ใน 90 วนั ขำ้ งหน้ำเพอ่ื เป็น Label ใหก้ บั ขอ้ มลู กำรเรยี นรเู้ พอ่ื ใช้ เปรยี บเทยี บกำรทำนำยผล รปู ท่ี 4. แสดงผลตอบแทนของกำรลงทุนดว้ ยกลยุทธ์ Buy and Hold MAE = (LowestLow - EntryPrice)/EntryPrice ● Standard Deviation ค่ำกำรกระจำยตวั ของสว่ นเบย่ี งเบน มำตรฐำน ซง่ึ นำเฉพำะค่ำกำรกระจำยตวั ของฝัง่ ผลตอบแทนตดิ ลบมำใชค้ ำนวณดว้ ยวธิ ี Log Return โดยใชก้ ำรมองยอ้ นหลงั กลบั ไป 90 วนั และนำค่ำ Mean * (-2)std เพอ่ื นำมำใชป้ ระกอบ ขอ้ มลู กำรเรยี นรู้ 3.4 สรำ้ งขอ้ มลู เชงิ สถติ แิ ละทำกำรวคิ รำะหจ์ ำกขอ้ มลู ดบิ Return = ri = (Pi -Pj)/Pj 3.4.1 สรา้ งขอ้ มลู Holding period และหาช่วงวนั ทเี่ หมาะสม Log return = 1+ri = (Pi/Pj) = exp log(Pi/Pj) ผวู้ จิ ยั ไดน้ ำจำนวนวนั ทถ่ี อื (Holding days) เป็นตวั แปรในกำรวเิ ครำะห์ อำ้ งองิ ขอ้ สมมตฐิ ำนจำกชว่ งอำยุของสญั ญำซอ้ื ขำยล่วงหน้ำทแ่ี บง่ เป็นซรี ยี ์ 227


Like this book? You can publish your book online for free in a few minutes!
Create your own flipbook