Utiliser les capteurs Yoctopuce dans HWiNFO

Utiliser les capteurs Yoctopuce dans HWiNFO

En se baladant sur Internet, on est tombé sur un post du forum HWiNFO qui demandait si les modules Yoctopuce pouvaient être utilisés dans le logiciel HWiNFO. Ce n'est pas le cas par défaut, mais comme on aime bien rendre service à nos utilisateurs, on a écrit un petit script Python qui ajoute cette fonctionnalité.





HWiNFO est un logiciel de surveillance du matériel informatique. Il permet aux utilisateurs de collecter des informations détaillées sur les composants matériels de leur ordinateur, tels que le processeur, la carte graphique, la mémoire, les disques durs, etc. HWiNFO peut aussi fournir des données sur les températures, les tensions, les vitesses des ventilateurs et d'autres paramètres des composants du PC.

Par défaut, les modules Yoctopuce n'apparaissent pas dans ce logiciel, car ils ne se déclarent pas comme des capteurs natifs reconnus par Windows, mais comme des périphériques HID. C'est grâce à ce choix que les modules Yoctopuce peuvent fonctionner sans installation de drivers. Nous avons détaillé la raison de choix dans un précédent article.

HWiNFO offre toutefois la possibilité d'utiliser d'autres capteurs grâce à un mécanisme de plugin qu'ils ont appelé "Custom user sensors". Concrètement, un Custom user sensors est simplement une clef dans la registry Windows avec la dernière valeur mesurée. Donc, en écrivant une petite passerelle qui met à jour ces clefs avec la valeur des senseurs Yoctopuce, il est possible d'ajouter les capteurs Yoctopuce à HWiNFO.

La structure logique d'un senseur HWiNFO est la suivante: un périphérique peut contenir plusieurs capteurs. Par exemple une carte graphique possède plusieurs ventilateurs et sondes de température. Cette structure logique correspond bien à l'architecture de nos modules. Par exemple un Yocto-Meteo-V2 possède plusieurs capteurs (température, pression et humidité).

Cela veut dire que pour publier un capteur Yoctopuce dans HWiNFO, il suffit créer une sous-clef dans la registry Windows au format suivant:

HKEY_CURRENT_USER\Software\HWiNFO64\Sensors\Custom\Yoctopuce_serial\sensortype

Cette clef contient trois valeurs:

  • Name qui correspond au functionId des modules Yoctopuce
  • Unit qui correspond est l'unité du capteur
  • Value qui est la dernière valeur mesurée du capteur


La passerelle YoctoHWiNFO

Nous avons décidé d'écrire un petit programme en Python qui crée et met à jour ces clefs de registre. Cette passerelle est disponible sur GitHub.

Pour fonctionner, cette passerelle a besoin de la librairie de programmation Yoctopuce qui peut être installée à l'aide de pip.

pip install yoctopuce



Une fois la librairie Yoctopuce installée, il suffit de lancer le script pour que les modules soient disponibles dans HWiNFO.

C:\data\HWiNFO\HWiNFO>python YoctoHWiNFO.py Use hub usb Sensor LIGHTMK3-17EFC2.lightSensor added.



Et voilà, les capteurs Yoctopuce sont disponibles
Et voilà, les capteurs Yoctopuce sont disponibles



Par défaut, cette passerelle ajoute les modules Yoctopuces  branchés sur les ports USB, mais il est possible d'ajouter des senseurs connectés à un YoctoHub distant à l'aide de l'option --remote_hub.

C:\data\HWiNFO\HWiNFO>python YoctoHWiNFO.py --remote_hub 192.168.1.64 Use hub 192.168.1.64 Sensor YVOCMK02-AA4CB.voc added. Sensor RX420MA1-26FAD.genericSensor2 added. Sensor RX420MA1-26FAD.genericSensor1 added. Sensor METEOMK1-2AE60.temperature added. Sensor METEOMK1-2AE60.pressure added. Sensor METEOMK1-2AE60.humidity added. Sensor LIGHTMK3-32067.lightSensor added.



L'option -v permet d'augmenter la verbosité du script. Le niveau 1 va afficher toutes les opérations effectuées à l'exception de la mise à jour des valeurs. Le niveau 2 va noter tous les changements de valeurs. L'option --use_HKEY_LOCAL_MACHINE permet d'utiliser la clef HKEY_LOCAL_MACHINE au lieu de HKEY_CURRENT_USER.

Le code source de la passerelle est disponible sur GitHub: https://github.com/yoctopuce-examples/HWiNFO_YoctoSensor est libre de droits. Il est inspiré de l'exemple Prog-EventBased-Programming qui est inclus dans notre librairie de programmation Python.

Conclusion

Grâce la notre libraire de programmation et aux extensions de HWiNFO, il est possible d'ajouter les capteurs Yoctopuce à l'application HWiNFO. Cela peut permettre de surveiller des valeurs qui ne sont pas directement disponibles dans Windows, comme la luminosité ambiante ou la qualité de l'air.

Commenter aucun commentaire Retour au blog












Yoctopuce, get your stuff connected.