Управление скоростью вращения вентилятора и определение внутренней температуры компьютера с помощью Python? - PullRequest
5 голосов
/ 19 марта 2010

Поскольку вентилятор моего компьютера очень громкий, я хотел бы сделать для себя программу, которая "отключит его", когда он не будет работать на полной скорости. Я хочу сделать это с помощью Python, так есть ли какой-нибудь модуль, который может определять температуру и / или устанавливать скорость вращения вентилятора?

Ответы [ 3 ]

5 голосов
/ 23 марта 2010

Не используйте Python или WMI.

Если у вас Windows, и вы не можете использовать speedfan, лучше всего это делать на уровне BIOS, с помощью Microsoft ASL Compiler . Используя это, вы можете установить временные пороги для различных скоростей вращения вентилятора. Это работает хорошо. Будьте осторожны, хотя. Это приведет к аннулированию вашей гарантии и по уважительной причине. Используя этот инструмент неправильно или небрежно, вы можете настроить вентилятор так, чтобы он никогда не включался, что сразу приготовило бы ваши компоненты. Так что прочтите его и получите монитор температуры (программное приложение), прежде чем использовать этот инструмент.

У меня была эта проблема на моем ноутбуке, слишком много тепла. После расследования выясняется, что основным виновником был графический чип, который был включен ВСЕГДА при установке драйвера Windows Vista по умолчанию. Это был не процессор, который генерировал тепло. Это был ГПУ. Видимо, он был настроен на поддержку графики Aero. Таким образом, в дополнение к настройке скорости / скорости ASL, я выключил графический процессор. Также я уменьшил тактовую частоту, потому что тишина и холодные температуры важнее для меня, чем потенциальная частота процессора.

Этот пост супер пользователя описывает проблему и решения, которые я использовал более подробно.

0 голосов
/ 16 декабря 2018

Я нашел кое-что, по крайней мере, интересное. Он не управляет "направленностью" вентилятора, он контролирует температуру процессора, от которой зависит вентилятор. Я использую это в целях очистки. Я просто запускаю этот код, и с помощью пылесоса можно очистить вентилятор.

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()

Но не раскомментируйте часть памяти, это приведет к падению вашего ПК. Это использует версию Python 3.5 на логическом процессоре i7 8core

0 голосов
/ 19 марта 2010

Вы можете сделать это в WMI . Здесь есть связанный вопрос здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...