簡體   English   中英

使用python控制風扇速度並檢測電腦的內部溫度?

[英]Controlling the fan speed and detecting the inside temperature of the pc with python?

由於我的電腦風扇非常響亮,我想讓自己成為一個程序,當它不需要全速運行時“關閉它”。 我想用python制作它,那么有沒有可以檢測溫度和/或設置風扇速度的模塊?

不要使用python或WMI。

如果你有Windows,並且你不能使用speedfan,最好在BIOS層, 微軟的ASL編譯器中完成 使用它,您可以為各種風扇速度設置臨時閾值。 它工作得很好。 但要小心。 這將使您的保修失效並且有充分的理由。 不正確或不小心使用此工具,您可以將風扇設置為永不開啟,這將直接烹飪您的組件。 因此,在使用此工具之前,請先閱讀並獲取溫度監控器(軟件應用程序)。

我的筆記本電腦出現了這個問題,太熱了。 在調查之后,結果發現一個主要的罪魁禍首是圖形芯片,它設置為始終打開,默認安裝Windows Vista驅動程序。 不是CPU產生了熱量。 這是GPU。 顯然它是這樣設置的,以支持Aero圖形。 所以除了做ASL溫度/風扇速度之外,我拒絕了GPU。 我也調低了時鍾速度,因為沉默和酷的溫度對我來說比潛在的CPU速度更重要。

這篇超級用戶帖子更詳細地描述了我使用的問題和解決方案。

您可以在WMI中執行此操作。 還有一個相關的問題在這里

我找到了至少可以有趣的東西。 它不控制de fan“direclty”它控制風扇所依賴的CPU溫度。 我用它來清潔。 我只是運行此代碼,並使用空氣除塵器可以清潔風扇。

import multiprocessing

def worker():
    """worker function"""
    print ('Worker')
    k = []

    # of course in an infinite loop
    while True:
        # lets use the cpu mathematical power, to increse its temp
        l = (2*33) >> 3 
        # it is also possible to consume memory..
        # but it will crash windows 8.1 after a while
        # k.append(l)
        pass
    return

if __name__ == '__main__':
    jobs = []

    cpu = multiprocessing.cpu_count()
    print("CPU count=" + str(cpu))
    for i in range(cpu):
        p = multiprocessing.Process(target=worker)
        jobs.append(p)
        p.start()

但是,不要取消注釋內存部分,它會崩潰您的PC。 這是在i7 8core邏輯cpu PC上使用python 3.5版本

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM