nicolas.perenne.free.fr

Accueil Monitorage
CV3F
Etats Finis Seamer95


U.K. flag

GetWind acquiert les mesures d'un anémomètre CV3F (qui en émet deux par seconde) et rend compte sur sa sortie standard de moyennes glissantes issues de ces mesures. Ce programme a été développé pour Linux: la gestion du port série demanderait à être adaptée pour qu'il puisse tourner sur Windows. Détail technique: j'ai utilisé le mode "canonique asynchrone" (cf. le tutoriel du Linux Documentation Project).

Le nombre de valeurs utilisées pour le moyennage et la fréquence d'affichage de l'état de la moyenne sont paramétrables sur la ligne de commande:

root@OpenWrt:~# getWind -h
Usage: getWind [-d file] [-k] [-a length] [-o period] [-c count] [-h]
 -d <file>:   specify the device <file>
              (default: /dev/ttyUSB0)
 -k:          keep listening even if nothing currently happens
              on the specified port (default: no)
 -a <length>: compute averages of <length>
              successive values (default: 10)
 -o <period>: output averages every <period>
              wind acquisition (default: 6)
 -c <count>:  output <count> averages and exit
              (default: go on endlessly)
 -h :         this help screen
root@OpenWrt:~# getWind -d /dev/usb/tts/0 -a9 -o3 -c5
90.333333:0.000000:4.666667
180.666667:0.000000:11.666667
271.000000:0.000000:18.666667
271.000000:0.000000:21.000000
271.000000:0.000000:21.000000
root@OpenWrt:~#

Les sorties sont faites dans un format directement assimilable par rrdtool update. On trouve dans l'ordre la direction du vent en degrés, sa vitesse en noeuds (ici 0 car l'anémomètre était... dans une boîte) et la température de l'air: cette dernière met en évidence le fait que si la période de sortie est plus petite que celle du moyennage (ce qui n'est pas interdit), il faut attendre plusieurs écritures avant que le tableau de moyennage ne contienne plus de valeur nulle et que la moyenne ait atteint sa valeur "de croisière".

Le code-source est disponible dans ici.