L'enregistreur de données USB

L'enregistreur de données USB

Un client nous a récemment fait remarquer que la page de description de nos capteurs de température, lumière, humidité et pression mentionne la possibilité de faire un enregistrement des données sur une flash. La documentation pourtant reste muette à ce sujet, et on ne trouve rien non plus dans la librairie de programmation. Il est temps de réparer cette omission.

En premier lieu, rassurez-vous, ce n'est pas un mensonge de marketing : le Yocto-Temperature, le Yocto-Meteo et le Yocto-Light sont bien équipés d'une mémoire flash permettant d'enregistrer les mesures. Si vous voulez en avoir le coeur net, vous la reconnaîtrez facilement:

La mémoire flash présente sur les capteurs Yoctopuce
La mémoire flash présente sur les capteurs Yoctopuce


Il s'agit d'une mémoire flash de SST, qui nous permet de stocker environ 500'000 mesures individuelles. Mais alors, comment pouvez-vous vous en servir ?

Et bien jusqu'à présent, vous ne pouviez pas. Oops... Nous n'avions en effet pas finalisé cette partie de l'interface de programmation, et plutôt que de la bâcler, nous avions décidé de livrer cette fonction lors d'une mise à jour lorsqu'elle serait prête. Après un petit rehaussement de priorité, l'enregistreur de données est maintenant prêt, et nous allons aujourd'hui vous en donner un aperçu.

De quoi s'agit-il exactement ? En un mot, il s'agit de fournir avec nos petits modules une fonction équivalente à cette machine:

Un enregistreur de pression barométrique, version 1900
Un enregistreur de pression barométrique, version 1900


Il s'agit d'un enregistreur autonome, capable de garder un historique de la pression barométrique (enregistreur barométrique), de la température et de l'humidité (enregistreur d'humidité utilisé typiquement pour la conservation des tableaux dans les musées) ou de tout autre paramètre mesuré. La plupart du temps, on désire simplement que l'enregistreur fonctionne dans son coin et ne demande aucune autre infrastructure. La version mécanique ci-dessus a l'avantage de ne pas même nécessiter d'électricité, mais elle a par contre besoin qu'on lui remette du papier, de l'encre et qu'on la remonte périodiquement. La version Yoctopuce, elle, ne demande qu'une prise électrique:

Un enregistreur de température autonome, version Yoctopuce.
Un enregistreur de température autonome, version Yoctopuce.


La question à 100 points est de savoir combien de temps l'on peut enregistrer avant de remplir la mémoire, et à quelle fréquence les mesures sont stockées. Le fonctionnement de base de l'enregistreur est de stocker une mesure par capteur par seconde, la fréquence d'enregistrement maximale offerte, qui convient aux applications demandant un suivi très précis des mesures. Mais cela remplit très rapidement la mémoire, et sans mécanisme plus subtil, cela exigerait de vider les mesures sur un PC très régulièrement.

Heureusement, l'enregistreur est plus malin que cela. Une fois la mémoire d'enregistrement saturée, il procède automatiquement à un archivage des données les plus anciennes à un taux d'échantillonnage inférieur (en ne gardant qu'un échantillon par minute), tout en continuant à enregistrer les nouvelles mesures à la fréquence maximale (un échantillon par seconde). Pour que les données archivées restent utiles, l'enregistreur ne garde pas simplement une valeur parmi les soixante, mais stocke la valeur minimale, la valeur moyenne et la valeur maximale durant chaque minute. De même, lorsque l'espace occupé par les échantillons par minute dépasse environ 30% de la taille de la mémoire d'enregistrement, ils sont eux-même archivés pour le long terme en gardant une valeur minimale, moyenne et maximale par heure, et ceci jusqu'à concurrence de 20% environ de la taille de la mémoire d'enregistrement.

Cette méthode d'archivage intégré et cette répartition de la mémoire garantissent pour tous les capteurs de Yoctopuce la possibilité de stocker les mesures prises chaque seconde pour les dernières 24 heures, chaque minute pour la dernière semaine et chaque heure pour la dernière année écoulée. Pour les modules incluant moins de trois capteurs, la capacité de stockage est même supérieure. Ainsi, la fréquence d'échantillonnage des mesures que vous trouverez dans la mémoire de vos capteurs ne dépend que de la période à laquelle vous venez décharger les données pour les utiliser.

Il existe une autre possibilité très intéressante d'utilisation de l'enregistreur de données. Si un capteur USB est branché à un ordinateur derrière un hub alimenté, le capteur restera alimenté lorsque l'ordinateur est éteint.

Capteur USB connecté via un hub alimenté, pour permettre l'enregistrement indépendamment de l'état de l'ordinateur de contrôle
Capteur USB connecté via un hub alimenté, pour permettre l'enregistrement indépendamment de l'état de l'ordinateur de contrôle


Quand l'enregistreur de données est enclenché, il continue à stocker les données même lorsque l'ordinateur est éteint. Il est ainsi possible de garantir un enregistrement continu même lorsque l'ordinateur de contrôle est en maintenance, voire de garder l'ordinateur éteint quasiment en permanence pour économiser l'énergie, et de ne réveiller l'ordinateur que périodiquement pour récolter les mesures et les traiter.

Vous êtes intéressé ? La nouvelle interface de programmation permettant de piloter l'enregistreur de données et de charger les données enregistrées est actuellement en beta-test. Elle sera officiellement disponible d'ici une semaine, pour tous les langages de programmation supportés par Yoctopuce !

Commenter aucun commentaire Retour au blog












Yoctopuce, get your stuff connected.