Les logiciels utilisés et le fonctionnement de la station

Pour récupérer les données collectées par la station et les mettre à disposition sur internet, plusieurs logiciels sont nécessaires. Les voici.

  • CP210x
  • Virtual Serial Ports Emulator
  • Virtual VP
  • WeatherLink
  • Cumulus
  • VP2SQL
  • GraphWeather
  • Librairies Highcharts et Highstock

Voyons ci-dessous leurs roles plus en détail.

Pour fonctionner, deux logiciels, WeatherLink et Cumulus, ont besoin d'accéder directement au Datalogger de la station via son port de communication. Cela est normalement impossible. Le firmware du Datalogger ne permet l'accès qu'a un seul logiciel sur un seul port. De plus ces logiciels se connectectent à des ports série alors que la station est reliée à l'ordinateur par un port USB

Il existe cependant des solutions pour remédier à ces problèmes.


CP210x

En premier lieu, nous avons besoin d'un pilote qui va créer un pont entre le port USB réel auquel la station est connectée et un port série virtuel qui va pouvoir être utilisé par les logiciels. C'est le rôle du pilote CP210x USB to UART Bridge VCP Drivers de Silicon Labs.
Nous appellerons le port série virtuel créé COM3.


Virtual Serial Ports Emulator

Chaque logiciel, WeatherLink et Cumulus ont besoin d'être connectés simultanément à la station par un port série différent. Nous allons donc créer autant de paires de ports séries virtuels que nous avons de  logiciels à connecter.
C'est le rôle de Virtual Serial Ports Emulator de Eterlogic.com, qui est un pilote qui crée des ports série virtuels et les connecte par deux via un câble virtuel null-modem. Les applications des deux côtés d'une paire pourront échanger les données de façon que tout ce qui est écrit sur le premier port apparaisse sur le second et vice versa.
Tous les ports série virtuels fonctionnent et se comportent exactement comme ceux réels, en émulant tous leur paramètres. Vous pouvez créer autant de paires de ports virtuels que vous voulez, donc vous aurez toujours assez de ports série et pas besoin de matériel supplémentaire.

Il existe un autre pilote com0com qui remplit la même fonction et qui est gratuit. Mais il n'est pas signé numériquement. Si vous êtes sous Windows 7, une petite bidouille est nécessaire pour exécuter Windows en Mode Test afin que cela fonctionne.
Par contre, si vous êtes comme moi sous Windows 10 64 bits, vous devez obligatoirement utiliser un pilote signé numériquement.
La version 32 bits de VSPE est gratuite, mais pour la version 64 bits, vous devez acquérir une licence.

Dans mon installation, j'ai créé les paires de ports COM virtuels 6<-->16 et 7<-->17


VirtualVP.
Maintenant que chaque logiciel dispose de son propre port de communication, il faut les connecter tous les deux en même temps au port virtuel COM3 créé par CP210x.
C'est la fonction de VirtualVP de SoftWx.
Le principe de fonctionnement est le suivant;
VirtualVp lis les données dans le Datalogger de la station via le port USB ponté au port virtuel COM3 et les envois sur les ports virtuels COM16 et COM17.
Les ports virtuels COM16 et COM17 étant respectivement reliés par cable virtuel null-modem aux ports virtuels COM6 et COM7, les données sont alors disponibles sur ces derniers.
Le logiciel WeatherLink est connecté au port virtuel COM6 et le logiciel Cumulus au port virtuel COM7.

WeatherLink.
WeatherLink, est le logiciel de Davis Instrument qui est fourni avec le datalogger. Il récupère en temps réel les données dans le datalogger, permet de créer des graphiques, des rapports etc...
Il est également capable, s'il est employé seul, c'est à dire s'il est le seul à être connecté directement au datalogger, de créer via des modèles (templates) des rapports et de les envoyer sur internet à des sites spécialisés comme Awekas, Weather Underground, etc.
Cependant si comme moi vous connecter un autre soft, en l'occurrence, Cumulus, vous devez utiliser VirtualVP. Et là, problème. La dernière version de ce logiciel, à cause d'un changement dans le protocole de communication avec le datalogger, ne fonctionne plus correctement.
Pas grave, il y a d'autres solutions.
De plus, les graphiques créés avec ce logiciel sont bien, mais ça ne vaut pas les graphiques dynamiques présentés sur mon site.
Pourquoi alors, faire tourner ce soft me direz-vous. Parce que, il génère des fichiers archive avec une extension .wlk, et ce sont ces fichiers lus et traités par un autre logiciel qui permettent de faire ces fameux graphiques dynamiques et bien d'autres encore.

Cumulus.
Cumulus est un logiciel gratuit qui est capable de lire directement les données dans le datalogger de la VP2. Il permet également de faire des rapports et graphiques et même de généré des pages web toutes prêtes, et les charger automatiquement sur un site web. Il peut également transmettre les données de la station à des sites spécialisés tout comme WeatherLink.
En ce qui me concerne, il génère et envoie sur le serveur de mon hébergeur des fichiers en temps réel qui sont utilisés par la page d'accueil de mon site et par un petit soft pour smartphone qui me permet de visualiser en temps réel les conditions météo de la station.

VP2SQL
VP2SQL est un petit soft développé par Jean TURLIER de Météo Sérignan.
Ce petit programme est très important dans la conception du site actuel. En effet, celui-ci lis les données dans les fichiers .wlk générés par WeatherLink et les envois, à intervalles régulier, dans une base de données MySQL.
Et, c'est justement en interrogeant cette base de données MySQL et en interprétant ces données, tout cela en PHP et JavaScript, que les graphiques dynamiques et les différents rapports et statistiques présentés sur ce site, sont réalisés.
Ce soft est téléchargeable sur le forum de Pierre-André de Météo Villarzel.

GraphWeather
Pendant bien longtemps, avant de découvrir la librairie Highcharts, j'utilisait Graphweather un soft développé par Antoine Guilmard, pour générer des graphiques que j'intégrais dans des pages web. Bien des sites météo amateurs utilisent toujours Graphweather pour leurs sites.
Le principe est simple, le logiciel exploite les données de la station météo et génère une image qui est envoyée sur le serveur de votre hébergeur. Ensuite, il suffit d'intégrer cette image dans une page web.
Mais Graphweather a également une autre fonction. C'est celle-ci que j'utilise toujours. Il génère des fichier .xml qui servent à faire les statistiques que vous pouvez voir dans la rubique Statistiques générées par Graphweather ainsi que des fichiers .txt pour les statistiques NOAA.

Librairies Highcharts et Highstock
Ces librairies JavaScript, gratuites pour un usage non commercial, permettent de faire toute sorte de graphiques dynamiques.
Pour ce faire, je récupère les données voulues dans les bases de données MySQL alimentées par VP2SQL, je les traites en PHP, je les encode en Json afin qu'elles soient exploitables par Highcharts ou Highstock et les librairies font le reste.
C'est comme cela que sont fait la totalité des graphiques de ce site.
Ces librairies sont téléchargeables sur le site http://www.highcharts.com/

Des capteurs à votre écran, comment cela fonctionne ?

Je vais vous expliquer sommairement comment vous pouvez voir les informations relevées par les capteurs de la station.

  • Virtual Serial Ports Emulator créé les ports virtuels COM6, COM7, COM16 et COM17 et les connecte par paires

  • L'anémomètre et la girouette, par liaison filaire envoie leurs données au Kit déport anémomètre.
  • Le Kit déport anémomètre et l'ISS envoie par liaisons hertzienne les données à la console de réception.
  • La console de réception traite les données et les envoie au DataLogger qui les stocke.
  • Le datalogger est relié à mon ordinateur par un câble USB.
  • VirtualVP se connecte au datalogger via le port COM3 virtuel créé par CP210x et y lit les données.
    VirtualVP envoie ces données sur les ports virtuels COM16 et COM17 créé par Virtual Serial Ports Emulator.
  • WeatherLink se connecte au port Virtuel COM6 et récupère les données sur sa paire COM16.
  • Cumulus fait la même chose sur la paire de ports COM7<--> COM17.
  • WeatherLink traite les données, créé ou met à jour les fichiers .wlk, envoie des données à Wundergroung et Weathercloud.
  • Cumulus traite les données, envoie des fichiers “realtime” sur le serveur de mon hébergeur et des données à CWOP, Awekas et PWS Weather.
  • VP2SQL lis les données dans les fichiers .wlk les traite et les envoie à une base de données MySQL stockée sur le serveur de mon hébergeur.


Maintenant lorsque dans le menu du site vous demandez l'affichage d'un graphique ou d'une statistique, du code PHP envoie une requête SQL à la base de données, traite les données récupérées pour;

  • Soit les afficher dans un tableau pour ce qui est des statistiques,
  • Soit les encoder en Json afin qu'elles puissent être interprétée par les librairies Highcharts ou Highstock afin d'afficher un graphique dynamique.