Gestion thermique automatique de PC

F9w3edcncf4qemim299w

Difficulté:

Gérer automatiquement la température de son ordinateur avec affichage des paramètres du système sur un écran TFT 800×480 couleur

 


 


Bienvenue à tous !
Dans ce tutoriel, vous allez, je l’espère, apprendre beaucoup de choses et notamment comprendre comment réaliser un affichage graphique design des informations de votre PC. Mais ce n’est pas tout, ce dispositif communément appelé rhéobus, permettra également de contrôler de manière automatique la vitesse des ventilateurs de votre machine afin de soulager vos oreilles (oui sur certains ordinateurs, les ventilateurs font du bruit, beaucoup de bruit). Enfin, ce dispositif vous permettra de contrôler minutieusement sa température de manière optimale.
Vous êtes prêts? Alors c’est parti! Armez-vous simplement de patience, et du matériel indiqué ci-dessous


 

Matériel

Moysw0gls70t3vcwbrct

Budget:

140 €

 

Il vous faudra principalement pour réaliser ce projet:
– Une carte Arduino MEGA 2560 (REV3) (environ 50€)
– Un ecran TFT 5 pouces (tactile ou non) avec une interface 40 pins (boutique Adafruit ou Digi-key) (environ 50€)
– Un controleur pour votre écran RA8875 (environ 30€)
– un lot de câbles pour platines d’essais (environ 5€)
– Des mains et un cerveau (normalement vous en êtes tous équipés)

 

Etape 1 : Budget: 140€

 

Etape 2 : Un peu de théorie

Owe3ttbe37nwatcghlnn

 

Avant de vous lancer dans ce projet, il faut déjà prendre connaissance du principe de fonctionnement qui repose derrière. Veillez à lire attentivement cette étape!
Nous souhaitons réaliser un affichage qui transmet à l’utilisateur les informations importantes de son système dans une interface claire. Il faut d’ores et déjà séparer la partie graphique, qui réalise l’interface entre l’ordinateur et l’humain, de la partie traitement qui se charge de récupérer les informations utiles, de les analyser et d’agir en conséquence. Notre partie graphique ici, ce sera simplement l’affichage des informations système tel que vous pouvez le voir sur l’image de présentation. Vous comprendrez rapidement que cette partie ne constitue pas en soi un challenge important : il s’agit simplement d’une exploitation cohérente du driver RA8875. Parlons-en d’ailleurs de ce composant que peu de personnes doivent connaître mais qui est pourtant indispensable lorsque l’on souhaite piloter un écran de 800×480 avec une carte Arduino. Il permet simplement de rendre rapide l’affichage de formes simples pour soulager l’arduino qui elle se charge simplement de lui transmettre des instructions du type “dessine un rectangle bleu”,… Cette communication entre l’Arduino et le RA8875 s’effectue par une liaison SPI qui sera détaillée plus loin dans la réalisation de ce projet.

Comment récupérer les informations du système sur la carte Arduino?
Pour cela on va utiliser une passerelle qui prendra la forme d’un programme en python qui s’exécutera en arrière plan et qui permettra de réaliser la liaison entre, d’une part, le logiciel CoreTemp (téléchargeable à l’adresse suivante: http://www.alcpu.com/CoreTemp/) qui permet de récupérer les données de votre système, et d’autre part, la carte Arduino avec laquelle on communiquera via le port série. L’intervalle de rafraîchissement maximum de CoreTemp est de 1 seconde ce qui permet d’acutaliser fréquemment les données de votre ordinateur.

Comment contrôler la vitesse des ventilateurs?
Pour cela, rien de plus simple, on utilise simplement les ports PWM de notre carte Arduino. Il faudra au préalable s’assurer que vos ventilateurs sont PWM, c’est-à-dire que leur vitesse de rotation peut-être contrôlée via des impulsions électriques. Pour cela, rien de plus simple, il vous suffit d’ouvrir votre boitier et de repérer la fiche de chaque ventilateur connecté sur votre carte mère. Si elle dispose de 4 pins, c’est bon ! Sinon, si ce sont des ventilateurs à 3 ou 2 pins, je suis désolé mais ils ne pourront pas être contrôlés. Mais cela n’empêchera pas d’avoir simplement un affichage des infos de votre ordinateur !! La commande des ventilateurs est optionnelle.

Bon je pense avoir éclairci pas mal de points maintenant passons à la réalisation !

 

Etape 3 : Configuration du PC

Commencez par télécharger et installer CoreTemp. Ouvrez le logiciel, dans le menu “Tools”, cochez “Loggin On” puis dans le menu “Options”, ouvrez la fenêtre “Settings” et dans l’onglet “General” cochez “enable logging on startup” et “Start Core Temp with Windows” de manière à ce qu’il se lance automatiquement au démarrage de votre OS. Dans l’onglet “Display”, cochez “Start Core Temp minimized”. Fermez en enregistrant les modifications. Maintenant, rendez-vous à l’emplacement où a été installé CoreTemp et cherchez le fichier “CoreTemp.ini”. Ouvrez le et à la ligne “LogInt=” indiquez un “1” à la place du chiffre déjà présent de manière à forcer la fréquence d’actualisation à 1 seconde. Enregistrez les modifications et redémarrez votre ordinateur. Rendez vous de nouveau dans le dossier d’installation. Vous devriez voir un fichier en .csv qui contient, lorsque vous l’ouvrez, pleins de chiffres semblable à celui présenté dans l’image ci-dessus.
Maintenant, il faut préparer l’environnement Python: téléchargez et installez Python 2.7.x si vous ne l’avez pas encore à l’adresse suivante : https://www.python.org/
Il nous faut également une librairie permettant la communication serial. Il s’agit de PySerial téléchargeable à l’adresse suivante : https://pypi.python.org/pypi/pyserial
Telechargez à présent le fichier “Rheobus.py” joint dans cette étape et ouvrez le pour le modifier. Vous avez deux choses à modifier, ne touchez pas au reste du script : Modifiez la variable “SERIAL_PORT” de manière à renseigner le port sur lequel est connecté votre carte Arduino au PC (visible depuis l’IDE Arduino) et la ligne listFile = glob.glob(“x”) en remplacant le x par le chemin d’accès absolu du répertoire dans lequel est installé CoreTemp. Enregistrez et fermez le fichier.
Pour vérifier que tout fonctionne bien, exécutez le programme python: vous devriez obtenir quelque chose qui ressemble à l’image 2 ci-dessus. Si vous rencontrez un problème, n’hésitez pas à le signaler dans les commentaires de manière à trouver une solution (notez que pour que le script fonctionne, votre carte Arduino doit être connecté au PC au port spécifié dans le script).

Etape 4 : Préparation de la carte Arduino

Pour cette étape, nous avons besoin des principaux éléments requis !
Commencez tout d’abord à relier votre afficheur graphique 40-pin au port 40-pin présent sur le RA8875. Pour cela, allez-y avec précaution car la nappe 40pin est assez fragile et difficile à faire rentrer. Pour ma part, je me suis aidé d’une pince de manière à attraper fermement la nappe et ainsi forcer légèrement sans pour autant la déformer. Veillez à ce qu’elle soit parfaitement reliée. En théorie, les deux éléments sont maintenant solidaires et il est déconseillé de les séparer.
Intéressons-nous maintenant aux branchements à réaliser entre la carte Arduino et le RA8875. Ils sont illustrés sur le schéma ci-dessus. Veillez simplement à relier le +5Vin du RA8875 non pas la borne +5V de l’Arduino mais directement à une prise interne de l’alimentation du PC telle qu’une prise pour périphériques internes 4-pin. ATTENTION !! Reliez le fil à un fil rouge de la prise et pas aux jaunes ! En effet, ces derniers débitent non pas du 5V mais du 12V autant dire que vous risquez de griller votre RA8875 instantanément ! Pour être sûr de vous, vérifiez avec un voltmètre en série qu’il s’agit bel et bien de 5V. Vous trouverez une illustration sur la photo 2.

OPTIONNEL:
Enfin, pour relier les ventilateurs, identifiez quel type de connecteur vous avez (en fonction des couleurs), repérables sur la photo 2 et reliez la sortie +12V et GND respectivement au fil jaune de la prise d’alimentation du PC et au fil noir. Enfin, reliez le dernier pin indiqué “PWM” a une des bornes libres PWM de votre carte Arduino. Le PIN Tach permet éventuellement de récupérer la vitesse de rotation du ventilateur. Il s’agit d’ailleurs d’un futur projet qui vous sera présenté lorsqu’il sera finalisé.

 

Etape 5 : Harmonisation de l’ensemble

Voici enfin la dernière étape ! Vous êtes prêt? Alors c’est parti!
Voici avant tout un petit check-up pour être sûr que tout est bien réalisé:
– Vous avez installé, configuré et lancé CoreTemp
– Vous avez préparé le script Python et modifié les 2 paramètres propres à votre système
– Vous avez relié la carte Arduino à votre PC via le port USB
– Vous avez correctement réalisé les branchements entre la carte Arduino et le RA8875
– Vous avez relié le RA8875 à votre écran TFT via le port 40pin
– Vous avez alimenté la carte Arduino et le RA8875 via les connexions de votre alimentation de PC
– Votre carte Arduino est reconnue dans l’IDE d’Arduino

Tout est validé? Eh bien il est temps de passer à l’Etape finale ! Pour que le script Arduino joint ci-dessous fonctionne, il faut au préalable installer la librairie suivante dans l’IDE d’Arduino: https://github.com/sumotoy/RA8875. Procédez à son installation de manière traditionnelle puis redémarrez l’IDE. Là, ouvrez le fichier joint “LCD_Rheobus_RA8875.ino” et téléversez-le directement dans votre carte Arduino. Vous pouvez par ailleurs, si vous vous en sentez capable, le modifier pour l’adapter à votre guise. Une fois le fichier téléversé, votre Arduino va redémarrer et devrait afficher l’écran que vous observez en image 1. Il ne vous reste plus qu’à lancer le script python et observer le résultat: Les informations de votre PC sont affichés en temps réel !! Il ne vous reste plus qu’à intégrer ce dispositif de manière élégante dans votre ordinateur. Pour ma part, j’ai intégré la carte Arduino dans une baie de disques durs comme vous pouvez l’observer sur la photo 3 😉

OPTIONNEL:
Notez que vous pouvez modifier les bornes de contrôle de ventilateurs dans le script tout en haut par rapport au nombre et aux branchements que vous avez réalisés. Le comportement de ces derniers en fonction de la température relevée peut être également modifié dans la fonction “updateVentilo()”.

UN PEU DE THÉORIE:
Comment s’effectue la récupération des données envoyés par le script python?
La carte Arduino lis en permanence le buffer du port serial. Dès qu’un message a été transmis elle décode caractère par caractère et les met bouts à bouts pour former le nombre. Un caractère autre qu’un chiffre est lu comme une commande (par exemple, le “a” signifie fin de la lecture du nombre correspondant à la puissance du CPU). Elle sait alors qu’elle doit le stocker dans la variable adéquate et recommence pour les autres chiffres. Le caractère “&” indique que c’est la fin du message et que l’arduino peut sortir de la boucle. Un petit exemple vaut milles paroles:
“20a4139b5c25&” indique:
– Puissance (W) = 20
– Vitesse (Mhz) = 4139
– Charge (%) = 5
– Température (°C) = 25
Vous constatez donc que la fréquence de rafraîchissement de l’écran est commandée indirectement par le script python qui envoie ses informations toutes les 1 secondes.

Comment est généré le graphique avec le dégradé?
La librairie RA8875 ne disposant pas de fonctions de dessin avancées, il faut réfléchir à l’envers et se demander comment on peut faire pour afficher un tel graphique. La réponse est simple: on trace d’abord la bande de dégradé intégralement puis on coupe avec un rectangle et un triangle noir (dont la pente de l’arrête correspond à la pente de la courbe) cette bande de façon à masquer la partie indésirable. Il suffit après d’y ajouter une ligne blanche correspond aux deux extrémités pour parfaire l’affichage. (vous pouvez voir ce processus dans la photo 4).

REMARQUE:
Vous pouvez sans doute remarquer que la police d’écriture utilisé pour le titre de l’écran et les informations affichés n’est pas la même et c’est tout à fait normal: celle du titre est statique et plus belle mais est, par conséquent, lente à afficher car de bien meilleure résolution. La police utilisé pour afficher les informations, amenés à changer toutes les 1 secondes, est la police par défaut accéléré graphiquement pour un affichage instantané : il n’y a donc pas apparition de phénomène de coupure lors du passage entre deux valeurs qui est, pour avoir testé, assez dérangeant visuellement. Nous observons ici une limite de la carte Arduino relativement lente à envoyer ses instructions via la liaison SPI au driver RA8875.

Etape 6 : FAQ

– Mon écran affiche des choses étranges ou/et est décalé:
Pas de panique ! Il s’agit simplement d’un problème de timing propre à chaque écran TFT. Pour le résoudre, munissez-vous de la référence de votre écran et cherchez son datasheet sur google. Une fois ouvert, identifiez les tableaux correspondants aux timings de votre écran, et relevez les valeurs. Rendez-vous ensuite dans le répertoire dans lequel a été installé la librairie RA8875 pour l’IDE Arduino et allez dans le dossier _settings. Là, ouvrez avec un éditeur RA8875Registers.h et repérez la ligne correspondant à votre écran de la variable initStrings (tout au début normalement). Là, convertissez les valeurs requises en hexadécimal et inscrivez les à la place de celles présentes par défaut. Par exemple, pour mon écran 800×480, j’ai du remplacer la ligne existante par la ligne de données suivante: {0x07,0x03,0x81,0x63,0x00,0x03,0x03,0x06,0xDF,0x01,0x22,0x00,0x08,0x00,0x03}

– Le programme python ne fonctionne pas:
Vérifiez que vous avez installé correctement la libraire PySerial, que le port série spécifié est le bon et que le répertoire où sont stockés les log de CoreTemp est bien renseigné

– Le taux de rafraîchissement est de 10 secondes:
Recommencez l’étape de la partie 2 de modification du fichier .ini et redémarrez votre ordinateur. Pensez à ne pas ré-ouvrir la fenêtre “Settings” du logiciel CoreTemp pour ne pas remettre à 10 cette valeur.

 

Etape 7 : Possibilitées

Votre dispositif fonctionne parfaitement? Ne vous réjouissez pas trop vite ! Il reste encore de nombreuses choses à réaliser ! Voici une liste non exhaustive :
– Intégrer l’affichage dans votre boitier de PC
– Fluidifier les mises a jour de l’écran (évolution linéaire pendant 1 seconde et non pas affichage brutal de la nouvelle valeur)
– Amélioration de l’affichage avec récupération de la vitesse de rotation des ventilateurs via le pin TACH
– Gestion d’un watercooling avec vitesse de la pompe (un de mes futurs projets d’ailleurs)
– Intégration d’une interface tactile (oui, cet écran a la possibilité d’être tactile) afin de modifier en temps réel certains réglages
– Gérer un éclairage dynamique de votre PC : par exemple quand la température devient élevé, allumer des LED rouges disposées préalablement dans votre boitier et/ou en façade

Comme vous le voyez, ce dispositif ne manque pas d’applications si vous avez un peu d’imagination !

Merci beaucoup d’avoir lu ce tutoriel en espérant vous avoir donné envie de réaliser votre propre rhéobus !

 

Vous aimez ce tutoriel ?


Corentin Potron

07 juil. 2016 à 10:36

Je certifie avoir pris connaissance des règles du jeu

Ipxav

07 juil. 2016 à 10:36

Merci pour le partage ! Super tuto et bien détaillé 🙂 tu as sourcé où tes composants ?

Corentin Potron

07 juil. 2016 à 10:36

J'ai eu l'idée en me baladant sur le site Adafruit et en tombant par hasard sur les écrans TFT. Après quelques recherches j'ai vu qu'il existait un driver spécialement conçu pour faire fonctionner ce type d'écrans et pilotable via SPI donc compatible Arduino ! Après la librairie utilisée est l'une des premières que l'on trouve en cherchant sur google et est d'ailleurs la meilleure, celle proposé par Adafruit étant trop limité pour l'usage que je souhaitais en faire ! 😉

furious.builder

07 juil. 2016 à 10:36

Ca gère mec, bon boulot !

Corentin Potron

07 juil. 2016 à 10:36

Merci ! 🙂

davidomo

07 juil. 2016 à 10:37

Bonjour,


vraiment cool ce projet très belle interface graphique mais la librairie dois être gourmande en ressource

connais tu les écran nextion https://www.itead.cc/display/nextion/nextion-nx8048t050.html

écran lcd tactile IHM (Interface Homme Machine) j'ai suivi leur projet de financement participatif à l'époque et sa a vraiment booster mes projets

Corentin Potron

07 juil. 2016 à 10:37

Merci beaucoup pour l'idée ! 🙂 Le projet une fois compilé ne prend pas tellement de ressources pour l'Arduino MEGA 2560 (13% de l'espace de stockage et 10% de la mémoire dynamique). Autant dire que vous pouvez encore rajouter pas mal d'algorithmes annexes de gestion d'éclairage ect. De plus, le rafraîchissement des informations est instantané visuellement et cela est dû au driver RA8875 qui prend en charge le dessin complet de l'écran. Finalement votre Arduino reste plus longtemps à ne rien faire qu'à afficher quelque chose ! 😉 Je connais les écrans nextion (j'ai d'ailleurs beaucoup hésité avant de me décider quel type d'écran j'allais choisir :p). Finalement je suis partis sur mon écran TFT 40pin car il présentait plus de “challenge” et je savais que l'on pourrait aboutir au même résultat au final (car mon écran est aussi tactile et peut être géré par l'Arduino). J'aime bien partir du moins possible pour mes projets pour ne pas être limité par la suite par des contraintes imposées par des dispositifs “haut niveau” pour lesquels tout est pris en charge. C'est un peu comme les langages de programmation 😉

Proteus

07 juil. 2016 à 10:37

Très beau travail. Bravo Corentin.

Corentin Potron

07 juil. 2016 à 10:37

Merci beaucoup ! 🙂

Proteus

07 juil. 2016 à 10:37

Tu devrai faire une version qui ne nécessite pas d'avoir un écran en montant une application directement (sous Windows) pour afficher tes informations. Tu ferai tomber le prix. (P.S. J'adore vraiment le design que tu as fait mais j'ai 8 serveurs tu imagines le tarif :p)

Corentin Potron

07 juil. 2016 à 10:37

C'est une très bonne idée et c'est tout à fait possible en sois ! En effet, tout est déjà prêt pour réaliser une application graphique sous Windows : mon script python chargé de récupérer les informations du système stock les variables avant de les envoyer à l'Arduino 😉 il suffit juste de créer une GUI dans ce programme au lieu du simple affichage en console et le tour est joué ! 😉 Je me pencherais sûrement dessus dans quelques temps et ferais une update de ce post 😉

Et effectivement pour 8 serveurs le tarif est tout de suite assez élevé mais on peut quand même faire quelques économies : si ils sont tous côte à côte, on peut théoriquement utiliser qu'une seule Arduino car le bus SPI est adressable : on peut donc avoir plusieurs RA8875 sur la même ligne ! Je dis bien théoriquement car il y a quand même la contrainte de la capacité de calcul de l'Arduino qui peinerait à recevoir et actualiser simultanément les informations pour 8 serveurs ! Après rien n'empêche d'opter pour des écrans plus petits et moins chères tel que celui-ci : https://www.adafruit.com/products/1591 ou encore des écrans LCD ou OLED de 16*2.. Tout dépend de votre motivation ! 😉

Proteus

07 juil. 2016 à 10:37

Attends je te montre a quoi ca ressemble 🙂

Proteus

07 juil. 2016 à 10:37

[decom_attached_image_1455460051370]

Corentin Potron

07 juil. 2016 à 10:37

Effectivement il y a du beau matériel ! 😮 Sinon il y aurait une autre solution qui consisterait à récupérer les informations des différents serveurs (considérés comme des “clients”) et à les centraliser (via protocol TCP/IP) de manière à les récupérer dans un seul programme qui jouerait le rôle de “serveur”, et qui lui se chargerait de les envoyer à l'Arduino. Il y aurait juste à modifier l'affichage, voire opter pour un écran plus grand, et ainsi les afficher toutes simultanément sur un seul écran ! 😉 Vous auriez le même système pour pas trop plus chère que ça.

Privat

07 juil. 2016 à 10:38

Bravo !!!

Corentin Potron

07 juil. 2016 à 10:38

Merci 🙂

davidomo

07 juil. 2016 à 10:38

en effet ce n'est pas gourmand

je ne connaissais pas le module RA8875 et en effet il a l'air intéressent


“J'aime bien partir du moins possible pour mes projets pour ne pas être limité par la suite par des contraintes imposées par des dispositifs “haut niveau” pour lesquels tout est pris en charge”

je suis dans la même philosophie partir de rien faire travailler ses neurones afin d'arriver à ce que l'on avait imaginé

je ne sais pas si tu connais la mini mega2560 core, une méga 3 fois plus petite

parfait pour des projets professionnel un petit bijoux

visible ici : http://www.inhaos.com/product_info.php?products_id=118

je pense que cela devrais te plaire

Corentin Potron

07 juil. 2016 à 10:39

Oui j'aime bien cette philosophie là aussi 😉 Moins de contraintes, plus de liberté donc plus de difficultés mais au final on obtient exactement ce que l'on souhaitait !

Ah non je ne connaissais pas cette petite bête elle a l'air pas mal du tout ! 😮 Merci de l'info je vais regarder ça de plus près 😉

toumtoum52

10 août 2017 à 02:55

Hello ! tout d'abord merci pour ce tuto ! Je rencontre une erreur sur le python... et je calle complètement !

J'ai ça => E:\téléchargements>python Rheobus.py
Connection a Arduino...
Attente pour demarrage de CoreTemp
Recuperation des fichiers de log...
Traceback (most recent call last):
File "Rheobus.py", line 37, in
fileTemp = getFile()
File "Rheobus.py", line 27, in getFile
os.remove(listFile[countItem])
WindowsError: [Error 3] Le chemin dÆaccÞs spÚcifiÚ est introuvable: 'mp\\CT-Log 2017-08-10 01-43-18.csv'

Bref, il me trouve le nom du fichier csv mais il me dit que le chemin d'acces spécifié est introuvable ... que faut il faire ?

toumtoum52

10 août 2017 à 12:22

Re-hello ! J'ai corrigé le problème... Dans le scrypt Python, j'ai corrigé le chiffre à la fin de cette ligne :
listFile[countItem] = listFile[countItem][0:]
Il semblait bloquer le path complet du dossier.

Corentin Potron

10 août 2017 à 20:00

Hello ;)
Oui désolé j'allais te le dire j'avais fait ce code il y a plus d'un an et à l'époque je supprimais toute la partie absolue du chemin vers le fichier pour n'avoir que le nom du fichier (le 24 était égal au nombre de caractères avant le .csv dans mon chemin D:/MONITORING ect..)
En fait tu peux carrément enlever cette ligne elle ne sert strictement à rien actuellement c'était simplement pour des tests il me semble :)

toumtoum52

10 août 2017 à 21:44

Bon, après avoir passer quelques heures cette nuit, et également aujourd'hui, j'ai enfin pu faire mon écran de Rhéobus. Ce qu'il faut savoir c'est que je n'y connais rien du tout en Python, donc la nuit dernière, je suis parti de 0 ! (installer la libraire pyserial.... essayer de déchiffrer le code en faisant des essais, comprendre pkoi ce problème de chemin...)... bref ce matin, je n'ai pas laché le morceau.
Je suis parti sur un écran OLED 128x64 pour mon projet de Rhéobus, je rajouterai sous peu des potars gérer via l'arduino pour varier la vitesse de mes ventilos.
J'ai gardé + de paramètre sur mon écran : affichage des temp des 4 cores + la moyenne des 4, rajout d'un thermomètres qui varie suivant la temp, rajout de la temp max, j'ai mis 4 bargraph pour l'utilisation des 4 coeurs, j'ai mis l'affichage de la conso en W et également la fréquence (buggé car valeur à virgule que je ne sais convertir pour le moment).

Ton tuto m'a beaucoup aidé donc je te remercie grandement, mais surtout il m'a permis de découvrir le langage python! Je vais me replonger dedans sous peu pour utiliser le monitoring extrait d'AfterBurner où il est possible de récupérer les infos du CPU mais aussi du GPU, de la ram, HDD etc ... Il me faudra juste un écran plus grand pour mettre dans ma tour, et go !

Voici ce que ça donne à cette heure : https://img4.hostingpics.net/pics/578480rheobusarduino.jpg

Corentin Potron

10 août 2017 à 23:18

Super ton projet aussi ça rend plutôt bien sur ton écran tu gères l'affichage avec quelle librairie Arduino ? C'est vrai que j'ai hésité aussi entre un afficheur OLED et un TFT mais j'ai craqué pour ce dernier juste pour avoir de la couleur et une commande tactile ! Le python est vraiment cool c'est vrai tu peux faire des choses assez complexes rapidement mais ton code devient vite brouillon personnellement je m'en sers pour faire des tests de faisabilité avant de coder dans un langage plus "propre" et rigoureux comme le Java.
Je ne connais pas AfterBurner tu peux récupérer aussi des fichiers de logs ? Si oui il faudra que tu adaptes mon script python il ne prend en charge que les logs spécifiques à CoreTemp ça te laissera le temps d'approfondir ton apprentissage de python :) Tu peux aussi regarder du côté de CoreTemp je sais qu'ils ont un Add-on "server" qui te permet via des sockets sur ta loopback locale de récupérer les logs (et non plus passer par un fichier qui nécessite des accès en écriture continuellement sur ton HDD et qui fait grandir le fichier de log si tu laisse ton PC tout le temps allumé).
Bonne continuation en tout cas et sympa l'idée des potars après tu peux même récupérer la vitesse à laquelle tournent tes ventilos si ils ont une broche qui le permet au niveau du connecteur et la convertir en RPM.. J'avais même pensé à un éclairage RGB qui devient rouge si la température augmente Enfin de quoi avoir pleins d'idées ;)
Hésite pas à me tenir au courant en tout cas c'est cool :)

toumtoum52

11 août 2017 à 01:40

Via Afterburner (logiciel de MSI pour les GPU), tu peux afficher en OSD sur le pc énormément de données pendant que tu joues. Exemple: http://cdn.overclock.net/b/b5/350x700px-LL-b5562155_unbenanntear7.png
Et donc, très facilement, tu peux record le monitoring, et après étude des logs, c'est de la même manière que coretemp. C'est juste un fichier .HML, très facilement éditable, les résultats sont en tableaux, les séparateurs sont des virgules. Donc, là, il y a possibilité d'afficher usage, vitesse ventilo, temp du GPU et du CPU, l'usage de la ram, le nombre de FPS (coool)... Et plein d'autres trucs trop tordus.
J'arrive facilement à bricoler les petits OLEDs mais hélas ce sont des petits en 128x64, Et il ne semble pas être possible d'en mettre 2 sur un seul arduino. L'écran que tu utilise me parait chaud à programmer. Je n'en suis pas encore là :D

Mon projet était de me faire un rhéobus sympathoche avec de la récup. Là, il a plus qu'avancé ! Quand je voudrai passer au modèle du dessus, je regarderai pour me prendre l'écran que tu as utilisé. :D


Recevez une fois par mois les meilleurs tutoriels Technologie dans votre boîte mail




Champion

Gagnant du Concours Concours DIY Arduino


Oh ça buzz

+ de 1 000 vues pour Gestion thermique automatique de PC



Gotronic

Voir l'espace DIY gotronic


S'inscrire:


  • Vues: 3617
  • J'aime: 28