BLOG

LEVEL51 SystemX

ความฝันของที่ผมสามารถนอนที่โซฟา แล้วกดเปลี่ยนเพลงได้
หรือเกิดพารานอยอยากดูอุณหภูมิเครื่องตอนเล่นเกม ก็เป็นจริงแล้ว

SystemX v1 เลิกพัฒนาแล้ว กรุณาใช้โปรแกรม SystemX v2 แทนครับ 

SYSTEMx เป็นโปรแกรมที่ใช้ในการดูอุณหภูมิและความเร็ว CPU/GPU ของเครื่องเรา...ผ่านมือถือครับ ชื่อเต็มมันมาจาก System eXtension เป็นระบบ Second Screen ที่ผมเขียนขึ้นมา เพื่อตอบสนอง Need ของตัวเองเป็นหลัก และนำมาแบ่งให้ทุกคนใช้กันด้วย

(แต่ถ้าไอเดียต้นทางเลย อยากจะเอามือถือวางไว้ข้างๆ ใช้แทนปุ่มมาโครครับ คริๆๆๆๆ ปล. ผมเคยทำโปรแกรมประมาณนี้ไว้แล้ว ตอนซื้อจอยแบบ Bluetooth มาแล้ว มันใช้กับเกมบน Windows Store หลายเกมไม่ได้)

ถามว่า จะทำแบบนี้ไปทำไม ก็เพราะว่าการแสดงอุณหภูมิบนหน้าจอเกม มันรก และที่สำคัญคือ มันต้องใช้การ "Hook" เพื่อให้สามารถแสดงข้อความทับลงไปบนเกมได้ ถ้าเราเล่นเกมจาก Steam, Origin ซึ่งสองระบบนี้มีการ "Hook" เพื่อแสดง Steam Overlay, Origin In-Game กันอยู่แล้ว ถ้ายังจะเอาโปรแกรมอื่น Hook ซ้อนกันไปอีก (เอาให้สุด ก็จะมี Overwolf, FRAPS, Nvidia GeForce Experience, Steam/Origin ที่มัน Hook พร้อมกัน) เช่น ใช้ EVGA Precision X มันก็ดูสิ้นเปลืองอย่างไรไม่รู้ :P

(แต่กำลังอยากจะแสดง FPS ใน SYSTEMx ด้วย อาจจะต้องทำตัว Hook ของตัวเองบ้าง)

วิธีการติดตั้ง

ไปที่ http://bit.ly/lv51-systemx แล้วกด "Launch" แนะนำให้เปิดด้วย Microsoft Edge ครับ แต่ถ้าใช้ Chrome มันจะดาวน์โหลดไฟล์มา ต้องเปิดไฟล์ที่ดาวน์โหลดอีกที

จากนั้นกดปุ่ม Install ในหน้าจอที่แสดงขึ้นมา สังเกตว่า จะมีคำเตือนเรื่องที่เป็น "Unknown Publisher" เนื่องจากเรายังไม่มี (ไม่ได้ซื้อ) Code-Signing Certificate ครับ มันก็จะขึ้นเตือนว่า ระวังนี้ ไอ้นี่มันใครก็ไม่รู้

จากนั้นก็จะเป็นการดาวน์โหลดไฟล์ของตัวโปรแกรมมา และมีคำเตือนรอบที่สอง

ให้เอาเครื่องหมายถูกหน้า "Always ask before opening this file" ออก แล้วกด "Run" ซึ่งจะมีคำเตือนว่า ต้องการจะรันโปรแกรมนี้ในโหมด Admin หรือไม่ ต้องตอบ Yes ครับ เพราะว่า SystemX ใช้ OpenHardwareMonitor ที่ต้องรันแบบ Admin เท่านั้นในการอ่านค่า Sensor ต่างๆ ซึ่งผมนำมาแก้ไขเพิ่มเล็กน้อย ให้อ่านค่าของ Sensor, Mainboard บางอย่างเพิ่ม เพื่อนำมาใช้งาน (Source Code อยู่ที่นี่)

หลังจากโปรแกรมเปิดแล้ว มันจะเป็นแค่ไอคอนบน Task Bar ครับ ตัวมันเองไม่มีหน้าจอเป็นของตัวเอง

คลิกขวาที่หน้าจอ จะมีเมนูขึ้นมา

  1. Start with Windows : โปรแกรมจะเปิดเองเวลาเข้า Windows ครับ แต่ Windows จะขึ้นถามทุกครั้ง ว่าจะยอมรันแบบ Admin มั๊ย สามารถใช้ NSSM (Non Sucking Service Manager) รันเป็น Service ซะเลย หรือใช้ Task Scheduler ตั้งให้เปิดตัวโปรแกรมเองได้แบบไม่ถามครับ

  2. Save To Cloud : โปรแกรมจะส่งข้อมูลของ Sensor ต่างๆ เซฟลงไปใน Azure Table Storage ของ LEVEL51 อนาคตน่าจะมีหน้าจอสำหรับดูสถิติย้อนหลังได้ แต่ปัจจุบันข้อมูลนี้ยังไม่ได้ใช้ทำอะไรครับ สามารถปิดได้ และไม่มีข้อมูลที่สามรถบอกได้ว่าคุณคือใครเก็บอยู่ โดยผมใช้ "Installation Id" ซึ่งจะเป็น GUID ที่สร้างขึ้นมาจากฟังก์ชั่น Guid.NewGuid() เป็นเลขกับตัวอักษรที่สุ่มออกมาครับ ถ้าติดตั้งใหม่ ก็จะได้ GUID ใหม่ ไม่สามารถอ่านข้อมูลเดิมได้อีก ว่าอย่างนั้น



    ข้อมูลอีกอย่างที่จะถูกนำขึ้น Azure Table คือ "SensorDump" โดยจะเป็นรายการของ Sensor ทั้งหมดที่อ่านได้ของเครื่องนั้นๆ ครับ ใช้ในการช่วย Debug ถ้าเกิดแจ้งเข้ามาว่า ข้อมูลบางอย่างไม่แสดงผล เป็นต้น และใช้วางแผนได้ด้วยว่า ต่อไปควรจะแสดง Sensor อะไรเพิ่มอีก ที่หลายๆ เครื่องมีเหมือนกัน

  3. QR Code จะแสดงหน้า QR Code เพื่อให้มือถืออ่าน เพื่อเอา URL สำหรับต่อเข้ามาครับ กดแล้วจะเป็นการเปิด Web Browser และได้หน้าจอแบบนี้



ก็ใช้โปรแกรมอ่าน QR Code บนมือถือทั่วไป อ่านจะได้ URL มาครับ โดยมากจะเป็นลักษณะแบบนี้ http://192.168.1.113:51000 สามารถใช้อะไรก็ได้ ที่มี Browser ที่ทันสมัยหน่อย เปิดเข้าไปได้หมดครับ รวมไปถึงเครื่องคอมพิวเตอร์เครื่องอื่นด้วย โดยตัว LEVEL51 SystemX จะทำตัวเป็น Web Server ที่ปล่อยไฟล์ที่ถูกฝังอยู่ในตัวโปรแกรมออกไป (แน่นอนว่าจะไม่สามารถแก้ไขไฟล์พวกนี้เองได้ครับ เพราะจะมองไม่เห็นตัวไฟล์ใน Folder ที่ติดตั้ง)

การใช้งาน

สำหรับฟังก์ชั่นหลักๆ เลยของมัน ก็คือการเอาไว้ดูอุณหภูมิ ความเร็ว และ Load (ปริมาณการใช้งาน) ของอุปกรณ์สำคัญสองชิ้นในเครื่องเราครับ คือ CPU (สีฟ้า) และ GPU (สีเขียว) วิธีดูก็คล้ายกับหน้าปัทม์รถแบบ Digital ครับ เลขตรงกลางคือความเร็ว และวงโค้งๆ บอก Load 

สำหรับกราฟด้านบน คือ ความร้อนของ GPU/CPU ในช่วง 60 วินาทีที่ผ่านมาครับ วิธีตีความก็คล้ายกับการดูความร้อนหม้อน้ำรถเลย ถ้ากราฟอยู่กลางๆ คือ อุณหภูมิปกติ (~50c) ถ้ากราฟอยู่ติดบนเลยคือ อุณหภูมิใกล้ 100c ครับ ปิดเครื่องเหอะ! 

ส่วนแถบด้านบน จะเป็นการเลือกโปรไฟล์ของ Control Center แนะนำให้ใช้โหมด Entertainment เพื่อให้ความเร็ว CPU ปรับขึ้นลงเองได้ เพื่อช่วยประหยัดพลังงานและลดความร้อนสะสม โดยพอมีการใช้งานหนัก ความเร็วก็จะดีดขึ้นไปเอง ใช้งานได้เฉพาะเครื่อง CLEVO ที่ติดตั้ง Control Center ครับ ถ้าโปรแกรมตรวจพบว่าไม่ใช่เครื่อง Clevo มันจะซ่อนแถบนี้ออกไปเอง

พัดลมก็มีสองโหมด สลับกันระหว่าง โหมดพัดลม (Auto) กับ โหมดเครื่องเจ็ทครับ (Maximum Fan Speed) อิอิ

แตะที่ Hamburger Menu มุมซ้ายจะมีตัวเลือกเพิ่มคือ Media Control

ในหน้าจอนี้จะเป็นปุ่มในการควบคุมการเล่นเพลงหรือหนัง ใช้งานได้กับโปรแกรมที่รองรับการกดปุ่ม Play/Pause บน Keyboard ทุกโปรแกรมครับ เนื่องจากเป็นการจำลองการกด Keyboard โดยตรงเลย ปุ่มเพิ่มลดเสียงก็เช่นเดียวกัน (แต่พบว่าใช้ปุ่ม Stop ไม่ได้นะ) มันมีฟีเจอร์นี้ก็เพราะที่บอกตอนแรกว่า อยากจะใช้มันทำปุ่มมาโครด้วยไงล่ะ!

สำหรับสองปุ่มสุดท้ายก็คือ Sleep ใช้สำหรับสั่งให้เครื่อง Sleep ครับ สมมุติว่าเปิดเพลงอยู่ แล้วนอนอยู่บนเตียง จะปิดเพลง ก็ไม่ต้องลุกไปกดละ คริๆ กรณีถัดมา จะปิดไฟนอนแล้ว แต่ยังอยากให้เพลงเล่นอยู่ ก็กด Monitor Off เฉยๆ ได้ (แต่การกดปุ่มควบคุมต่างๆ จะทำให้หน้าจอเปิดขึ้นมาใหม่นะ)

ขอบคุณมากครับที่อ่านมาจนถึงตรงนี้ และหวังว่า โปรแกรมนี้จะเป็นประโยชน์นะ

คำถามที่พบบ่อย

ใช้กับยี่ห้ออื่นได้ไหม

ได้สิครับ แต่โปรไฟล์กับพัดลมมันจะใช้งานไม่ได้ มันจะหายไปเอง

ฟรี?

ฟรีครับ

Open Source?

ตอนนี้ยังครับ ขอตรวจสอบก่อนว่า เผลอใส่ Password อะไรไว้ไหม แล้วเดี๋ยวว่าจะปล่อยให้ทาง GitHub ของเราครับ

License ?

License MsPL ครับ (คำอธิบาย

บอกรอบพัดลมได้ไหม

โน๊ตบุ้คผมไม่มี Sensor ตัวนี้ครับ เลยไม่ได้ทำ

ดาวน์โหลดเวอร์ชั่นล่าสุดที่ไหน

ที่ http://bit.ly/lv51-systemx ครับ (Auto Update)

BLOG