7
votes

Contrôler la vitesse du ventilateur et détecter la température intérieure du PC avec Python?

Étant donné que le ventilateur de mon PC est très fort, j'aimerais me faire un programme pour "le fermer" quand il n'est pas nécessaire d'exécuter à pleine vitesse. Je veux le faire avec python, alors existe-t-il un module capable de détecter la température et / ou de définir la vitesse du ventilateur?


8 commentaires

Avec votre système d'exploitation ... Windows XP? OS X? Amigaos?


Je sais que cela est contraire à l'esprit Python (sans oublier à la lettre de la question), mais y a-t-il une raison pour laquelle vous ne voudriez pas simplement installer un programme gratuit comme Speedfan ( almico.com/speedfan.php ) et utilisez ce temps pour d'autres aventures py passionnantes?


Nonobstant les bugs du contrôleur de ventilateur, comment savez-vous qu'il n'est pas nécessaire d'exécuter à pleine vitesse?


Voulez-vous cuisiner des œufs sur votre ordinateur portable? Plus sérieusement, quelqu'un sait-il s'il y a une menace réelle pour laisser un processeur surchauffer (disons dans un ordinateur portable)?


Le problème est que Speedfan ne fonctionne pas sur mon ordinateur (il se bloque quand je le démarre) et mon fan fait un enfer d'un gâchis, tandis que mon PC est assez froid


@Morlock - Oui, la menace est endommagée aux composants. La chaleur du processeur, sinon dissipée correctement, transmettra tout au long de la machine et la plupart des composants ne sont pas conçus pour tolérer cette chaleur. @TherabyTest, il y a de meilleures options, outre une application Python.


Mentionnant quel est votre système d'exploitation et ajouter un tel système en tant que balise, aiderait beaucoup dans votre description de la question.


@Morlock: Une plus grande chaleur équivaut à une plus grande résistance électrique et à la distorsion ou à des circuits de combustion même. De très petites fissures peuvent former, développer et contracter éventuellement casser quelque chose et causer des problèmes entre-temps. Parfois, faire des appels ménagers pour les ordinateurs mourants, environ 40% ou plus des modèles plus anciens ont été vraiment poussiéreux à l'intérieur et commencent à démarrer super-lent, ouvrant un navigateur peut devenir cauchemar. Ceux-ci peuvent souvent être considérablement améliorés avec une boîte d'air pour effacer la poussière et permettre à la chaleur de s'échapper.


3 Réponses :


1
votes

Vous pourrez peut-être le faire dans WMI . Il y a une question connexe ici .


0 commentaires

5
votes

N'utilisez pas Python ou WMI.

Si vous avez Windows, et si vous ne pouvez pas utiliser SpeedFan, c'est le mieux fait dans la couche BIOS, avec Compilateur ASL de Microsoft . En utilisant cela, vous pouvez définir des seuils temporaires pour différentes vitesses de ventilation. Ça marche bien. Soyez prudent cependant. Cela annulera votre garantie et pour une bonne raison. Utilisation de cet outil de manière incorrecte ou négligemment, vous pouvez définir votre ventilateur pour ne jamais activer, ce qui cuit vos composants tout de suite. Donc, lisez-le et obtenez un moniteur de température (application logicielle) avant d'utiliser cet outil.

J'ai eu ce problème sur mon ordinateur portable, waaay trop de chaleur. Après enquête, il s'avère que la puce graphique était la puce graphique, qui a été réglée pour toujours être activée, avec l'installation de pilote Windows Vista par défaut. Ce n'était pas le CPU qui générait la chaleur. C'était le GPU. Apparemment, il a été établi de cette façon de soutenir les graphiques Aero. Donc, en plus de faire la vitesse de la vitesse / ventilateur ASL, j'ai refusé le GPU. Aussi, j'ai refusé la vitesse de l'horloge, car le silence et les températures froides sont plus importantes pour moi que la vitesse potentielle du processeur.

Cet article super utilisateur décrit le problème et les solutions I utilisé plus en détail.


0 commentaires

0
votes

J'ai trouvé quelque chose qui au moins peut être intéressant. Il ne contrôle pas de fan "DIRECLTY", il contrôle la température de CPU à ce que le ventilateur dépend. Je l'utilise pour le nettoyage. Je viens d'exécuter ce code et avec un nettoyant à poussière d'air, il est possible de nettoyer le ventilateur.

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


2 commentaires

Je ne doute pas que cela fonctionne, mais cela me fait peur


Nous avons trouvé la vie réelle Long LifeUntuser4: xkcd.com/1172