windows下獲取cpu溫度以對外提供api,借用微星 MSI Afterburner(燃燒加力室) 個人原創


一開始的想法是我用4塊錢買到了一個iic的led124*32屏幕,想着用arduino uno來顯示電腦的cpu溫度,相當於一個簡易外設,如果用esp32還可以不用串口與電腦連線了。

然而第一步就卡住了,window並沒有提供真正的cpu溫度api,魯大師一類的都是自己寫的驅動。於是我查到了這個  Open Hardware Monitor beta,一個開源的硬件信息檢測工具。官網   Open Hardware Monitor - Core temp, fan speed and voltages in a free software gadget

但是我實在是不會調用那個。dll文件,看起來需要一定的c#基礎 。wmi調用倒是可以,但是要打開軟件才可以  ,在powershell(管理員權限)中 輸入   get-wmiobject -namespace root\OpenHardwareMonitor -query 'select * from Sensor'   就可以看到很多從傳感器獲得的數據

 

我覺得這個要打開軟件,有點多此一舉。找啊找,,找到了著名的 微星 MSI Afterburner,感謝微星,它提供了一個服務端,用http發布硬件信息,可以用手機app來查看硬件信息,甚至可以用手機超頻   官網  下載地址  Afterburner (msi.com)

需要下載MSI Afterburner與MSI Afterburner Remote Server。打開這倆軟件,我們先研究下他的協議,Afterburner Remote Server是一個http服務器,地址跟端口可以設置 

 

注意第一個密碼。后邊會用到

查看硬件信息與幀率的地址是    http://192.168.1.5:4000/mahm,(超頻是另一個后綴)  192.168.1.5是我自己電腦的局域網地址,請酌情更改,在瀏覽器里測試這個網址,會讓你輸賬號密碼  ,賬號是  MSIAfterburner   ,密碼就是 Secuity的內容 。服務器會返回一個xml,包含了非常多硬件信息

 

 

 然后就是處理這個xml文件了,uno上我准備寫一個客戶端解析xml然后用串口發送給uno板子,esp32就可以完全獨立完成http請求與解析xml並顯示在12864小屏幕了

以上獲取xml的協議我用到了Wireshark-抓包。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM