Alerte de température sous Windows

Alerte de température sous Windows

Une des utilisations phare du Yocto-Temperature est la surveillance de température dans les salles serveurs. De nombreux clients nous ont demandé s'il existait une application utilisant nos modules sous Windows capable d'envoyer des mails d'alerte en cas d'élévation de température. Au point qu'on a décidé de vous en faire une, juste comme ça, par pure gentillesse :-)


Le fait est que le Yocto-Temperature est idéal pour cette tâche: il fonctionne par USB, ne nécessite pas de driver, et il est minuscule. Si en plus on s'offre le luxe de le placer dans le boîtier approprié, les aimants dudit boîtier permettent de le fixer sur un rack serveur en moins de temps qu'il n'en faut pour le dire.

Grâce aux aimants du boîtier, les modules Yoctopuce peuvent être collés à un rack serveur.
Grâce aux aimants du boîtier, les modules Yoctopuce peuvent être collés à un rack serveur.


L'idée de cette semaine est donc de fournir l'application minimale, mais néanmoins utilisable en production, qui permette de surveiller la température mesurée par un Yocto-Temperature. Cette application enverra un mail d'alerte quand la température dépassera un certain seuil. Pour être sûr qu'elle fonctionne en permanence cette application est fournie sous la forme d'un service Windows.

Ceci pose le problème de la configuration: en effet, un service Windows n'a pas d'interface. C'est pourquoi on a aussi créé une seconde application Windows qui permet de configurer le service, c'est-à-dire spécifier quand et à qui envoyer un mail d'alerte.

La solution proposée est basée sur un service Windows
La solution proposée est basée sur un service Windows


Pré-requis
Cette application est écrite en C# .NET, vous devrez donc avoir le Microsoft .NET framework 4 installé sur votre machine pour qu'elle fonctionne.

Installation
Il n'y a pas d'installeur. Vous avez besoin des fichiers ThermalControlSvc.exe, ThermalControlSvc.exe.config, yapi.dll et ThermalControlCfg.exe. Placez-les dans le répertoire de votre choix, et depuis ce répertoire, lancez la ligne de commande suivante:

ThermalControlSvc.exe /INSTALL


Cela a pour effet d'installer et de lancer le service Windows Thermal control. Il vous faut ensuite le configurer.

Configuration
Lancez l'application ThermalControlCfg.exe. Cette application se connecte au service Thermal control et affiche la température mesurée vous permettant ainsi de vérifier que vous avez bien pensé à connecter un Yocto-Temperature à votre machine :-).
La configuration se fait sous l'onglet "Configuration". Vous devrez entrez les coordonnées nécessaires pour se connecter au serveur mail d'où vous désirez faire partir les emails d'alerte. Vous devrez aussi spécifier l'adresse mail de la personne qui doit recevoir ces mails, et le seuil de température à partir duquel le service doit commencer à envoyer des alertes. Si vous le souhaitez il y a aussi la possibilité de customiser le contenu du mail d'alerte.

L'interface de configuration
L'interface de configuration


Fonctionnement
Le fonctionnement du service est des plus simple: dès que la température mesurée dépasse le seuil défini plus 0.5°C le service va passer en mode alerte. Si la température repasse en dessous du seuil moins 0.5°C, le service quitte le mode alerte. En mode alerte, le service envoie un mail d'alerte toutes les quatre heures.

Désinstallation
Pour désinstaller le tout, lancez la commande suivante:

ThermalControlSvc.exe /UNINSTALL

et effacez les fichiers.

Bonus
Vous pouvez stopper le service ThermalControlSvc.exe avec la commande:

ThermalControlSvc.exe /STOP


Et le relancer avec la commande:

ThermalControlSvc.exe /START


Si vous donnez un nom logique à votre module, celui-ci sera utilisé à la place du numéro de série dans le mail d'alerte, utile si vous avez plusieurs salles à surveiller.

Il est aussi possible de faire tourner ThermalControlSvc.exe en mode "debug" sans qu'il soit nécessaire de l'installer en service: il suffit lancer la commande suivante:

ThermalControlSvc.exe /RUN


Attention, en mode "debug", les réglages, qui sont stockés dans la base de registres Windows, ne sont pas sauvegardés au même endroit. Vous devrez refaire la configuration si vous lancez l'application en service.

En fait, l'application fonctionne avec n'importe quel module Yoctopuce équipé d'un capteur de température, elle est prévue pour monitorer un Yocto-Temperature, mais elle marchera tout aussi bien avec un Yocto-Meteo.


Téléchargement
Vous pouvez télécharger l'application avec les sources en C# depuis ici. Évidement, cette application est fournie en l'état, sans garantie d'aucune sorte. Mais que cela nous empêche pas de contacter le support Yoctopuce si vous éprouvez des difficultés à la faire fonctionner.

Commenter 2 commentaires
Retour au blog



1 - sunas Mercredi 22 janvier 2014 12H03

Bonjour
Il existe de solutions plus simples en format d’une clé USB.
On branche d'appareil directement sur l’ordinateur et grâce à des logiciels fournit avec vous pouvez configurer d'envoyer un email en cas d'un dépassement de seuil de température.
Plus d'info : http://surveillance-salle-serveur.com/moniteurs.html

cdlt
Sunas

2 - martinm (Yocto-Team)Mercredi 22 janvier 2014 12H37

@sunas: Bonjour,
cet article ne fait que présenter une application parmi tant d'autres de nos modules. Il ne prétend pas être la solution la plus pratique.

Je pense que que la grosse différence entre le Yocto-Temperature et les produits que propose la société pour laquelle vous travaillez (SIMO SYSTEMS) est la mise à disposition d'une API, avec son code source, dans les langages les plus populaires et tournant sur tous les OS les plus courants, ce qui permet à nos clients de construire leur propre solution.

Vous noterez par ailleurs que Yoctopuce pratique la transparence des prix :-)

Yoctopuce, get your stuff connected.