Forum Clubic

Projet - Températures

:hello: ici

Voila ca fait quelques années que je fait de la prog et j’aimerais bien me partir un petit projet qui irais chercher différentes températures sur mon ordi.

Pourquoi?

J’ai jamais eu satisfaction sur une interface “lightweight” qui afficherais seulement quelques temps et qui me boufferais pas 15% de mon processeur du style Everest.

Bon voila, seulement j’ai aucune connaissances en prog “hardware” si on veut, autrement dit pour aller chercher les temp des composantes. Je pensait le faire en C++ ou Java.

Pourriez vous m’aiguiller sur un tuto ou quelque chose du genre?

Merci :jap:

Salut,
Un truc comme ça, c’est direct C++ car si tu choisit le Java, tu devras obligatoirement passer par JNI donc autant le faire direct en C++ …
Bref, tu as deux méthodes :

  • from scratch : tu te codes tes routines pour accéder à des adresses spécifiques (ceux des chips à sonder justement),
  • depuis une lib : tu as WinIO,
  • depuis windows : tu as WMI,
  • sous linux : tu as lm-sensors.

A noter que je te conseilles une machine virtuel lorsque tu devs (plantages) pis sache que la meilleure solution est de se coder un petit pilote ne serait-ce qu’histoire d’avoir accès directemement à la mémoire physique (que tu mapperas).

Après vérifications en effet j’ai porté mon attention au niveau de la prog via VMI mais en C# cependant. La prog du GUI est plus facile :neutre:

Mais merci a propos du coup de pouce sur les adresses mémoires. Mais je les obtiens ou? :confused:

Heu… Bon, je connais pas les autres outils mais avec lm-sensors, c’est une vrai réponse de nerd… D’un coté, les outils légers existent, il n’est donc pas nécessaire de s’embêter à aller chercher l’information sur les diodes et autres thermistors. Enfin, sauf à but pédagogique bien sûr.

De l’autre coté, et je ne parle toujours que pour lm-sensors, l’outil renvoi l’information sous la forme d’un fichier texte. Il suffit juste alors de passer par un parsing, à moins qu’il ne soit possible d’interroger plus spécifiquement les différents composants, auquel cas la tâche est encore plus facile. Et alors, il n’y a qu’à utiliser le langage dans lequel on est le plus confortable. Comment ça le projet est torchable en 2 heures ??? :smiley:

Par contre, vous êtes sûr que les informations des diodes et thermisotors sont accessibles à partir d’une VM ?

Si tu passes par JNI en Java, tout est possible… donc oui accessible pour la VM :wink:

Non mais merci, c’est pas à moi que tu va expliquer ce qu’est JNI. Ma question concerne l’accès au hard par une VM…

Bon… finalement j’ai testé et à priori, ça ne passe pas (lm-sensors dans une Kubuntu sur une VirtualBox le tout sous Ubuntu). Enfin, la détection auto de lm-sensors (sensors-detect) détecte rien alors qu’elle fonctionne dans le système hôte. Bon, j’ai pas envie de me taper la recherche manuelle aussi :smiley:

L’accès au hard depuis une VM :slight_smile: l’idée c’est de ne pas planter ta machine lors des tests, c’est comme ça que je le comprend :wink:

Pour les adresses, il n’y a pas de secret, tout est détaillé dans les docs du constructeur.
Pour t’aider, télécharge et installe RivaTuner[/url], dans le répertoire, tu as le dossier “SDK\Samples\Plugins\Monitoring”, tu as de quoi avoir de bonnes bases pour bien comprendre comment tout ça fonctionne à savoir une DLL qui fait le pont entre l’[url=http://www.aurel32.net/elec/i2c.php]I2C et le scan de ceux-ci pour les adresses recherchées.

Et a propos de la JNI de java, je ne sait pas ce que c’est, c’est mieux?

Il n’y a aucun rapport qualitatif entre la proposition et ta question. JNI est l’API Java qui permet d’utiliser du code natif dans du code Java. Par contre, tu n’a pas besoin de JNI pour un simple Runtime.exec. Je ne connais pas les outils existant sous Windows, mais sous Linux avec lm-sensors, une simple exécution de l’outil génère une sortie texte immédiatement exploitable tout en se reposant sur la performance de l’outil pour accéder à tous les capteurs. Donc bon à chacun de voir, mais entre avoir un applicatif (la surveillance des températures de mon système) disponible en 2 heures avec IHM ou passer ma semaine à me manger des docs pour peut être produire quelque chose, mon choix est vite fait.

Merci, mais oui, les VMs sont utilisées soit pour éviter que des conf et des exécutions de dev ne torpillent ta machine, soit pour reproduire un environnement cible.

Mais, une VM n’accède pas au système hôte. Donc, à quoi ça sert ? Pour comprendre ma question, copie colle la sortie d’un sensors sur une VM.

Mais une VM ne fait qu’émuler du matériel, donc si ça marche dans une VM ça marche à priori sur une vraie machine :slight_smile:

Puis bon je veut le faire sous Windows donc lm-sensors on oublie :neutre:

Oui oui, j’ai bien compris, c’est pour ça que j’ai commencé par Je ne connais pas les outils existant sous Windows, mais… :wink:
Mon message est surtout de dire qu’il existe déjà des outils bien fait qui permettent de répondre à ces besoins et que dans les cas les plus courants, il n’est pas nécessaire de perdre du temps à les redévelopper, surtout que toi tu ne pourra pas les maintenir comme ils sont maintenus. Attention, j’ai aussi dit que la démarche pédagogique n’était pas concerné par cette remarque. Après, j’espère que 'un outil aussi simple et léger existe effectivement sous Windows.

Justement non… Les VMs sont justement utilisées pour se mettre dans un environnement cible pour ne pas avoir la notion d’“à prioris”. Coté logiciel, ça marche bien. Mais coté matériel le problème est là, surtout que pour les sondes thermiques, ça marche pas…