ระบบควบคุมการเปิดปิด Wireless Access Point จากระยะไกล


20140205_200842

 

        Power Injector ซึ่งเป็นตัวจ่ายไฟให้กับ Acess Point(AP) เมื่อประสบปัญหา AP เกิดอาการแฮงค์ จะต้องทำการรีบูท โดยวิธีการรีบูทก็คือการตัดไฟแล้วค่อยจ่ายไฟให้ใหม่ โดยที่จะต้องไปถอดปลั๊กและเสียบใหม่ที่ตัว Power Injector จึงอยากได้ตัวควบคุมเปิด-ปิดไฟได้โดยที่ไม่ต้องเข้าไปถอดปลั๊กเอง ชุดอุปกรณ์นี้สามารถควบคุมได้ผ่านทางสายแลนหรือระบบเน็ตเวิร์ค ซึ่งจะมีส่วนของ Web interface เป็นตัวควบคุมสำหรับ User ดังนั้นจึงได้ชุดอุปกรณ์ที่มีลักษณะคล้ายกับ Power Distribution Unit(PDU) ที่มีขายในตลาด ประสิทธิภาพใกล้เคียงกัน แต่มีราคาที่ถูกกว่าประมาณ 4 เท่า สามารถเปิด-ปิดตามที่ต้องการ ตั้งเวลาเปิด-ปิดเพียงครั้งเดียว หรือจะให้ทำซ้ำทุกวัน ทุกสัปดาห์ ทุกเดือนหรือทุกปี และยังมีส่วนของการวัดอุณหภูมิและความชื้นในอากาศที่จะวัดอุณหภูมิ ณ จุดติดตั้ง เพื่อที่จะนำมาวิเคราะห์เมื่อ AP เกิดอาการแฮงค์ได้ในภายหลัง

โครงสร้างการทำงาน

2557-02-23_15h04_42

       User จะควบคุมการเปิด-ปิดปลั๊กไฟผ่านทาง Web Interface ซึ่งจะใช้การเก็บค่าสถานะไว้ที่ฐานข้อมูล โดยที่จะลงเซิฟเวอร์ไว้ที่ Raspberry Pi ซึ่งติดตั้งภายในเครื่อง แล้วใช้โค้ด Python ในการตรวจสอบข้อมูลในฐานข้อมูล และสั่งการทำงานผ่าน GPIO ของ Raspberry Pi ตัวอย่างเช่น ถ้ามีสถานะให้ปลั๊ก Port 1 เปิด Python ก็สั่ง Out put ของ GPIO ให้ส่งค่า True ไปยัง Triac ซึ่งทำหน้าที่เป็นสวิตซ์ให้กับปลั๊ก

                                                                                                                                                                                                                                                                                                                                                                                                                                                                      แผนผังรวม         Untitled-1

รูปภาพ แสดงแผนผังของอุปกรณ์ภายในชุดอุปกรณ์

รูปภาพแสดงหน้าแสดงสถานะ

20140205_200824

        เมื่อมีการสั่งให้เปิดไฟในปลั๊กแต่ละช่อง ก็จะมีไฟสถานะสีเขียวแสดงว่ากำลังจ่ายไฟอยู่ ในทางกลับกันถ้าไม่มีการจ่ายไฟของปลั๊ก ไฟสีเขียวก็จะดับไป

รูปตัวอย่างหน้า Web Interface ที่ User ใช้

1) ส่วนควบคุมการเปิด – ปิด อุปกรณ์จ่ายไฟให้กับแอคเซสพอยต์โดยตรง (Manual) 

onoff

ในส่วนนี้ผู้ใช้สามารถควบคุมอุปกรณ์จ่ายไฟให้กับแอคเซสพอยต์แต่ละตัวจำนวน 6 ตัว โดยเป็นอิสระต่อกัน

 

2) ส่วนของการตั้งเวลาในการรีบูทแอคเซสพอยต์แบบครั้งเดียวจบ (One Time – Schedule)  

onetime_table

ในส่วนนี้ผู้ดูแลระบบจะสามารถตั้งเวลาการเปิด – ปิด อุปกรณ์จ่ายไฟให้กับแอคเซสพอยต์แต่ละตัว โดยจะทำงานเพียงครั้งเดียวแล้วจึงเสร็จสิ้นการทำงาน

 

3) ส่วนของการตั้งเวลาในการรีบูทแอคเซสพอยต์แบบทำซ้ำ (Repeat – Schedule)

repeat_create

ในส่วนนี้ผู้ดูแลระบบจะสามารถตั้งเวลาการเปิด – ปิด อุปกรณ์จ่ายไฟให้กับแอคเซสพอยต์แต่ละตัว โดยสามารถเลือกการทำงานได้ ซึ่งแบ่งออกเป็น 4 แบบการทำงาน คือ แบบรายวัน (Daily) แบบรายสัปดาห์ (Weekly) แบบรายเดือน (Monthly) และแบบรายปี (Yearly)

 

4) ส่วนของการแสดงผลการตรวจวัดอุณหภูมิ (Temperature)

temp_table

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

 

Code (Python) —

Code (PHP) —

Schematic —

วีดีโอสาธิตการใช้งาน —

ทีมพัฒนา

นักศึกษาจากภาควิชาวิศวกรรมคอมพิวเตอร์  คณะวิศวกรรมศาสตร์  มหาวิทยาลัยเชียงใหม่

นาย เจริญรัตน์   ทัพเพ็ชร  รหัสนักศึกษา  530610352

นางสาว สัจมน   ปันทา  รหัสนักศึกษา  530610400