Power Injector ซึ่งเป็นตัวจ่ายไฟให้กับ Acess Point(AP) เมื่อประสบปัญหา AP เกิดอาการแฮงค์ จะต้องทำการรีบูท โดยวิธีการรีบูทก็คือการตัดไฟแล้วค่อยจ่ายไฟให้ใหม่ โดยที่จะต้องไปถอดปลั๊กและเสียบใหม่ที่ตัว Power Injector จึงอยากได้ตัวควบคุมเปิด-ปิดไฟได้โดยที่ไม่ต้องเข้าไปถอดปลั๊กเอง ชุดอุปกรณ์นี้สามารถควบคุมได้ผ่านทางสายแลนหรือระบบเน็ตเวิร์ค ซึ่งจะมีส่วนของ Web interface เป็นตัวควบคุมสำหรับ User ดังนั้นจึงได้ชุดอุปกรณ์ที่มีลักษณะคล้ายกับ Power Distribution Unit(PDU) ที่มีขายในตลาด ประสิทธิภาพใกล้เคียงกัน แต่มีราคาที่ถูกกว่าประมาณ 4 เท่า สามารถเปิด-ปิดตามที่ต้องการ ตั้งเวลาเปิด-ปิดเพียงครั้งเดียว หรือจะให้ทำซ้ำทุกวัน ทุกสัปดาห์ ทุกเดือนหรือทุกปี และยังมีส่วนของการวัดอุณหภูมิและความชื้นในอากาศที่จะวัดอุณหภูมิ ณ จุดติดตั้ง เพื่อที่จะนำมาวิเคราะห์เมื่อ AP เกิดอาการแฮงค์ได้ในภายหลัง
โครงสร้างการทำงาน
User จะควบคุมการเปิด-ปิดปลั๊กไฟผ่านทาง Web Interface ซึ่งจะใช้การเก็บค่าสถานะไว้ที่ฐานข้อมูล โดยที่จะลงเซิฟเวอร์ไว้ที่ Raspberry Pi ซึ่งติดตั้งภายในเครื่อง แล้วใช้โค้ด Python ในการตรวจสอบข้อมูลในฐานข้อมูล และสั่งการทำงานผ่าน GPIO ของ Raspberry Pi ตัวอย่างเช่น ถ้ามีสถานะให้ปลั๊ก Port 1 เปิด Python ก็สั่ง Out put ของ GPIO ให้ส่งค่า True ไปยัง Triac ซึ่งทำหน้าที่เป็นสวิตซ์ให้กับปลั๊ก
รูปภาพ แสดงแผนผังของอุปกรณ์ภายในชุดอุปกรณ์
รูปภาพแสดงหน้าแสดงสถานะ
เมื่อมีการสั่งให้เปิดไฟในปลั๊กแต่ละช่อง ก็จะมีไฟสถานะสีเขียวแสดงว่ากำลังจ่ายไฟอยู่ ในทางกลับกันถ้าไม่มีการจ่ายไฟของปลั๊ก ไฟสีเขียวก็จะดับไป
รูปตัวอย่างหน้า Web Interface ที่ User ใช้
1) ส่วนควบคุมการเปิด – ปิด อุปกรณ์จ่ายไฟให้กับแอคเซสพอยต์โดยตรง (Manual)
ในส่วนนี้ผู้ใช้สามารถควบคุมอุปกรณ์จ่ายไฟให้กับแอคเซสพอยต์แต่ละตัวจำนวน 6 ตัว โดยเป็นอิสระต่อกัน
2) ส่วนของการตั้งเวลาในการรีบูทแอคเซสพอยต์แบบครั้งเดียวจบ (One Time – Schedule)
ในส่วนนี้ผู้ดูแลระบบจะสามารถตั้งเวลาการเปิด – ปิด อุปกรณ์จ่ายไฟให้กับแอคเซสพอยต์แต่ละตัว โดยจะทำงานเพียงครั้งเดียวแล้วจึงเสร็จสิ้นการทำงาน
3) ส่วนของการตั้งเวลาในการรีบูทแอคเซสพอยต์แบบทำซ้ำ (Repeat – Schedule)
ในส่วนนี้ผู้ดูแลระบบจะสามารถตั้งเวลาการเปิด – ปิด อุปกรณ์จ่ายไฟให้กับแอคเซสพอยต์แต่ละตัว โดยสามารถเลือกการทำงานได้ ซึ่งแบ่งออกเป็น 4 แบบการทำงาน คือ แบบรายวัน (Daily) แบบรายสัปดาห์ (Weekly) แบบรายเดือน (Monthly) และแบบรายปี (Yearly)
4) ส่วนของการแสดงผลการตรวจวัดอุณหภูมิ (Temperature)
ในส่วนนี้จะเป็นส่วนของการแสดงข้อมูลการเก็บอุณหภูมิของตำแหน่งที่ตั้งชุดอุปกรณ์ควบคุมนี้ ณ เวลาต่างๆ ของแต่ละวัน โดยในที่นี้เราจะเก็บข้อมูลการตรวจวัดอุณหภูมิทุกๆ 10 นาที และเก็บข้อมูลลงในฐานข้อมูล แล้วแสดงข้อมูลเหล่านั้นออกมาเป็นตาราง เพื่อให้ผู้ดูแลระบบสามารถตรวจสอบการเปลี่ยนแปลงอุณหภูมิย้อนหลัง และสามารถนำไปวิเคราะห์ได้
Code (Python) —
Code (PHP) —
Schematic —
วีดีโอสาธิตการใช้งาน —
ทีมพัฒนา
นักศึกษาจากภาควิชาวิศวกรรมคอมพิวเตอร์ คณะวิศวกรรมศาสตร์ มหาวิทยาลัยเชียงใหม่
นาย เจริญรัตน์ ทัพเพ็ชร รหัสนักศึกษา 530610352
นางสาว สัจมน ปันทา รหัสนักศึกษา 530610400