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 SCGSMI

SCGSMI

Published by Panitan Poonkla, 2019-06-01 11:21:11

Description: Status and Control Generator System by Modbus IoT
proposal project

Keywords: Generator ,Modbus ,IoT,computer sci

Search

Read the Text Version

1 บทท่ี 1 บทนำ 1.1 ท่มี ำและควำมสำคญั ของปญั หำ ในปัจจุบันไฟฟ้ามีความสาคัญซึ่งมนุษย์ได้นามาใช้ประโยชน์หลายอย่าง เช่น ให้แสง สว่าง ความร้อน พลังงานกลซึ่งช่วยอานวยความสะดวกในการดาเนินชีวิตได้อย่างดี ไฟฟ้ามี ความสาคัญต่อการพัฒนาเศรษฐกิจ การผลิตท้ังทางภาคเกษตรกรรม ภาคอุตสาหกรรมการ ผลิต การก่อสร้าง ธุรกิจการค้า การสื่อสาร การขับเคลื่อนยานพาหนะเพื่อขนส่งต่าง ๆ จาก รายงานการใช้ไฟฟ้าของการไฟฟ้าฝ่ายผลิตแห่งประเทศไทย ในปี ( http://www.egat.co.th 2561) พบว่าความตอ้ งการไฟฟ้าของระบบสูงขึ้นตามลาดับ ดังนี้ ความต้องการไฟฟ้าของระบบ ปี พ.ศ. 2557 มีค่า 26,942.10 เมกะวัตต์ ปี พ.ศ. 2558 มีค่า 27,345.80 เมกะวัตต์ ปี พ.ศ. 2559 มีค่า 29,618.80 เมกะวัตต์ ปี พ.ศ. 2560 มีค่า 28,578 เมกะวัตต์ ปี พ.ศ. 2561 มีค่า 28,095.50 เมกะวตั ต์ ซึง่ พบว่าความตอ้ งการการใชพ้ ลังงานไฟฟ้าอยู่ในระดบั สงู มาก ไฟฟ้าเป็นพลังงานรูปหนึ่งซึ่งสามารถผลิตได้โดยใช้เคร่ืองกาเนิดไฟฟ้า (generator) ใน ปัจจุบันระบบไฟฟ้าที่ใช้ในประเทศไทยมีหน่วยงานหลักรับผิดชอบและจัดการเกี่ยวกับระบบ ไฟฟ้า คือ การไฟฟ้าฝ่ายผลิตแห่งประเทศไทย การไฟฟ้าส่วนภูมิภาค และการไฟฟ้านครหลวง นอกจากนี้ภาคเอกชนก็สามารถผลิตไฟฟ้าขึ้นมาใช้เองได้โดยใช้เคร่ืองกาเนิดไฟฟ้า การนา พลังงานไฟฟ้าจากเคร่ืองกาเนิดไฟฟ้ามาใช้งานต้องมีแรงดันไฟฟ้า ความถี่ไฟฟ้า เป็นไปตาม มาตรฐาน ท้ังนี้เพื่อทาให้เคร่ืองมือ เคร่ืองใช้ไฟฟ้าเคร่ืองจักรที่ใช้พลังงานไฟฟ้า ทางานได้ปกติ ตามวัตถุประสงค์ ในภาวะที่แรงดันไฟฟ้าไม่ปกติ เช่น แรงดันตกจะเป็นปัญหาของคุณภาพ กาลังไฟฟ้า โตศักดิ์ ทัศนานุตริยะ (2540) ซึ่งคุณภาพกาลังไฟฟ้าเป็นสิ่งสาคัญมากอย่างหนึ่ง หากเกิดแรงดันตก หรือความถี่ไฟฟ้าผิดจากปกติจะกระทบต่อบรรดาผู้ใช้ไฟฟ้าที่ประกอบการ อตุ สาหกรรมทั้งหลาย เนือ่ งจากอุปกรณ์ไฟฟ้าที่ใชใ้ นโรงงานอตุ สาหกรรมสมัยใหม่ เช่น ระบบใน กระบวนการควบคุม ระบบขับเคลื่อน ปรับความเร็ว หุ่นยนต์ เป็นต้น ต่างเป็นโหลดที่มีความไว ต่อแรงดันตกท้ังสิ้น หรือแม้นแต่รีเลย์ และหน้าสัมผัสที่ใช้ในชุดสตาร์ต มอเตอร์ก็มีความไวต่อ แรงดนั ตกเช่นกัน บุญญฤทธิ์ วังงอน และคณะ (2558) ได้ศึกษาผลกระทบของมอเตอร์เหนี่ยวนา เนื่องจากแรงดันไฟฟ้าไม่สมดุล พบว่ากรณีจ่ายแรงดันไฟฟ้าไม่สมดุลให้กับมอเตอร์ ผลตอบสนองที่เกิดข้ึนพบว่าทาให้เกิดความร้อนที่โรเตอร์และ สเตเตอร์ของมอเตอร์จะส่งผลให้

2 อายุการใช้งานของมอเตอร์ส้ันลง ดังน้ันผู้ผลิตไฟฟ้าจะต้องให้ความสาคัญกับคุณภาพ กาลังไฟฟ้า จะต้องควบคุมให้เคร่ืองกาเนิดไฟฟ้าผลิตไฟฟ้าออกมาให้เป็นไปตามมาตรฐาน โดย ในปัจจุบันการควบคุมเคร่ืองกาเนิดไฟฟ้านั้นทาได้สองรูปแบบ คือ การควบคุมด้วยมือโดยตรง ซึ่งผู้ควบคุมสามารถควบคุมเคร่ืองกาเนิดไฟฟ้าด้วยมือได้ที่ตัวเคร่ืองเท่าน้ัน หรือการควบคุม แบบอตั โนมตั โิ ดยใช้แผงควบคมุ เครือ่ งกาเนิดไฟฟ้าที่บรรจไุ ว้ในตู้ควบคมุ เครื่องกาเนิดไฟฟ้า การ ควบคุมเคร่ืองกาเนิดนี้จะทาผ่านสวิตช์ หรือปุ่มกดของ Genset controller หรือ Genset ที่มี หน้าจอบอกสถานะทางไฟฟ้าได้ด้วย สาหรับการควบคุม Genset นั้นวิศวกร หรือช่างผู้ควบคุม ต้องไปควบคมุ ทีห่ น้าตู้โดยตรง หรอื ใช้ Software ของบริษทั ผผู้ ลติ Genset นั้น ๆ ทาการเช่อื มตอ่ ด้วย Port rs485 หรอื Ethernet ควบคุมและดูสถานะทางไฟฟ้าต่าง ๆ ซึ่งการควบคุมการทางาน หรอื ดูค่าข้อมูลตา่ ง ๆ ของเครื่องกาเนิดไฟฟ้าได้ แตก่ ารควบคมุ แบบนีก้ ไ็ ม่สามารถควบคุมหรอื ดู คา่ ต่าง ๆ ได้จากทางไกลผ่านระบบ Internet จะต้องทาการควบคุมที่หน้าตู้โดยตรงเช่นเดียวกับ การควบคุมด้วยมือ และการควบคมุ ก็มีความยุ่งยากซับซ้อน นอกจากโรงไฟฟ้าแล้วผู้ใช้ไฟฟ้า เช่น ห้างสรรพสินค้า โรงพยาบาล โรงแรม มหาวิทยาลยั หรอื หนว่ ยงานตา่ ง ๆ มกั จะมี Generator พร้อม Genset อยู่ในอาคารทีม่ ขี นาดใหญ่ เพื่อผลิตกระแสไฟฟ้าไปจ่ายให้กับอุปกรณ์และเคร่ืองใช้ไฟฟ้าภายในอาคาร หรือใช้เป็นเคร่ือง สารองไฟฟ้าขนาดใหญ่เพื่อสารองในเวลาที่ไฟดับ แต่ตัวเคร่ืองน้ันก็มีความยากในการใช้งาน และการดูแลรกั ษา จากทีไ่ ด้กล่าวมาข้างตน้ จงึ เป็นที่มาของการใชห้ ลักการ แนวคิดของ IoT ออกแบบสร้าง แอพพลิเคช่ัน Status and Control generator System by Modbus IoT เพื่อเป็นแอปพลิเคชัน แสดงสถานะของเคร่ืองกาเนิดไฟฟ้า และสามารถสั่งการ Genset ได้โดยทาให้ตัวเคร่ืองรับและ ส่งค่าสถานะผ่าน Internet โดยใช้ Raspberry Pi และผู้ใช้สามารถดูข้อมูล และแก้ไขค่าสถานะ ของ Genset ได้ผ่าน Device ที่เชื่อมต่อกับ Server โดยมี Raspberry Pi ที่เชื่อมต่อกับ Genset เป็นตัวส่งค่าให้ Server อีกต่อหนึ่ง

3 1.2 แนวคดิ และหลกั กำรในกำรแกป้ ัญหำ การออกแบบแอปพลิเคชัน Status and Control generator System by Modbus IoT เป็น การศึกษาเพื่อนาเทคโนโลยีด้าน IoT ทาให้ Genset รับและส่งค่าสถานะผ่าน Internet โดยใช้ Raspberry Pi การควบคุม Genset ที่เป็นแบบ realtime โดยแอปพลิเคชันที่สามารถสั่งการและ แสดงสถานะได้ตามที่ผใู้ ช้ (User) หรอื วศิ วกรต้องการ ผู้ใช้ (User) สามารถดูและแก้ไขค่าสถานะของ Genset ได้ผ่าน Mobile Device ที่เชื่อมต่อ กับ Server โดยมี Raspberry Pi ที่เชื่อมต่อกับ Genset เป็นตัวรับและส่งค่าให้ Server แสดงดัง ภาพที่ 1 ภำพที่ 1 แนวคดิ กำรทำงำนแอพพลเิ คช่ัน Status and Control generator System by Modbus IoT 1.3 วัตถุประสงค์ 1.3.1. เพื่อสร้างแอพพลิเคชั่น Status and Control generator System by Modbus IoT 1.3.2. เพือ่ ศึกษาแอพพลิเคชั่น Status and Control generator System by Modbus IoT 1.3.3. เพื่อศึกษาหลักการของ Internet of thing (IoT) และ เพื่อการประยุกต์ใช้งาน ร่วมกับ Genset

4 1.4 ขอบเขตกำรศึกษำของโครงงำน 1.4.1. แอปพลิเคชันสามารถอ่านค่าสถานะของ Genset ผ่าน internet ได้ โดยมีค่าที่อ่าน ได้ดงั นี้ 1.4.1.1. ค่าและสถานะทางไฟฟ้า 1.4.1.2. ค่าและสถานะของเครื่อง 1.4.2. แอปพลิเคชนั สามารถควบคมุ Genset จากระยะไกลได้ โดยมีค่าทีค่ วบคุมได้ดงั นี้ 1.4.2.1. ค่าสถานะของกระแสไฟฟ้า (ampere : I) 1.4.2.2. คา่ สถานะของความต่างศกั ย์ (ohm : R) 1.4.2.3. ค่าสถานะของแรงดนั ไฟฟ้า (watt : W) 1.4.2.5. ค่าสถานะรอบการทางาน 1.4.2.6. ค่าสถานะความถีก่ ารทางาน 1.4.3. ใช้ Raspberry Pi ในการทาให้ Genset online ได้ 1.4.4. สิง่ ที่วศิ วกรทุกคนสามารถทาได้ 1.4.4.2. Restart เครื่องใหเ้ ริ่มดาเนินการใหม่ 1.4.4.3. สงั่ เปลีย่ นโหมดการทางานได้ 1.4.4.4. เรียกดูค่าและสถานะย้อนหลังได้ 1.4.4.5. แจ้งเตือนเมอ่ื เกิดการเปลี่ยนแปลงค่าและสถานะโดยมีผเู้ ข้าทาการควบคมุ 1.4.4.6. แจ้งเตือนเม่อื ค่าและสถานะผดิ ปกติ 1.4.5. สิง่ ที่หัวหน้าวิศวกรเท่านั้นสามารถทาได้ 1.4.5.1. ทาการสง่ั การล้างค่า (reset) ให้เปน็ ค่าเริ่มตน้ เพื่อให้เครื่องใช้งานได้ปกติ 1.4.5.2. กาหนดระดบั วิศวกรคนอื่นได้ 1.4.5.3. แสดงคา่ และสถานะทางไฟฟ้าเพื่อดูและควบคุมเครื่องได้ 1.4.5.4. ยืนยันเมื่อทาเปลีย่ นแปลงค่าสถานะโดยหวั หน้าวิศวกร 1.5 ประโยชนท์ ่คี ำดวำ่ จะไดร้ บั 1.5.1. Genset รับและสง่ ค่าสถานะผา่ น Internet โดยใช้ Raspberry Pi 1.5.2. ใช้ Raspberry Pi อ่านและเขียนค่าให้ Genset ได้ 1.5.3. ใช้ Raspberry Pi ควบคู่กบั แอปพลิเคช่ันทาใหใ้ ช้งานได้จากระยะไกล 1.5.4. แอปพลิเคชนั สามารถแสดงสถานะทางไฟฟ้าและสถานะของเครือ่ ง Generator ได้ 1.5.5. แอปพลิเคชันสามารถสงั่ การสถานะทางไฟฟ้าและสถานะของเครื่อง Genset ได้

5 1.5.6. แอปพลิเคชันแสดงค่าสถานะได้อย่างถูกต้องและอ่านค่าสถานะ Generator ได้แบบ real time 1.5.7. แอปพลิเคชนั สามารถใช้ควบคุมและสงั่ การเครอื่ ง Genset ได้แบบ real time 1.5.8. ทาหนา้ Interface ให้ใชง้ านได้ง่ายเรียกดคู ่าหรอื แก้ไขค่าและส่งั การได้งา่ ย 1.5.9. วิศวกรสามารถแก้ปัญหาทีเ่ กิดขึ้นกบั Genset ได้จากระยะไกลโดยการใชแ้ อปพลิเค ชัน 1.6 ขน้ั ตอนกำรดำเนินงำน 1.6.1. เสนอหวั ข้อ 1.6.2 ศกึ ษาความเป็นไปได้และรวบรวมข้อมูล 1.6.3. วิเคราะหแ์ ละเกบ็ ข้อมลู 1.6.4. ศึกษาทฤษฎีทีเ่ กีย่ วข้อง 1.6.5. วิเคราะห์และออกแบบ 1.6.6. พฒั นาระบบ 1.6.7. ทดสอบและปรับปรงุ แก้ไข 1.6.8. สรปุ ผลการดาเนนิ งาน 1.6.9. จัดทาเอกสาร 1.6.10. นาเสนอโครงการ

1.7 แผนกำรดำเนินโครงงำนฯ

6

7 1.8 เครื่องมือที่ใชใ้ นกำรดำเนินโครงงำนฯ 1.8.1. Hardware ที่ใชใ้ นการพฒั นา 1.8.1.1 เครือ่ งคอมพวิ เตอร์ส่วนบุคคล (Personal Computer) 1.8.1.1.1. หน่วยประมวลผล อินเทลคอร์ไอเจ็ด (Intel Core i7-4700HQ 2.5 GHz) 1.8.1.1.2. หนว่ ยความจาหลัก (DDR4 ขนาด 8 GB จานวน 1 ตัว) 1.8.1.1.3. ฮารด์ ดิสก์ความจุ 1 TB + SSD 128 GB 1.8.1.1.4. จอภาพขนาด 15.6 นวิ้ (1980 X 1080 พิกเซล) Full HD 1.8.1.2. Electronic Components 1.8.1.3. Genset controller 1.8.1.4. LeafHAT Board GPIO 1.8.1.5. Micro processer และ Bread Board 1.8.1.6. Micro USB, USB 1.8.1.7. Port rs485 1.8.1.8. Port 24 pin และ Cable 24pin 1.8.1.9. Raspberry Pi Model B และ Raspberry Pi 3 Model B+ 1.8.1.10. SD Memory 1.8.1.11. T-cobbler+ GPIO 1.8.1.12. USB Wireless 1.8.1.13. จอแสดงผลแบบ LCD (LCD Screen) และ สาย HDMI 1.8.2. Software ทีใ่ ชใ้ นการพัฒนา 1.8.2.1. Android Studio 1.8.2.2. balenaEtcher 1.8.2.3. Eclipse 1.8.2.4. github 1.8.2.5. Marvel App 1.8.2.6. modscan 1.8.2.7. NOOBS 1.8.2.8. Qt SDK 1.8.2.9. Raspbian

8 1.8.2.10. SDFormatter 1.8.2.11. Software Ideas Modeler 1.8.2.12. Visual Studio Code 1.8.2.13. wiring pi

9 บทท่ี 2 เอกสำรและงำนวิจยั ท่ีเกีย่ วขอ้ ง 2.1 ทฤษฎีและหลกั กำรทเ่ี กีย่ วข้อง การออกแบบและพฒั นาแอปพลิเคชันแสดงสถานะเจนเนอเรเตอร์ โดย มอสบัส ไอโอที ผู้พัฒนาต้องการทาให้วิศวกร ดูแลเคร่ือง เคร่ืองกาเนิดไฟฟ้า (Generator) ทางไกลได้โดย ประหยัดเวลาในด้านการดูแลเคร่ือง เคร่ืองกาเนิดไฟฟ้า (Generator) ของสถานที่ต่างๆ โดยใช้ Raspberry Pi ควบคุม Genset ของเคร่ืองกาเนิดไฟฟ้า รับและส่งค่าสถานะทางไฟฟ้าผ่าน Internet โดยที่ผู้วจิ ัยได้ศกึ ษาเอกสาร งานวิจยั แนวคิด และทฤษฎีทีเ่ กีย่ วข้อง มีดงั นี้ 2.1.1 Generator เคร่ืองกาเนิดไฟฟ้า เป็นเคร่ืองกลไฟฟ้าที่ทาหน้าที่เปลี่ยนพลังงานกลเป็นพลังงาน ไฟฟ้า การให้เคร่ืองกาเนิดไฟฟ้าผลิตพลังงานไฟฟ้าเพื่อนามาใช้ประโยชน์ได้น้ัน จะต้องมีต้น กาลัง (Prime Mover) มาขับเครือ่ งกาเนิดไฟฟ้า สาหรบั เคร่อื งกาเนดิ ไฟฟ้าขนาดเล็กโหลดถูกต่อ กับเคร่ืองกาเนิดไฟฟ้าได้โดยตรง นิยมใช้เคร่ืองยนต์ก๊าซโซลีน หรือเคร่ืองยนต์ดีเซล (Diesel Engine) เป็นต้นกาลังการทาให้เคร่ืองกาเนิดไฟฟ้าทางานอย่างมีประสิทธิภาพมีอายุการใช้งาน ยืนนานนั้นจาเป็นต้องมีการบารุงรกั ษาและมีการป้องกันที่ดดี ้วย ภำพที่ 2 เครื่องกำเนดิ ไฟฟำ้ ท่มี ำ ดร.โดศกั ดิ์ ทัศนำนตุ รยิ ะ.กำรวิเครำะห์ระบบไฟฟำ้ กำลงั .ซีเอด็ ยูเคช่นั .กรงุ เทพฯ 2540.

10 2.1.1.1 ส่วนประกอบของเคร่อื งกำเนิดไฟฟ้ำ 1.ชุดกระตุ้น (Exciters) จะทาหน้าที่เป็นตัวสร้างสนามแม่เหล็กเพื่อให้ตัวนาตัด สนามแม่เหล็กนี้ อันจะทาให้เกิดแรงดันไฟฟ้าต่อไป ในปัจจุบันได้มีการพัฒนาระบบชุด กระตุ้นให้เป็นแบบเคร่ืองจักรที่ไม่มีแปรงถ่าน (brushless exciter) และปัจจุบันได้มีการ พฒั นาชุดกระตุ้นไปเปน็ แบบ สแตตกิ (static exciter) โดยไม่มีการหมนุ ของชุดกระตุ้นแต่ มีวงแหวน และแปรงถ่านแทน 2.เคร่ืองยนต์ เคร่ืองยนต์ที่ใช้มักเป็นเคร่ืองยนต์ดีเซล เคร่ืองยนต์ดีเซล เหมาะสมในการตดิ ต้ังใช้งานมากกว่าเครือ่ งยนต์แก๊สโซลีน เนือ่ งจากเคร่ืองยนต์ดีเซลใช้ เชื้อเพลิงที่ติดไฟได้ยากกว่าเชื้อเพลิงสาหรับเคร่ืองยนต์แก๊สโซลีน เคร่ืองยนต์ดีเซล 4 จังหวะมีการเพิ่มแรงม้าโดยการเพิ่มเทอร์โบชาร์จเจอร์เข้าไป เพื่อให้อัดอากาศเข้า กระบอกสบู มากขึ้น และจะทาให้ได้แรงม้าเครื่องยนตม์ ากขึ้นโดยปริมาณกระบอกสูบไม่ เพิม่ ขึน้ ซึง่ ถ้าเปรียบเทียบกับเคร่ืองยนต์ 4 จังหวะที่ไม่มีเทอร์โบชาร์จเจอร์แล้วเคร่ืองที่ มีเทอร์โบชาร์จเจอร์จะรับโหลดได้ดีกว่า 3.กัฟเวอร์เนอร์ ทาหนา้ ที่รกั ษาความเรว็ รอบของเคร่ืองยนต์ให้คงที่ เน่ืองจาก ในขณะไม่มีโหลดกับขณะมีโหลดนั้นความเร็วรอบของเคร่ืองยนต์จะเปลี่ยนแปลง โดย ขณะมีโหลดความเรว็ รอบของเครื่องยนตจ์ ะลดลง 4.การป้องกนั เครอ่ื งกาเนดิ ไฟฟ้า เคร่ืองกาเนิดไฟฟ้าขนาดเล็ก โดยทั่วไปออกแบบมาให้สามารถเคลื่อนย้ายได้ ง่ายส่วนมากใช้เป็นเคร่ืองกาเนิดไฟฟ้าสารองสาหรับอุปกรณ์ที่เก็บข้อมูลห รือคอมพิวเตอร์ อปุ กรณ์ที่ใชใ้ นโรงพยาบาล สถานีสอ่ื สารและอปุ กรณ์เพื่อความปลอดภยั อื่น ๆ ภำพที่ 3 สวิตชถ์ ำ่ ยโอน ท่มี ำ ดร.โดศักดิ์ ทัศนำนตุ รยิ ะ.กำรวิเครำะห์ระบบไฟฟ้ำกำลัง.ซีเอด็ ยเู คชั่น.กรงุ เทพฯ 2540.

11 2.1.2 Genset เคร่ืองกาเนิดไฟฟ้าหรือเคร่ืองป่ันไฟ (Generator set) เป็นอีกรูปแบบหนึ่งของระบบ สารองไฟที่นิยมใช้กัน โดยที่หลักการของเคร่ืองกาเนิดไฟฟ้า คือ การเปลี่ยนแปลงพลังงานกล มาเป็นพลังงานไฟฟ้าโดยอาศัยการเหนี่ยวนาของแม่เหล็กตามหลักการของ ไมเคิล ฟาราเดย์ คือ การเคลื่อนที่ของขดลวดตัวนาผ่านสนามแม่เหล็ก หรือการเคลื่อนที่แม่เหล็กผ่านขดลวด ตัวนา จะทาให้เกิดแรงดันไฟฟ้าเหนี่ยวนาขึ้นในขดลวดตัวนานั้น ซึ่งเคร่ืองกาเนิดไฟฟ้ามี 2 ชนิด คือชนิดกระแสตรงเรียกว่า ไดนาโม (Dynamo) และชนิดกระแสสลับเรียกว่า อัลเตอร์เนเตอร์ (Alternator) สาหรับเคร่ืองกาเนิดไฟฟ้าที่ใช้งานในเชิงอุตสาหกรรมน้ัน โดยมากจะเป็นเคร่ือง กาเนิดไฟฟ้าชนิดกระแสสลบั ซึ่งมที ้ังแบบ 1 เฟส และแบบ 3 เฟส ซึ่งจะมีทั้งแบบขับเคลื่อนด้วย เครือ่ งยนตเ์ บนซินและเครอ่ื งยนต์ดีเซล โดยที่เคร่ืองกาเนิดไฟฟ้าประกอบไปด้วยอุปกรณ์หลักๆ คือ เคร่ืองยนต์ (Engine) ไดร์ปั่นไฟ (Alternator) และชุดควบคุม (Controller) ซึ่งทุกส่วนจะถูก นามาประกอบร่วมเป็นชุดเดียวกัน โดยที่จะมีชุดควบคุมเป็นตัวส่ังการเคร่ืองกาเนิดไฟฟ้าและ อุปกรณ์สาหรับเลือกแหล่งจ่ายไฟ หรือที่เรียกกันว่า ATS (Automatic transfer switch) ว่าจะให้ สับไปรับไฟจากส่วนไหน ระหว่างหม้อแปลงการไฟฟ้าและเคร่ืองกาเนิดไฟฟ้าซึ่งภายในตู้ของชุด ควบคุมจะมี อุปกรณ์หลายๆอย่างเปน็ ส่วนประกอบ ภำพท่ี 4 แผงควบคุม ท่มี ำ http://www.compomax.co.th/industries/genset/

12 2.1.3 Modbus Protocol Modbus คือโปรโตคอลการสื่อสารที่พัฒนาขึ้นโดยบริษัท Modicon systems ด้วย รปู แบบงา่ ย ๆ เปน็ รูปแบบการส่งข้อมลู ระหว่างอปุ กรณ์อเิ ลก็ ทรอนิกส์ อุปกรณ์ที่ต้องการข้อมูล เราเรียกว่า ModbusMaster ส่วนอุปกรณ์ที่ให้ข้อมูลที่ต้องการเราเรียกว่า Modbus slave ใน Modbus Network ที่เป็นมาตรฐานนั้นจะมี Master ตัวเดียวแต่ Slave มีได้ถึง 247 ตัว โดยแต่ ละตัวจะมี ID ระบุเหมือนเลขที่บ้านต้ังแต่ 1 ถึง 247 และ Master สามารถ Write ข้อมูลไป ยัง Slave ได้Modbus เปน็ Open Protocol หมายความว่าบุคคลท่ัวไปสามารถพัฒนาอุปกรณ์ที่ใช้ การสื่อสารแบบ Modbus โดยไม่ต้องเสียค่าใช้จ่ายใดๆ Modbus จึงเป็น Protocol พื้นฐานและ นิ ย ม ใ ช้ อ ย่ า แ พ ร่ ห ล า ย ใ น ทุ ก อุ ต ส า ห ก ร ร ม โ ด ย ใ ช้ รั บ ส่ ง ข้ อ มู ล จ า ก อุ ป ก ร ณ์ ค ว บ คุ ม กับ Controller หรอื ระบบประมวลผลขอ้ มลู ต่าง ๆ ภำพท่ี 5 หลักกำรทำงำนของ Modbus ท่มี ำ http://automationreview.blogspot.com/2013/10/modbus-protocol.html 2.1.4 Internet of Things (IoT) Internet of Things (IoT) คือ การที่อุปกรณ์อิเล็กทรอนิกส์ต่างๆ สามารถเชื่อมโยงหรือ ส่งข้อมูลถึงกันได้ด้วยอินเทอร์เน็ต โดยไม่ต้องป้อนข้อมูล การเชื่อมโยงนี้ง่ายจนทาให้เรา สามารถส่ังการควบคุมการใชง้ านอปุ กรณ์อเิ ลก็ ทรอนิกส์ตา่ งๆ ผ่านทางเครือข่ายอินเตอร์เน็ตได้ ไปจนถึงการเช่อื มโยงการใช้งานอุปกรณ์อิเล็กทรอนิกส์ต่างๆ ผ่านทางเครือข่ายอินเตอร์เน็ตเข้า

13 กับการใช้งานอื่นๆ จนเกิดเป็นบรรดา Smart ต่างๆ ได้แก่ Smart Device, Smart Grid, Smart Home, Smart Network, Smart Intelligent Transportation ท้ังหลายที่เราเคยได้ยินนั่นเอง ซึ่ง แตกต่างจากในอดีตทีอ่ ปุ กรณ์อเิ ล็กทรอนิกส์เป็นเพียงสือ่ กลางในการส่งและแสดงขอ้ มูลเท่าน้ัน 2.1.4.1 แบง่ กลมุ่ Internet of Things ปัจจุบันมีการแบ่งกลุ่ม Internet of Things ออกตามตลาดการใช้งานเป็น 2 กลุ่มได้แก่ Industrial IoT คือ แบ่งจาก local network ที่มหี ลายเทคโนโลยีที่แตกต่างกนั ใน โครงขา่ ย Sensor nodes โดยตัวอปุ กรณ์ IoT Device ในกลุ่มน้จี ะเช่อื มตอ่ แบบ IP networkเพือ่ เข้าสู่อนิ เตอร์เน็ต Commercial IoT คือ แบ่งจาก local communication ทีเ่ ป็น Bluetooth หรอื Ethernet (wired or wireless) โดยตัวอุปกรณ์ IoT Device ในกลุ่มน้จี ะสือ่ สารภายใน กลุ่ม Sensor nodes เดียวกันเท่านั้นหรอื เปน็ แบบ local devices เพียงอย่างเดียวอาจ ไม่ได้เชอ่ื มสู่อนิ เตอร์เนต็ 2.1.4.2 Internet of Things (IoT) ส่งผลกระทบกบั ธุรกิจอยำ่ งไรบ้ำง โดย IoT จะช่วยเพิ่มคุณภาพ ผลิตผล ความน่าเชื่อถือ ช่วยลดต้นทุนและ ความสามารถในการควบคมุ ความเสี่ยงให้กับธุรกิจได้ ซึ่งหากกิจการสามารถใช้ IoT ได้ อย่างมีประสิทธิภาพ กิจการนั้นก็จะมีโอกาสในการเพิ่มกลุ่มลูกค้าใหม่ๆ ได้มากขึ้น รวมถึงยังเป็นการเพิ่มขีดความสามารถของธุรกิจและเพิ่มความพึงพอใจให้แก่ลูกค้าได้ โดย IoT อาจจะส่งผลกับธุรกิจในอนาคตได้ เช่น IoT และ Blockchain จะสนับสนุนการ ทางานซึ่งกันและกันได้เนื่องจาก Blockchain สามารถประยุกต์กับหลายๆ วงการ นอกจาก FinTech เทคโนโลยี Blockchain เป็นตัวเชื่อมระหว่างความเป็นส่วนตัว ความ น่าเชื่อถือ และความสามารถในการรองรับการเพิ่มขยายได้ในอนาคตโดย Blockchain สามารถใช้กับอุปกรณ์ที่เชื่อมต่ออินเทอร์เน็ตได้หลายชนิด เพื่อติดตามผลและประสาน ระหว่างอุปกรณ์เหลา่ น้ัน ทาให้สามารถลดต้นทุนให้กบั ผผู้ ลติ อปุ กรณ์ IoT ได้มาก

14 2.1.4.3 สถิติเกีย่ วกบั กำรใช้ Internet of Things อันดับที่ 1 Smart Home หรือบ้านอัจฉริยะ หมายถึง การนาเทคโนโลยีมา ควบคุมอุปกรณ์ต่างๆ ภายในหรือภายนอกบ้านได้ เพื่อให้เกิดความสะดวกสบาย และ ความปลอดภัย เช่น ประตูอัตโนมัติ เซนเซอร์ตรวจจับการเคลื่อนไหว การเปิดปิดไฟ อตั โนมัติ เปน็ ต้น อันดับที่ 2 Wearables คือ อุปกรณ์คอมพิวเตอร์ขนาดเล็กที่สามารถติดตั้งและ ใช้งานบนส่วนต่างๆ ของร่างกาย เพือ่ ความสะดวกในการใชง้ านเพราะสามารถนาติดตัว ไปได้ทุกที่ ปัจจุบันมีการพัฒนาออกมาเป็นรูปแบบต่างๆ เช่น นาฬิกา สายรัดข้อมือ และแว่นตา อันดับที่ 3 Smart City หรือเมืองอัจฉริยะ หมายถึง เมืองที่มีการนาเทคโนโลยี มาปรับใช้เพื่อทาให้คุณภาพ ของประชากรดีขึ้น เช่น การจัดการพลังงานไฟฟ้า ระบบ จดั การนา้ จัดการขยะเป็นต้น อันดับที่ 4 Smart grid หรือโครงข่ายไฟฟ้าอัจฉริยะ เป็นการใช้เทคโนโลยี สารสนเทศและการสื่อสารมาบริหารจัดการควบคุมการผลิต ส่ง และจ่ายพลังงาน ไฟฟ้า อันดับที่ 5 Industrial internet เป็นการใช้ IoT สาหรับอุตสาหกรรมและโรงงาน การผลิต อันดับที่ 6 Connected car เป็นรถยนต์อัจฉริยะที่มีการติดต้ังระบบเครือข่าย อินเตอรเ์ นต็ แบบไร้สาย อันดับที่ 7 Connected health เป็นแนวคิดการสร้างเครือข่ายเชื่อมโยงชุมชนเข้า กับระบบสขุ ภาพแบบครบวงจร อันดับที่ 8 Smart retail เป็นการนาเทคโนโลยีมาช่วยเพิ่มโอกาสในการดาเนิน ธุรกิจหา้ งรา้ น อันดับที่ 9 Smart Supply Chain คือ การจัดการในส่วนของกระบวนการที่ เกิดข้ึนระหว่างผู้ผลติ กบั ผขู้ าย อันดับที่ 10 Smart farming หรือฟาร์มอัจฉริยะ คือ การนาเทคโนโลยีสมัยใหม่ เข้ามาผสมผสานเข้ากบั งานด้านเกษตร

15 ภำพท่ี 6 สถติ ิเกีย่ วกับกำรใช้ Internet of Things ท่มี ำ https://www.mindphp.com/%E0%B8%9A%E0%B8%97%E0%B8%84%E0%B8%A7%E 0%B8%B2%E0%B8%A1/31%E0%B8%84%E0%B8%A7%E0%B8%B2%E0%B8%A1%E0 %B8%A3%E0%B8%B9%E0%B9%89%E0%B8%97%E0%B8%B1%E0%B9%88%E0%B8 %A7%E0%B9%84%E0%B8%9B/4222-internet-of-things-iot.html 2.1.5 Raspberry pi คือ บอร์ดคอมพิวเตอร์ขนาดเล็ก (Single-Board Computer หรือ SBC) ที่ถูกพัฒนาขึ้น โดย Raspberry Pi Foundation มีคุณสมบัติเด่นคือ ติดต่อ และความคุมอุปกรณ์อิเล็กทรอนิกส์ ได้ โดยที่การควบคุมอุปกรณ์อิเล็กทรอนิกส์ บนบอร์ด Raspberry Pi จะมีสิ่งที่เรียกว่า GPIO (General Purpose Input-Output) ซึ่งมันคือส่วนที่เอาไว้ต่อสัญญาณ Input/Output เข้ากับวงจร อิเล็กทรอนิกส์ภายนอกได้

16 ภำพท่ี 7 Raspberry Pi ท่มี ำ https://poundxi.com/raspberry-pi- %E0%B8%84%E0%B8%B7%E0%B8%AD%E0%B8%AD%E0%B8%B0%E0%B9%84%E0 %B8%A3 ลักษณะทั่วไปของ Raspberry Pi เป็นคอมพิวเตอร์ที่ มีความสามารถในการใช้งาน ท่ัวไป เชน่ ใชเ้ พื่อทางานเอกสาร, ดูหนัง ฟังเพลง, ใช้เพื่อการคานวณต่างๆ หรือจะทาเป็น Web Server ก็ย่อมได้ เปน็ คอมพิวเตอร์ที่ มีขนาดเล็ก เปน็ คอมพิวเตอร์ที่ มีราคาถูก เพราะผู้พัฒนามี เจตนาสร้างข้ึนมาเพื่อให้เป็นสื่อการเรียนการสอนทางดา้ นคอมพิวเตอร์ และเพือ่ ให้กลุ่มประเทศ ที่กาลังพัฒนาสามารถมีคอมพิวเตอร์ใช้ได้ท่ัวถึงขึ้น เป็นคอมพิวเตอร์ที่ มีความสามารถในการ สื่อสาร และควบคุมอุปกรณ์อิเล็กทรอนิกส์ได้ เช่น สามารถรับรู้สถานะของเคร่ืองใช้ไฟฟ้าได้ว่า กาลงั ทางานอยู่หรอื ไม่ และ ยังสามารถสง่ั งานให้เครื่องใช้ไฟฟ้าทางานหรอื หยดุ ทางานก็ได้ Raspberry Pi ต้องมีระบบปฏิบัติการ ก่อนที่จะใช้ Raspberry Pi ได้นั้น จาเป็นต้องติดตั้ง ระบบปฏิบัติการให้กับ Raspberry Pi ก่อน โดยระบบปฏิบัติการที่นิยมใช้กัน คือ ระบบปฏิบัติการ Raspbian เพราะเป็นระบบปฏิบัติการที่ถูกสนับสนุนโดยตรงจากทาง Raspberry Pi Foundation 2.1.5.2 กำรใชง้ ำน Raspberry Pi เน่ืองจาก Raspberry Pi เป็นคอมพิวเตอร์ แน่นอนมันย่อมทาทุกอย่างที่ คอมพิวเตอร์ทาได้ เช่นใช้เป็นคอมพิวเตอร์ส่วนบุคคล เพื่อดูหนัง ฟังเพลง เล่น

17 อินเทอร์เน็ต ใช้เป็นเว็บเซิร์ฟเวอร์ สาหรับเปิดเว็บไซต์ขนาดเล็ก ใช้ทาระบบตรวจจับ ใบหน้า ส่วนนอกเหนือจากที่คอมพิวเตอร์ท่ัวๆ ไปทาได้ก็คงเป็นเร่ืองของการสื่อสาร และควบคุมอุปกรณ์ไฟฟ้า อิเล็กทรอนิกส์ต่างๆ เช่น ระบบเปิด/ปิดหลอดไฟ หรือ เคร่ืองใช้ไฟฟ้าแบบอัตโนมัติ ใช้ควบคุมการทางานของหุ่นยนต์ หรือเคร่ืองจักร ใช้ทา ประตูไฟฟ้า ลอ็ ค/ปลดล็อคด้วยรีโมท หรอื ส่งั งานด้วยเสียง ใช้ทาสถานีวัดอุณหภูมิ และ ความชนื้ ในอากาศ และใช้ทาระบบกล้องวงจรปิด 2.1.5.3 Raspberry Pi หรอื Arduino Arduino เป็น microcontroller board ที่เอาไว้รันโปรแกรมเล็กๆ เอาไว้เชื่อมต่อ กบั พวกอปุ กรณ์อืน่ ๆ เช่น sensor ต่างๆ , หลอดไฟ ได้อย่างง่าย ส่วน Raspberry Pi เป็นคอมพิวเตอร์ขนาดเล็กสามารถลง OS ใช้งานแทน Computer ได้เลย ปจั จุบนั หลายประเทศใช้ Raspberry Pi เพือ่ การศกึ ษาแทนคอมพิวเตอร์ ภำพท่ี 8 ผงั raspberry pi ท่มี ำ https://www.arduinospro.com/article/51/raspberry-pi-tutorial-ep1- raspberry-pi- %E0%B8%84%E0%B8%B7%E0%B8%AD%E0%B8%AD%E0%B8%B0%E0%B9%84%E0 %B8%A3

18 2.1.6 งำนวิจัยทเ่ี กีย่ วข้อง วันชัย รองาม (2558) ได้วิจัย เร่ือง ระบบควบคุมอุปกรณ์ไฟฟ้าผ่านระบบเครือข่าย อินเตอร์เน็ต โดยมีวัตถุประสงค์เพื่อออกแบบและพัฒนาระบบควบคุมอุปกรณ์ไฟฟ้าที่เป็น อุปกรณ์พื้นฐานภายในอาคารบ้านเรือน โดยการประยุกต์อุปกรณ์อิเล็กทรอนิกส์ที่มีอยู่ใน ท้องตลาดเช่น Raspberry PI และ Arduino มาผสมผสานกันกับอุปกรณ์เครือข่ายและอุปกรณ์ ไฟฟ้าเพือ่ ให้อุปกรณ์สอ่ื สารกันบนระบบเครือข่ายอินเตอร์เน็ต และสามารถที่จะเชื่อมต่อเข้ากับ ระบบเครือข่ายเน็ตเวิร์คแล้วทาให้สามารถที่จะควบคุมอุปกรณ์ไฟฟ้าจากที่ใดก็ได้ในขณะที่ผู้ใช้ ยังสามารถเข้าถึงเครือขา่ ยอินเตอร์เนต็ ได้อยู่ ทาให้เกิดความสะดวกสบายและเพิ่มประสิทธิภาพ การบริหารจดั การ ซึ่งช่วยใหเ้ กิดแนวคิดในการพัฒนาอุปกรณ์และซอฟต์แวร์ที่ใช้ในการควบคุม สัง่ การระบบไฟฟ้าได้อย่างมปี ระสิทธิภาพ ปิยะพร สายแสง (2559) ได้วิจัย เร่ือง ระบบอัจฉริยะควบคุมการใช้พลังงานในห้อง ประชุม โดยผู้ใช้งานสามารถเข้าสู่ระบบนี้ผ่านทางอินเตอร์เน็ต เน่ืองจากในปัจจุบันท่ัวโลกนั้นมี ปัญหาทางด้านภาวะโลกร้อนและวิกฤตการณ์เกี่ยวกับน้ามัน จึงต้องมีการบริหารจัด การพลังงานที่มีประสิทธิภาพ ซึ่งการใช้ปริมาณพลังงานให้เหมาะสมกับช่วงเวลาเป็นวิธีหนึ่งที่ สามารถช่วยให้จัดสรรพลังงานที่มีอยู่นามาใช้ให้เกิดประสิทธิภาพและคุ้มค่ามากที่สุด จึงเป็น ที่มาของระบบอัจฉริยะควบคุมการใช้พลังงาน ในงานวิจัยนี้ใช้ชุดควบคุมโดยใช้ Raspberry PI ซึ่งสามารถเชื่อมต่อกับระบบอินเตอร์เน็ตเพื่อควบคุมอุปกรณ์เคร่ืองใช้ไฟฟ้าต่าง ๆ ภายในห้อง ประชุมชุดอุปกรณ์นี้จะสามารถส่ังการให้เคร่ืองใช้ไฟฟ้า เปิด หรือ ปิด โดยอัตโนมัติ ได้แก่ เครื่องปรับอากาศ หลอดไฟฟ้า และโทรทัศน์ทีอ่ ยู่ในห้องประชุม ผู้ใชง้ านสามารถเข้าสู่ระบบเพื่อ ทาการจองห้องประชุมตามวันและเวลาที่ต้องการผ่านอินเตอร์เน็ต และหลังจากน้ันระบบ อัจฉริยะจะควบคมุ อุปกรณ์เครือ่ งใช้ไฟฟ้าทุกชนิดภายในหอ้ งให้เป็นไปตามเง่ือนไขตามที่ผู้จัดทา ได้ออกแบบไว้ งานวิจยั นี้สามารถช่วยเพิ่มความสะดวกสบายให้กับผู้ใช้งานและช่วยลดค่าไฟฟ้า ได้อีกด้วย เพื่อให้สามารถเป็นแนวทางในการวางมาตรการด้านการควบคุมการใช้พลังงานใน อนาคตอีกด้วย สมประสงค์ อินทรรักษ์ และ คณะ. (2560) วิจัย เร่ือง การพัฒนาแอพพลิเคชั่นสาหรับ ควบคุมอุปกรณ์ไฟฟ้าผ่านระบบ Smart Phone. มีวัตถุประสงค์เพื่อพัฒนาแอพพลิเคชั่นสาหรับ มอื ถือระบบปฏิบตั ิการเอนดรอยด์ เพื่อการควบคุมเครื่องใช้ไฟฟ้าภายในบ้านจากระยะไกล โดย พฒั นาผ่าน Ionic Framework สาหรับใช้งานบนโทรศพั ท์มอื ถือระบบปฏิบตั ิการแอนดรอยด์ซึ่งใช้ ภาษาเอวทีเอ็มแอล ซีเอสเอส และจาวาสคริปต์ และมีการใช้บอร์ด Nodemcu Relay PIR Motion Sensor Module และ DS53231 module มาพัฒนาเป็นอุปกรณ์เพื่อรองรับการทางาน

19 ของแอพพลิเคชั่น และประเมินความพึงพอใจต่อการใช้งานของแอพพลิเคชั่น ผลวิจัยพบว่า แอพพลิเคชั่นระบบปฏิบัติการแอนดรอยด์ จาก Ionic Framework ซึ่งแอพพลิเคชั่นสามารถใช้ใน การควบคุมเคร่ืองใช้ไฟฟ้าภายในบ้านผ่านเครือข่ายอินเตอร์เน็ต โดยใช้ Nodemcu ในการรับ คาสงั่ จาก แอพพลิเคชั่น และ Relay ในการควบคุมสวิตช์เปิด-ปิด เคร่ืองใช้ไฟฟ้า แม้ตัวผู้ใช้งาน แอพพลิเคชน่ั จะอยู่ห่างไกลกับเคร่ืองใช้ไฟฟ้าน้ัน แต่ก็ทาให้ผู้ใช้งานใช้งานได้อย่างสะดวกสบาย มากขึ้น ผลวิจัยพบว่าสามารถพัฒนาแอพพลิเคชั่นบนระบบปฏิบัติการแอนดรอยด์ จาก Ionic Framework ซึ่งแอพพลิเคชั่นสามารถใช้ในการควบคุมเคร่ืองใช้ไฟฟ้าภายในบ้านผ่านเครือข่าย อินเตอร์เน็ต โดยใช้ nodemcu เพื่อการควบคุมเคร่ืองใช้ไฟฟ้าภายในบ้านจากระยะไกลใน ภาพรวมมีความพึงพอใจอยู่ในระดับมาก มีระดับประสิทธิภาพตรงตามความต้องการของ ผใู้ ช้งาน จากการศกึ ษาเอกสารและงานวิจัยที่เกี่ยวข้องพบว่าได้มีการใช้แอพพลิเคชั่นควบคุมส่ัง การ ใช้ Raspberry PI หรือใช้ Arduino มาผสมผสานกันกับอุปกรณ์เครือข่ายเพื่อให้อุปกรณ์ สื่อสารกันบนระบบเครือข่ายอินเตอร์เน็ต และสามารถที่จะเชื่อมต่อเข้ากับระบบเครือข่ายแล้ว ทาให้สามารถที่จะควบคุมอุปกรณ์เครื่องมือเคร่อื งใชไ้ ฟฟ้าจากที่ใดก็ได้ในขณะที่ผู้ใช้ยังสามารถ เข้าถึงเครือขา่ ยอินเตอร์เนต็ ได้อยู่ ทาให้เกิดความสะดวกสบายและเพิ่มประสทิ ธิภาพการบริหาร จัดการ และจากปัญหาที่พบในการควบคุมเคร่ืองกาเนิดไฟฟ้า ผ่าน Genset ที่ต้องทาการ ควบคมุ ที่หน้าตู้โดยตรงเชน่ เดียวกบั การควบคมุ ด้วยมือ และการควบคมุ ก็มีความยุ่งยากซับซ้อน ใช้แนวคิดของ IOT ออกแบบสร้างแอพพลิเคช่ัน Status generator System by Modbus IOT เพื่อ เป็นแอปพลิเคชันแสดงสถานะของเคร่ืองกาเนิดไฟฟ้า และสามารถสั่งการ Genset ได้โดยทาให้ ตัวเคร่ืองรับและส่งค่าสถานะผ่าน Internet โดยใช้ Raspberry Pi ที่เชื่อมต่อกับ Genset เป็นตัว ส่งค่าให้ Server อีกต่อหนึง่ 2.2 เครือ่ งมือทีใ่ ช้ในกำรพฒั นำ 2.2.1 Visual Studio Code ปัจจุบัน “Visual Studio Code” ที่เป็น ไอดีอี (IDE) ที่มีคุณสมบัติในการพัฒนาเว็บและ แอปพลิเคชันบนแพลตฟอร์มต่างๆหรอื ข้ามแพลตฟอร์ม เช่น เว็บไซต์ แอปพลิเคชันเป็นต้น และ ถูกพัฒนาให้มีความสามารถหลากหลายมากกว่าเดิม เพื่อตอบสนองต่อความต้องการของ นักพัฒนารูปแบบต่างๆให้มีประสิทธิภาพได้มากยิ่งขึ้น และได้ถูกพัฒนามาจนเป็นเวอร์ชัน 1.30 (Version 1.30) ซึ่งทางผู้จัดทาจงึ มองเห็นการพัฒนาและการปรับปรุงให้มีประสิทธิภาพมากกว่า เดิม จงึ ได้เลือก Visual Studio Code มาช่วยในการพฒั นาโปรแกรม

20 2.2.2 Ionic framework ปัจจุบัน “ionic” เหมาะกับการพัฒนาโมบายล์แอปพลิเคชัน เพราะใช้แนวคิดใน การ พัฒนาแบบ “Hybrid” ที่ใช้โค้ดชุดเดียวกัน ใช้งานท้ังสองระบบ สามารถสร้างได้ท้ัง ระบบ “ios” และ “Android” โดย Ionic ใช้ ภาษา HTML (Hypertext Markup Language), CSS (Cascading Style Sheet) และ JavaScriptซึงเป็นภาษาในการทาเว็บไซต์จึงเหมาะกับการนามาช่วยในการ พัฒนาโปรแกรม 2.2.3 Git ปัจจุบันการทาสาเนาไฟล์ไว้เพื่อกันการผิดพลาดทาให้ยากต่อการค้นหาไฟล์ ซึ่ง “Git” จะเข้ามาช่วยในส่วนนี้ มีความเหมาะสมเม่ือทางานเป็นทีม git เป็น Version Control เป็นระบบที่ ใช้จัดเก็บและควบคุมการเปลี่ยนแปลงที่เกิดขึ้นกับไฟล์ ใช้งานกับคนในทีมได้ง่าย จึงเหมาะใน การนามาช่วยในการพัฒนาโปรแกรม 2.2.4 Bootstrap ปัจจุบัน “Bootstrap” เป็น Front-end Framework ที่ประกอบด้วยโครงสร้าง CSS, HTML และ JavaScript สามารถชว่ ยใหส้ ร้างหน้าจอ “User Interface” ได้รวดเร็ว ขึ้นและมีความ สวยงาม ลดเวลาในการที่จะมานั่งออกแบบ (Design) หน้าจอ (layout) หรือรายการ Element อื่นๆ ที่เกี่ยวข้องกับหน้า (Form) ท้ังหมด ก็สามารถใช้ Bootstrap เข้ามาจัดการได้ท้ังหมด ที่ สาคัญคือ Bootstrap มีการแสดงผลในรูปแบบของการ ตอบสนอง (Responsive) ซึ่งจะแสดง สภาพแวดล้อมที่เหมาะสมกับอุปกรณ์ที่ทาการเปิด อยู่ในขณะนั้นซึ่งทาให้เราน้ันออกแบบเว็บ และ เขียนคาส่ังต่างๆ ก็สามารถที่จะรองรับอุปกรณ์ทั้งหมดจึงเหมาะในการนามาช่วยในการ พฒั นาโปรแกรม 2.2.5 Eclipse คือโปรแกรมที่ใช้สาหรับพัฒนาภาษา Java ซึ่งโปรแกรม Eclipse เป็นโปรแกรมหนึ่งที่ใช้ ในการพัฒนา Application Server ได้อย่างมีประสิทธิภาพ และเนื่องจาก Eclipse เป็น ซอฟต์แวร์ Open Source ทีพ่ ฒั นาขึน้ เพื่อใชโ้ ดยนักพัฒนาเอง ทาให้ความก้าวหน้าในการพัฒนา ของ Eclipse เป็นไปอย่างตอ่ เนื่องและรวดเรว็

21 Eclipse มีองค์ประกอบหลกั ที่เรียกว่า Eclipse Platform ซึ่งให้บริการพื้นฐานหลักสาหรับ รวบรวมเครือ่ งมอื ต่างๆจากภายนอกให้สามารถเข้ามาทางานร่วมกันในสภาพแวดล้อมเดียวกัน และมีองค์ประกอบที่เรียกว่า Plug-in Development Environment (PDE) ซึ่งใช้ในการเพิ่ม ความสามารถในการพัฒนาซอฟต์แวร์มากขึ้น เคร่ืองมือภายนอกจะถูกพัฒนาในรูปแบบที่ เรียกว่า Eclipse plug-ins ดังนั้นหากต้องการให้ Eclipse ทางานใดเพิ่มเติม ก็เพียงแต่ พัฒนา plugin สาหรับงานน้ันขึ้นมา และนา Plug-in น้ันมาติดต้ังเพิ่มเติมให้กับ Eclipse ที่มีอยู่ เท่านั้น Eclipse Plug-in ที่มีมาพร้อมกับ Eclipse เม่ือเรา download มาคร้ังแรกก็คือ องค์ประกอบที่เรียกว่า Java Development Toolkit (JDT) ซึ่งเป็นเคร่ืองมือในการเขียน และ Debug โปรแกรมภาษา Java ข้อดีของโปรแกรม Eclipse คือ ติดต้ังง่าย สามารถใช้ได้กับ J2SDK ได้ทุก เวอร์ชัน รองรับภาษาต่างประเทศอีกหลายภาษา และมี plugin ที่ใช้เสริมประสิทธิภาพของ โปรแกรม สามารถทางานได้กับไฟล์หลายชนิด เช่น HTML, Java, C, JSP, EJB, XML และ GIF และที่สาคัญเป็นฟรีเเวร์ (ให้ใช้งานได้ 90 วัน ถ้าจะใช้งานเต็มประสิทธิภาพต้องเสีย ค่าใช้จ่ายภายหลัง) ใช้งานได้กับระบบปฏิบัติการ Windows, Linux และ Mac OS 2.2.6 Android Studio Android Studio คือเคร่ืองมือพัฒนา IDE หรือ Integrated Development Environment ที่ ถูกสร้างขึ้นมาเพื่อการพัฒนาแอนดรอยด์แอปพลิเคชันบนพื้นฐานของแนวคิด InteliJ IDEA (อิน เทล ไอเจ ไอดีอีเอ) คล้ายๆ กับการทางานของ Eclipse (อีคิปส์)และ Android ADT Plugin (แอน ดรอยด์ เอดีที ปล๊ักอิน) และเป็น IDE Tools (ไอดีอี ทูล) ล่าสุดจาก Google (กูเกิ้ล) ไว้พัฒนา โปรแกรม Android (แอนดรอยด์) ให้มีประสิทธิภาพมากขึ้น ท้ังด้านการออกแบบ GUI ที่ช่วยให้ สามารถ Preview ตัว App มุมมองที่แตกต่างกันบน Smart Phone แต่ล่ะรุ่น สามารถแสดงผล บางอย่างได้ทันทีโดนไม่ต้องทาการรัน App บน Emulator รวมทั้งยังแก้ไขปรับปรุงในเร่ืองของ ความเร็วของ Emulator ที่ยงั เจอปัญหากันอยู่ในปจั จบุ ัน 2.2.7 Software Ideas Modeler Software Ideas Modeler ถือเปน็ โปรแกรมวาดรูป ชนิดหนึ่งที่ถูกพัฒนาขึ้นมาเพื่อเอาไว้ สร้างไดอะแกรม (Diagram) หรือแผนภูมิต่างๆ บนเคร่ืองคอมพิวเตอร์ ลักษณะจะคล้ายๆกับ โปรแกรม Microsoft Visio จากไมโครซอฟท์ เพือ่ ให้ได้ดีไซน์ออกแบบไดอะแกรมต่างๆ ได้ถูกต้อง ตามมาตรฐานเพื่อให้คนอื่นๆ สามารถเข้าใจได้ง่าย

22 ภายใน โปรแกรม Software Ideas Modeler จะมีเคร่ืองมือต่างๆ การลากเส้น ใส่ลูกศร เพิ่มข้อความประกอบ พร้อมรูปทรง (Shape) ต่างๆ ให้เลือกใช้งานมากมาย ไม่ว่าจะเป็น UML (Unified Modeling Language) รวมไปถึง โฟลว์ชาร์ต (FlowCharts) แผนผังการเคลื่อนที่ของ ข้อมูล (Data Flow Diagram หรือ DFD) หรือแม้แต่ หน้าตาโปรแกรม แบบเค้าร่าง (User Interface Mock-up) แผนภมู ิฐานข้อมูล (Entity-Relationship Diagram) หรือแม้แต่ไดอะแกรมใน รปู แบบ SysML BPMN ArchiMate และอื่นๆ 2.3 สรปุ แอปพลิเคชนั โปรแกรมเดิมมลี กั ษณะการใช้งานที่ยุ่งยากในการอ่านค่าและการค้นหาค่าสถานะทาง ไฟฟ้าต่างๆ เนือ่ งจากโปรแกรมนีไ้ ม่ได้อ่านค่าสถานะทางไฟฟ้าโดยตรง แต่แสดงผลลัพธ์ใน รปู แบบของ รหัส modscan(มอดสแกน) ซึ่งต้องนาไปเทียบตารางของรหสั modscan และต้อง นาไปคานานเพือ่ หาค่าสถานะทางไฟฟ้าที่แท้จริง ภำพท่ี 9 program Modbus ท่มี ำ http://www.thaiembedded.com/blog/?p=548 แตแ่ อปพลิเคชนั แสดงสถานะและควบคุมเจนเนอเรเตอร์ โดย มอสบัส ไอโอที สามารถ แสดงค่าสถานะทางไฟฟ้าโดยตรงได้ทันที ไม่ต้องนาไปเทียบกับตาราง modscan และสามารถ แสดงค่าสถานะทางไฟฟ้าที่จาเป็นต่อการควบคุมเคร่ืองเจนเนอเรเตอร์ได้แบบหลายราบการ และอีกทั้งยังสามารถแก้ไขค่าสถานะทางไฟฟ้าโดยควบคุมผ่านการส่ังการแบบ online ได้ ซึ่ง หากมีค่าสถานะทางไฟฟ้าทีไ่ ม่ปกติจะมีการแจ้งเตอื นไปยังผใู้ ช้งาน

23 ภำพท่ี 10 ตวั อยำ่ งหน้ำ interface 1 ภำพท่ี 11 ตวั อย่ำงหนำ้ interface 2

24 ภำพท่ี 12 ตวั อยำ่ งหน้ำ interface 3

25 บทท่ี 3 กำรวิเครำะหแ์ ละกำรออกแบบระบบ 3.1 กำรออกแบบระบบ จากการศึกษาข้อมูลเพื่อใช้ในการจัดทาแอปพลิเคชัน Status and Control generator System by Modbus IoT นั้นจะต้องมีการออกแบบระบบเน่ืองจากโปรแกรมที่ใช้เป็นภาษา Java และ C# ในการเขียนแอปพลิเคชัน และภาษา python และ C++ ในการเขียนคอนโทรลเลอร์ และ ด้าน IOT ดังนน้ั การเขียนโปรแกรมจงึ ตอ้ ง เปน็ แบบ Object-Oriented Programming ซึ่งเป็นการ เขียนโปรแกรมที่มองสง่ิ ต่างๆให้เป็นวัตถุ สร้างมาจากกลุ่มของ Object หรือกลุ่มของวัตถุ ซึ่งแต่ ละ Object จะบรรจุ Attribute และ Method ภายใน Object และเชื่อมต่อ Object ต่างๆเข้า ด้วยกัน ซึง่ สามารถออกแบบเป็น Diagram ตา่ งๆได้ดังน้ี 1. Use Case Diagram 2. Class Diagram 3. Sequence Diagram 3.2 Use Case Diagram Use Case Diagram คือแผนภาพที่แสดงการทางานของผู้ใช้ระบบและความสัมพันธ์กับ ระบบ ในการเขียน Use Case Diagram ผู้ใช้ระบบจะถูกกาหนดว่าให้เป็น Actor และระบบคือ Use Case จุดประสงค์หลักของการเขียน Use Case Diagram ก็เพื่อเล่าเร่ืองราวท้ังหมดของ ระบบว่ามีการทางานอะไรบ้างเป็นการดึง Requirement หรือเร่ืองราวต่างๆของระบบจาก ผู้ใช้งานซึ่งถือว่าเป็นจุดเริ่มต้นในการวิเคราะห์และออกแบบระบบสัญลักษณ์ที่ใช้ใน Use Case Diagram มีดังต่อไปนี้

26 ตำรำงที่ 1 แสดงสัญลักษณท์ ่ใี ชใ้ น Use Case Diagram สัญลกั ษณ์ คำอธิบำย Use Case สิ่งที่ทาหน้าที่ดาเนินกิจกรรม (Functionality) ของระบบ หรือทาให้เกิดผลลัพธ์ต่าง ๆ เกิดขึ้นในระบบ ใช้ สัญลักษณ์รูปวงรี พร้อมท้ังเขียนชื่อ Use Case ไว้ ภายในรูปวงรี ผู้ที่เกี่ยวข้องกับระบบ(Actor ที่เป็นสิ่งมีชีวิต)มีบทบาท เป็นผู้คาดหวังผลลัพธ์หรือผลักดันให้เกิดกิจกรรมของ Actor ระบบ ผทู้ ี่เกี่ยวข้องกับระบบ(Actor ที่เป็นสิ่งไม่มีชีวิต)มีบทบาท เป็นผู้คาดหวังผลลัพธ์หรือผลักดันให้เกิดกิจกรรมของ ระบบ Connection คือ เส้นที่ลากเชื่อมต่อระหว่าง Actor กับ Use Case ที่มปี ฏิสัมพนั ธ์กัน Extend Relationship คือ เส้นที่ทางานตามปกติแต่ อาจจะมีเง่ือนไขหรือสิ่งกระตุ้นบางอย่าง ที่ส่งผลให้ กิจกรรมตามปกติของ Use Case น้ัน ถูกรบกวนจน เปลี่ยนแปลงไป Include Relationship คือ ความสัมพันธ์ Use case ใน กรณีที่ Use Case ไปเรียกหรือดึงอีกกิจกรรมของอีก Use Case หน่งึ มาใช้

27 Use Case Diagram : Application Status and Control generator System by Modbus IoT ภำพที่ 13 Use Case Diagram : Application Status and Control generator System by Modbus IoT

28 Use Case Diagram ที่เป็นการจาลองภาพการทางานของ Application Status and Control generator System by Modbus IoT ซึ่งจะเห็นได้ว่าระบบ นี้ประกอบไปด้วย 19 Use Case คือ 1. Use Case Diagram : login 2. Use Case Diagram : check login 3. Use Case Diagram : monitoring 4. Use Case Diagram : control 5. Use Case Diagram : system configuration 6. Use Case Diagram : get value 7. Use Case Diagram : set value 8. Use Case Diagram : edit data 9. Use Case Diagram : mode 10. Use Case Diagram : start/stop 11. Use Case Diagram : reboot 12. Use Case Diagram : location 13. Use Case Diagram : genset in location 14. Use Case Diagram : alarm 15. Use Case Diagram : alert 16. Use Case Diagram : select location 17. Use Case Diagram : select genset 18. Use Case Diagram : value configuration 19. Use Case Diagram : data and default

29 3.3 Use Case Description Use Case ID : 1 ตำรำงที่ 2 Use Case login Use Case Title : login Primary Actor : User , Admin Stakeholder Actor : - Main Flow : ผใู้ ช้การกรอก username, password เพื่อเข้าสู่ระบบ Exception Flow 1 : ถ้ากรอกรหัสผดิ พลาดแจ้งเตือนใหก้ รอกใหม่ Exception Flow 2 : กรอกข้อมูลถูกต้องไปหนา้ ถดั ไป ตำรำงที่ 3 Use Case check login Use Case ID : 2 Use Case Title : check login Primary Actor : - Stakeholder Actor : login Main Flow : ตรวจสอบการ login ของผู้ใช้ Exception Flow 1 : ถ้ากรอกรหัสผดิ พลาดแจ้งเตือนใหก้ รอกใหม่ Exception Flow 2 : กรอกข้อมลู ถูกต้องไปหนา้ ถดั ไป ตำรำงที่ 4 Use Case monitoring Use Case ID : 3 Use Case Title : monitoring Primary Actor : User , Admin Stakeholder Actor : - Main Flow : แสดงสถานะไฟฟ้าเครื่อง genset ทีอ่ า่ นได้จาก get value Exception Flow 1 : เรียกค่าจากฟงั ก์ชนั get value

30 ตำรำงที่ 5 Use Case control Use Case ID : 4 Use Case Title : control Primary Actor : User , Admin Stakeholder Actor : - Main Flow : ทาการควบคุมเครื่อง genset โดยผ่าน set value Exception Flow 1 : ส่งค่าที่เปลี่ยนแปลงไปทีฟ่ งั ก์ชัน set value Exception Flow 2 : ตำรำงที่ 6 Use Case system configuration Use Case Title : system configuration Use Case ID : 5 Primary Actor : Admin Stakeholder Actor : - Main Flow : admin แก้ไขค่าหรือตั้งค่าต่างๆ (configuration) ของระบบ IoT และ application ได้ Exception Flow 1 : รับค่าและส่งค่าต่างๆกับ value configuration ตำรำงที่ 7 Use Case get value Use Case ID : 6 Use Case Title : get value Primary Actor : - Stakeholder Actor : monitoring Main Flow : รับค่าจาก board IoT และส่งไปยงั monitoring Exception Flow 1 :

31 ตำรำงที่ 8 Use Case set value Use Case ID : 7 Use Case Title : set value Primary Actor : - Stakeholder Actor : control Main Flow : รับค่าจาก control และส่งไปยงั board IoT Exception Flow 1 : ตำรำงที่ 9 Use Case edit data Use Case ID : 8 Use Case Title : edit data Primary Actor : Admin Stakeholder Actor : - Main Flow : แก้ไขข้อมูลตา่ งๆได้ และแก้ไขข้อมูล default ของค่าสถานะได้ Exception Flow 1 : แก้ไขระดบั ผใู้ ช้ Exception Flow 2 : เพิม่ และลบผใู้ ช้ ตำรำงที่ 10 Use Case mode Use Case ID : 9 Use Case Title : mode Primary Actor : User , Admin Stakeholder Actor : - Main Flow : ส่ังเปลีย่ น mode การทางานของ genset Exception Flow 1 : เปลี่ยน mode ระหว่าง manual และ automatic Exception Flow 2 :

32 ตำรำงที่ 11 Use Case start/stop Use Case ID : 10 Use Case Title : start/stop Primary Actor : Admin Stakeholder Actor : - Main Flow : สั่งเริม่ หรอื หยุดการทางานของเครอ่ื ง Genset Exception Flow 1 : ตำรำงที่ 12 Use Case reboot Use Case ID : 11 Use Case Title : reboot Primary Actor : Admin Stakeholder Actor : - Main Flow : สงั่ รบี ทู การทางานเครื่อง Genset Exception Flow 1 : ตำรำงที่ 13 Use Case location Use Case ID : 12 Use Case Title : location Primary Actor : - Stakeholder Actor : select location Main Flow : เสดงรายละเอียดสถานที่และ genset ที่มี Exception Flow 1 :

33 ตำรำงที่ 14 Use Case genset in location Use Case Title : genset in location Use Case ID : 13 Primary Actor : - Stakeholder Actor : select genset Main Flow : แสดงจานวน genset ในทีท่ ี่นน้ั และรายละเอียด Exception Flow 1 : ตำรำงที่ 15 Use Case alarm Use Case ID : 14 Use Case Title : alarm Primary Actor : User , Admin Stakeholder Actor : control Main Flow : แจ้งเตือนเมอ่ื มีการแก้ไขค่าทีผ่ ู้ใชก้ าหนดค่าการควบคุม Exception Flow 1 : แจ้งเตือนเม่อื ผใู้ ช้แก้ไขค่าสถานะของ genset Exception Flow 2 : ถามความแนใ่ จว่าผใู้ ช้จะแก้ไขค่านน้ั จริงหรอื ไม่ ตำรำงที่ 16 Use Case alert Use Case ID : 15 Use Case Title : alert Primary Actor : User , Admin Stakeholder Actor : monitoring Main Flow : แจ้งเตือนเมอ่ื มีการอ่านค่าสถานะทีม่ คี วามผิดปรกติ Exception Flow 1 : แจ้งเตือนเมอ่ื ค่าสถานะมีความคลาดเคลื่อน Exception Flow 2 : แจ้งความขดั ขอ้ งที่เกิดข้ึนกับ genset

34 ตำรำงที่ 17 Use Case select location Use Case Title : select location Use Case ID : 16 Primary Actor : User , Admin Stakeholder Actor : - Main Flow : เลือกสถานทีท่ ี่มี genset จะควบคุมอยู่ Exception Flow 1 : ตำรำงที่ 18 Use Case select genset Use Case ID : 17 Use Case Title : select genset Primary Actor : User , Admin Stakeholder Actor : - Main Flow : เลือกเครื่อง genset ที่จะควบคุม Exception Flow 1 : ตำรำงที่ 19 Use Case value configuration Use Case Title : value configuration Use Case ID : 18 Primary Actor : - Stakeholder Actor : system configuration Main Flow : apply ค่าที่ได้จากการ configuration ระบบ IoT และ application และ แสดงค่า default ก่อนหน้าหรือค่าเดิมของระบบด้วยการรับค่าและส่งค่าต่างๆกับ system configuration Exception Flow 1 :

35 ตำรำงที่ 20 Use Case data and default Use Case Title : data and default Use Case ID : 19 Primary Actor : - Stakeholder Actor : edit data Main Flow : ค่า default ของค่าสถานะต่างๆ Exception Flow 1 : 3.4 Class Diagram เป็นแผนภาพที่ใช้ แสดง Class และความสัมพันธ์ในแง่ต่างๆ (Relationship) ระหว่าง Class เหล่านั้นซึ่งความสัมพันธ์ที่กล่าวถึงใน Class Diagram นั้นถือเป็น ความสัมพันธ์แบบ Static Relationship สญั ลักษณ์ที่ใชใ้ น Class Diagram มีดงั ต่อไปนี้ ตำรำงที่ 21 แสดงสญั ลักษณท์ ใ่ี ช้ใน Class Description สัญลักษณ์ คาอธิบาย Class Name Class คือ กลุ่มของ Object ที่มีโครงสร้างพื้นฐานพฤติกรรม -Attribute และมีการห่อหุ้ม (Encapsulation) เพื่อจากัดการเข้าถึงแต่ละช้ัน +method() ดังน้ี + คือ public สามารถเข้าถึงได้ทุกระดับ - คือ private จากัดเฉพาะในคลาสเท่านนั้ # คือ protected เข้าถึงได้เฉพาะคลาสลกู -End1 -End2 Binary Association คือ ความสัมพันธ์ที่เชื่อมโยงระหว่างสอง * * คลาส

36 Generalization เป็นการถ่ายทอดคุณสมบัติหรือพฤติกรรม บางอย่างจาก Class หนึ่งไปยังอีก Class หนึ่ง ซึ่ง Class ที่ได้รับ การถ่ายถอดจะมีการเพิ่มเติมพฤติกรรมบางอย่างของตนเอง เข้าไปด้วย ตำรำงที่ 21 แสดงสัญลักษณ์ท่ใี ชใ้ น Class Description (ตอ่ ) 1 -End1 * -End2 Composition เป็นเส้นความสัมพันธ์แบบส่วนประกอบ โดย คลาสที่ทาการใช้เส้น (Composition) น้ันเม่ือ object แม่เก็บ (Contain) object อื่น ๆ เม่ือ object แม่เลิกใช้ ตัว object อื่นๆ ก็ จะถกู เลิกใช้ไปด้วย Class Diagram : Application Status and Control generator System by Modbus IOT

37 ภำพที่ 14 Class Diagram : Application Status and Control generator System by Modbus IoT Application Status and Control generator System by Modbus IoT มี Class Diagram ดังน้ี 1. Class Diagram : sign in 2. Class Diagram : admin 3. Class Diagram : user 4. Class Diagram : compose data 5. Class Diagram : modify 6. Class Diagram : location 7. Class Diagram : genset 8. Class Diagram : main 9. Class Diagram : start_stop_reboot 10. Class Diagram : monitor 11. Class Diagram : control 12. Class Diagram : alert 13. Class Diagram : alarm 3.5 Class Diagram Description ตำรำงท่ี 22 Class Description: Signin (Attribute) Class Name: Signin Description: เข้าสู่ระบบ Attribute Type Description ชือ่ ผู้ใช้งาน #UserName String รหัสผ่านผู้ใช้งาน #UserPassword String

38 ตำรำงท่ี 23 Class Description: Signin (Method) Class Name: Signin Description Description: เข้าสู่ระบบ เข้าสู่ระบบ Method ออกจากระบบ +Login() ตรวจสอบ +Logout() +Verify() ตำรำงท่ี 24 Class Description: Admin (Attribute) Class Name: Admin Description: ผดู้ แู ลระบบ Attribute Type Description ชือ่ ผู้ดูแลระบบ #UseName String รหัสผู้ดูแลระบบ สถานะการ Login #Password String ระดับการเข้าถึงมากทีส่ ดุ #Loginstatus String #the first priority Integer ตำรำงท่ี 25 Class Description: Admin (Method) Class Name: Admin Description Description: ผดู้ แู ลระบบ Method

39 +Editing() สิทธิ์ในการเข้าถึงการแก้ไขข้อมลู ผู้ใช้ +SettingRights() สิทธิ์ในการเข้าถึงการต้ังค่า +AccessRights() สิทธิ์ในการเข้าถึงฟงั ก์ชันที่ไม่อนญุ าตให้ผใู้ ช้ท่วั ไปใช้ +configsystem() สิทธิ์ในการแก้ไขค่าของระบบ +add_user() เพิม่ User +delete_user() ลบ User +edit_data_user() แก้ไขข้อมูลของ User +specify_level_user() ปรับเปลีย่ นสิทธิใ์ นการใชง้ านของ User +apply_data_user() ปรับเปลีย่ นข้อมลู User ตำรำงท่ี 26 Class Description: User (Attribute) Class Name: User Type Description Description: ผใู้ ช้ Integer ชื่อผู้ใช้งาน Attribute String รหสั ผู้ใช้งาน #UseName String สถานะการ Login #Password String ระดบั การเข้าถึง #Loginstatus #level priority ตำรำงท่ี 27 Class Description: User (Method) Class Name: User Description Description: ผใู้ ช้ สิทธิใ์ นการเข้าถึงฟงั ก์ชันทัว่ ไป สิทธิ์ในการเข้าถึงการต้ังค่า Method แก้ไขข้อมลู ของ User +AccessRights() +SettingRights() +edit_data_user

40 +apply_data_user ปรับเปลีย่ นข้อมลู User ตำรำงท่ี 28 Class Description: modify (Attribute) Class Name: modify Type Description Description: แก้ไขค่าระบบ String ค่าเริม่ ตน้ IOT String ค่าเริม่ ตน้ raspberry pi Attribute String ค่าเริ่มตน้ application #default IoT system #default raspberry pi #default application ตำรำงท่ี 29 Class Description: modify (Method) Class Name: modify Description Description: แก้ไขค่าระบบ แก้ไขค่าระบบ IOT Method +configuration IoT system() +configuration raspberry pi() แก้ไขค่าระบบ raspberry pi +configuration application() แก้ไขค่าระบบ application ตำรำงท่ี 30 Class Description: Location (Attribute) Class Name: location Description: สถานที่ Attribute Type Description #Landmark of Location String ทีต่ ง้ั สถานที่ #LocationName Char ชื่อสถานที่ #Member of genset String เครื่องที่อยู่ในสถานที่

41 ตำรำงท่ี 31 Class Description: Location (Method) Class Name: location Description Description: สถานที่ เลือกสถานที่ เลือกทีต่ งั้ Method ย้อนกลบั หนา้ ก่อนนี้ +choose location() เพิ่มสถานที่ +choose landmark() +back() +add location() ตำรำงท่ี 32 Class Description: Genset (Attribute) Class Name: genset Type Description Description: เจนเซต String ไอดี เจนเซต String สถานที่ที่เจนเซตอยู่ Attribute String หมายเลขเจนเซต #ID Genset #Location of genset #Serial Genset ตำรำงท่ี 33 Class Description: Genset (Method) Class Name: genset Description Description: เจนเซต สถานะเจนเซต Method เลือกเจนเซต +status genset() +choose genset()

42 +back() ย้อนกลับหนา้ ก่อนนี้ +add genset() เพิม่ เจนเซต ตำรำงท่ี 34 Class Description: Start Stop Reboot (Attribute) Class Name: Start Stop Reboot Description: เริม่ หยุด รีบูทการทางาน Attribute Type Description #start stop Boolean เริ่มและหยดุ การทางานเคร่ือง #reboot Boolean เริ่มการทางานใหม่ ตำรำงท่ี 35 Class Description: Start Stop Reboot (Method) Class Name: Start Stop Reboot Description: เริม่ หยดุ รีบทู การทางาน Method Description +button for start stop() ปุ่มสาหรับ เริ่ม/หยดุ การทางาน +button for reboot() ปุ่มสาหรับ เริ่มการทางานใหม่ +scroll bar() แถบเลื่อน +back() ย้อนกลบั หนา้ ก่อนนี้ ตำรำงท่ี 36 Class Description: Monitor (Attribute) Class Name: monitor Type Description Description: ดคู ่าสถานะ String ดูค่าสถานะเครือ่ งเจนเซต Attribute #monitor gen

43 #status electricity Integer ดูค่าสถานะไฟฟ้า #frequency and cycle Integer ดูความถีแ่ ละรอบการทางาน #default String ค่าสถานะเดิม ตำรำงท่ี 37 Class Description: Monitor (Method) Class Name: monitor Description Description: ดูค่าสถานะ ดึงค่า ดูโหมดการทางาน Method หนว่ ยสถานะ +get value() แถบเลือ่ น +mode() ค่าสถานะเครื่อง +Unit state() อัตราการปั่นไฟ +scroll bar() สถานะหลกั +Engine state() สถานะเจนเนอเรเตอร์ +act power() สถานะอื่นๆ +mains values() ข้อมูลเข้า/ออก +generator values() รอบการทางานและความถี่ +other values() อพั เดทล่าสุด +inputs/outputs() ช่ัวโมงการทางาน +frequency and cycle() อื่นๆ +last update() ระดับน้ามัน +run hours() แถบเลื่อน +other / statistics() แสดงคา่ สถานะเดิม +fuel level() +scroll bar() +show default()

44 ตำรำงท่ี 38 Class Description: Controll (Attribute) Class Name: controll Type Description Description: การควบคมุ String ควบคุมเครือ่ งเจนเนอเรเตอร์ Integer ควบคุมสถานะไฟฟ้า Attribute Integer การควบคุมรอบและความถี่ #control gen String แก้ไขค่าสถานะเดิม #set cost electricity #frequency and cycle #default ตำรำงท่ี 39 Class Description: Controll (Method) Class Name: controll Description Description: การควบคุม ตั้งค่าสถานะ เปลีย่ นโหมด Method แถบเลือ่ น +set value() แก้ไขอตั ราการป่ันไฟ +mode() แก้ไขค่าสถานะหลกั +scroll bar() ควบคุมเจอเนอเรเตอร์ +act power() ควบคุมค่าอืน่ ๆ +mains values() ควบคมุ สถานะเครื่องยนต์ +generator values() กาหนดขอ้ มูลนาเข้า/ออก +other values() กาหนดรอบและความถี่การทางาน +Engine state() ย้อนกลบั หนา้ ก่อนนี้ +inputs/outputs() +frequency and cycle() +back()

45 +accept() ตกลง +cancel() ยกเลิก +other / statistics() อื่นๆ +apply() แก้ไข +scroll bar() แถบเลือ่ น +edit default() แก้ไขค่าดง้ั เดิม ตำรำงท่ี 40 Class Description: alert (Attribute) Class Name: alert Description: แจ้งเตือน Attribute Type Description #Notify abnormal Char แจ้งเตือนเมอ่ื เกิดความผดิ ปกติของสถานะ status #danger Char อันตราย ตำรำงท่ี 41 Class Description: alert (Method) Class Name: alert Description: แจ้งเตือน Method Description +accept ตกลง +cancle ยกเลิก

46 ตำรำงท่ี 42 Class Description: alarm (Attribute) Class Name: alarm Description: แจ้งเตือน Attribute Type Description #Notify changing Char แจ้งเตือนเม่อื มีการเปลี่ยนแปลงค่าสถานะ status #warning Char คาเตอื น ตำรำงท่ี 43 Class Description: alarm (Method) Class Name: alarm Description: แจ้งเตือน Method Description +accept ตกลง +cancle ยกเลิก ตำรำงท่ี 44 Class Description: compose data (Attribute) Class Name: compose data Description: แก้ไขข้อมลู Attribute Type Description ข้อมลู ที่ Admin สามารถแก้ไข #edit data String ค่าเดิมของข้อมลู น้ัน #default String ตำรำงท่ี 45 Class Description: compose data (Method) Class Name: compose data Description: แก้ไขข้อมูล

47 Method Description +edit data Admin แก้ไขข้อมูล +add data เพิ่มข้อมูล +delete data ลบข้อมูล +default แสดงคา่ เดิมของขอ้ มูลน้ัน ตำรำงท่ี 46 Class Description: main (Attribute) Class Name: main Type Description Description: ฟังก์ชันหลัก String Raspberry pi รบั ค่าจาก gen set String Raspberry pi ส่งค่าให้ gen set Attribute String ค่าสถานะเริม่ ตน้ #get value genset #set value genset #default ตำรำงท่ี 47 Class Description: main (Method) Class Name: main Description: ฟังก์ชนั หลัก Method Description +control ไปที่ฟังก์ชนั control +monitor ไปที่ฟังก์ชนั monitor +relation การเชอ่ื มต่อของฟังก์ชนั +default แสดงคา่ สถานะเริ่มตน้

48 3.6 Sequence Diagram Sequence Diagram คือ การสร้างแบบจาลองเชิงกิจกรรมจาลองกระบวนการที่ทาให้ เกิดกิจกรรมของระบบ เกิดจากชุดของกิจกรมซึ่งกิจกรรมหนึ่ง ๆ นั้นเกิดจากการที่ ออปเจค (Object) หนง่ึ โต้ตอบกบั อีกออปเจค (Object) หนึ่ง ซีเคว้นไดอะแกรม (Sequence Diagram) เป็น (Diagram) ที่ประกอบด้วยคลาส (Class) หรือ ออปเจค (Object) เส้นที่ใช้เพื่อแสดงลาดับ เวลา และเส้นที่ใช้เพื่อแสดงกิจกรรมที่เกิดจากออปเจค (Object) หรือ คลาส (Class) ในไดอะแกรม (Diagram) ซึง่ มีสัญลักษณ์ดงั นี้ ตำรำงท่ี 48 แสดงสัญลักษณท์ ใ่ี ช้ใน Sequence Diagram : Process Actor ผู้ที่เกี่ยวข้องกับระบบ (Actor ที่เป็นสิ่งมีชีวิต) มี บทบาทเป็นผู้คาดหวังผลลัพธ์หรือผลักดันให้เกิดกิจกรรม ของระบบ Process กระบวนการทางานที่มีการเรียกใช้ตัวกระบวนการ นีแ้ ละมีการคืนคา่ กลับไปยงั ผเู้ รียก Message1 เป็นตัวที่สง่ ขอ้ ความจากวตั ถหุ นึง่ ไปยังอีกวตั ถหุ น่งึ Message2 Call Message ส่งตัวข้อความตอบกลับจากวัตถุหนึ่งเพื่อ Message3 เรียกใช้ฟงั ก์ชนั การทางานของอกี วตั ถหุ นึง่ Return Message ตัวส่งข้อความตอบกลับจากวัตถุที่ถูก เรียกใช้หรอื ส่งข้อความไป Application Status and Control generator System by Modbus IoT ประกอบด้วย Sequence Diagram ดงั น้ี 1.Sequence Diagram : login 2.Sequence Diagram : location gen 3.Sequence Diagram : edit_user

49 4.Sequence Diagram : main 5.Sequence Diagram : monitor 6.Sequence Diagram : control ภำพที่ 15 Sequence Diagram : login 1. แอดมนิ และผใู้ ช้กรอก username 2. แอดมนิ และผใู้ ช้กรอก password 3. การล็อกอินเข้าใช้งาน ภำพที่ 16 Sequence Diagram : location gen 1. แอดมนิ และผใู้ ช้เลอื กจังหวัดทีม่ ีสถานทีท่ ี่ติดตง้ั เจนเซตไว้


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