La station météo est le modèle WS2350 de La Crosse Technology :

Le prix de cette station est d'environ 120 €. Elle communique avec un boîtier NSLU2 dont le prix est voisin de 80 €, ce qui permet la gestion et l'envoi des données sur un site WEB, le coût de l'ensemble restant assez faible, sa consommation électrique étant insignifiante.

Le capteur thermo-hygro extérieur est situé sous un débord de toit, à l'abri du rayonnement solaire direct, en façade est.
Le pluviomètre et l'anémomètre sont reliés au capteur thermo-hygro par une liaison filaire. Les données récoltées par ce capteur sont transmises à la base par liaison radio 433 MHz.

Les indications données par l'anémomètre ne sont pas fiables, compte tenu de l'environnement protégé à l'est. Cet anémomètre reste par contre connecté pour éviter que la station ne perde du temps à le rechercher lors de ses tests réguliers.

Caractéristiques du poste de base

Heure et date radio-pilotées par l’émetteur DCF77 de Francfort (possibilité de réglage manuel)
Présentation simultanée des données sur l’écran
Alarme programmable pour tous les relevés, avec enregistrement des mini-maxi, date et heure
Affichage des températures intérieure et extérieure en degrés Celsius ou Fahrenheit
Affichage des humidités intérieure et extérieure relatives
Pression atmosphérique relative ou absolue en hPa ou en inch Hg
Pluviomètre avec indication des précipitations de la dernière heure, des dernières 24 heures et de la pluie totale (en mm ou en inch)
Affichage de la vitesse du vent en km/h, en noeuds, en m/s ou en Beaufort
Affichage de la vitesse et de la direction du vent sur un compas à 360°
Affichage de la température ressentie (Windchill)
Affichage du point de rosée
Affichage de la prévision météo par 3 icônes (soleil, nuages, pluie)
Affichage de la tendance météo
Alarme de tempête
Rétro-éclairage
Réglage individuel de toutes les fonctions météo
Connexion informatique
Tous les enregistrements de données (jusqu’à 175 enregistrements, avec choix de la fréquence de mesure) sont enregistrés dans la station (et peuvent être exportés sur ordinateur)

Température intérieure : résolution de 0.1 °C
Hygrométrie intérieure : résolution de 1% et précision de +/- 3%
Pression atmosphérique : absolue ou relative (écart de 49.2 hPa par rapport au niveau de la mer à 420 m d'altitude)

Température et hygrométrie extérieure

Résolution de 0.1 °C pour la température et de 1% pour l'hygrométrie (précision : +/- 3 %)


Le capteur thermo-hygro mesure la température et l’humidité extérieures. Il reçoit les données du pluviomètre et de l’anémomètre qu’il transmet ensuite à la station, soit par fréquence 433 MHz, soit par l'intermédiaire d'un câble.

Vitesse et direction du vent

L'anémomètre mesure la direction et la vitesse du vent. Ces données sont récoltées par le capteur thermo-hygro avec lequel l’anémomètre est relié par un câble de 10 mètres.

Précipitations

Résolution : 0.5 mm (un basculement de la jauge correspond à 0.518 mm de pluie)

 

Le pluviomètre reçoit les précipitations sur un auget à bascule. Ces données sont récoltées par le capteur thermo-hygro avec lequel l’anémomètre est relié par un câble de 10 mètres.

Transmission des données

Les données transitent par liaison filaire du pluviomètre et de l'anémomètre vers le capteur thermo-hygro extérieur. Ces données, ajoutées à celles du capteur thermo-hygro extérieur, peuvent ensuite être transmises de ce capteur vers la station de base par liaison filaire ou par liaison radio 433 MHz.
Distance de transmission par 433 MHz : 100 mètres (en champ libre).
Distance de transmission par câble : 10 mètres (avec possibilité de rajout d’un câble de 10 mètres au maximum).

Si la transmission se fait par 433 MHz, le relevé se fait toutes les 32 secondes (avec un vent > à 10 m/s), toutes les 128 secondes (avec un vent < à 10 m/s) ou toutes les 10 minutes dans le cas de 5 échecs consécutifs de la transmission (matérialisés sur la station par « — » sauf dans le cas des valeurs pluviométriques). Si la transmission se fait par câble, le relevé se fait toutes les 8 secondes.

Connexion informatique

Connexion informatique par câble RS-232/USB (simulant un port série), de longueur 2 mètres. La station communique en fait au travers d'une liaison série, l'adaptateur permettant le branchement sur un port USB.
Les données sont recueillies sur ordinateur, à partir duquel il est possible d’exploiter le fichier historique et concevoir des graphiques. Il est possible de stocker 175 jeux de données et de régler la fréquence de mesure.
La station est livrée avec un CD Rom comprenant le manuel d'installation et d'utilisation, le logiciel Heavy Weather pour l'acquisition et le traitement des données et les logiciels Heavy Weather Review / Heavy Weather Publisher.

Dimensions

de la station (L x P x H) = 170 x 32 x 139 mm
du transmetteur thermo/hygro (L x P x H) = 71.5 x 73 x 136 mm
du pluviomètre (L x P x H) = 140 x 70 x 137 mm
de l’anémomètre (L x P x H) = 250 x 277.6 x 77.9 mm

Alimentation

par un adaptateur secteur ou :
- 3 piles LR6 1,5 V pour le récepteur
- 2 piles LR6 1,5 V pour le transmetteur thermo-hygro


Les données de la station sont recueillies au moyen du logiciel libre Open2300 sous Linux, grâce à un boîtier Linksys NSLU2, dont la consommation est voisine de 10 W :

Ce boîtier était destiné initialement à assurer la fonction de serveur de fichiers. Il a été flashé pour pouvoir intégrer le système d'exploitation GNU/Linux Debian.

Ses dimensions sont de : 130 mm x 21 mm x 95 mm.

A l'arrière sont accessibles un port Ethernet RJ-45 10/100 et deux ports USB. Le premier port USB est réservé pour la clé qui contient Debian et le deuxième port permet de communiquer avec la station météo.

L'utilisation de Debian sur un boîtier NSLU2 est détaillée sur NSLU2-Linux (en anglais).

L'installation de Debian est explicitée sur l'excellent site MicElectroLinGenMet (en français).

Des conseils supplémentaires peuvent être trouvés sur :
SlugPlayer For NSLU2 - DebianInstallerRC1
Installing Debian on the Linksys NSLU2
Debian GNU/Linux sur le NSLU2 : Debian slug - Le blog à Fabroce

L'accès au NSLU2 peut se faire au moyen du protocole SSH ou en utilisant sous Windows le logiciel KiTTY.

Il a été nécessaire de créer les partitions manuellement, en augmentant la taille du swap.

Lors de l'installation, à l'ouverture d'une connexion SSH, il est possible que le message suivant soit affiché :

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that the RSA host key has just been changed.
The fingerprint for the RSA key sent by the remote host is .....
Please contact your system administrator.
Add correct host key in /root/.ssh/known_hosts to get rid of this message.
Offending key in /root/.ssh/known_hosts:1
RSA host key for 192.168.1.77 has changed and you have requested strict checking.
Host key verification failed.

La solution est d'effacer le fichier /root/.ssh/known_hosts.

Message affiché à la première connexion :

Linux LKGAB6608 2.6.18-6-ixp4xx #1 Thu Oct 16 01:45:43 UTC 2008 armv5tel

The programs included with the Debian GNU/Linux system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law.
Last login: Thu Jan 8 14:51:50:2009:from 192.168.0.2
domi@LKGAB6608:~$

L'adaptateur RS-232/USB livré avec la station météo (puce de type FTDI) a été reconnu immédiatement par Debian.
Un autre adaptateur avec une puce de type PL2303 a été reconnu également.
La commande lsusb permet d'afficher les informations relatives aux ports USB :

Bus 002 Device 002: ID 0403:6001 Future Technology Devices International, Ltd 8-bit FIFO
Bus 002 Device 001: ID 0000:0000
Bus 001 Device 001: ID 0000:0000
Bus 003 Device 002: ID 058f:6387 Alcor Micro Corp.
Bus 003 Device 001: ID 0000:0000

--------------------------------------------------

Tous les détails concernant le logiciel Open2300 sont sur le site de son concepteur WebHome < Open2300 < TWiki (en anglais).

MicElectroLinGenMet explicite encore son installation.

De précieux compléments sont disponibles sur Connecter une station météo sous Ubuntu.

L'installation d'Open2300 se déroule alors de la manière suivante :

1) Télécharger et décompacter :
wget http://ovh.dl.sourceforge.net/sourceforge/open2300/open2300-1.10.tar.gz
gunzip open2300-1.10.tar.gz
tar -x -f open2300-1.10.tar
cd open2300-1.10

2) Installer les paquets (apt-get install) :
gcc (compilateur C du projet GNU)
libc6-dev (bibliothèque GNU C : bibliothèques de développement et fichiers d'en-têtes)
libmysqlclient15-dev (fichiers de développement de la base de données MySQL)

3) Compiler et installer :
make
make install
cp open2300-dist.conf /etc/open2300.conf

4) Modifier dans le fichier de configuration open2300.conf :
SERIAL-DEVICE /dev/ttyUSB0
ce qui permettra la communication entre le boîtier NSLU2 et la station WS2350.

5) La commande fetch2300 permet de vérifier le fonctionnement de l'ensemble :

Date 2009-Jan-15
Time 10:36:31
Ti 7.2
Timin 5.0
Timax 16.0
TTimin 10:32
DTimin 2009-01-11
TTimax 00:00
DTimax 2001-01-01
To 0.9
Tomin -7.4
Tomax 4.0
TTomin 08:44
DTomin 2009-01-11
TTomax 15:32
DTomax 2000-01-13
DP -0.4
DPmin -10.5
DPmax 0.4
TDPmin 08:44
DDPmin 2009-01-11
TDPmax 16:06
DDPmax 2008-12-31
RHi 80
RHimin 38
RHimax 81
TRHimin 16:31
DRHimin 2008-12-28
TRHimax 10:33
DRHimax 2009-01-14
RHo 91
RHomin 66
RHomax 91
TRHomin 15:42
DRHomin 2000-01-13
TRHomax 10:35
DRHomax 2009-01-15
WS 0.0
DIRtext N
DIR0 0.0
DIR1 0.0
DIR2 0.0
DIR3 0.0
DIR4 0.0
DIR5 0.0
WC 0.9
WCmin -7.4
WCmax 4.0
TWCmin 08:44
DWCmin 2009-01-11
TWCmax 15:32
DWCmax 2000-01-13
WSmin 0.0
WSmax 0.0
TWSmin 10:35
DWSmin 2009-01-15
TWSmax 10:35
DWSmax 2009-01-15
R1h 0.00
R1hmax 5.18
TR1hmax 05:36
DR1hmax 2008-12-31
R24h 0.00
R24hmax 35.22
TR24hmax 22:58
DR24hmax 2008-12-31
Rtot 36.26
TRtot 10:29
DRtot 2009-01-14
RP 1017.400
RPmin 1013.100
RPmax 1031.300
TRPmin 04:55
DRPmin 2009-01-14
TRPmax 10:53
DRPmax 2009-01-11
Tendency Rising
Forecast Cloudy

6) Transmission des informations par wu2300 :

Il est possible d'envoyer ses données au site Weather Underground, sur lequel il faudra s'inscrire (gratuitement) au préalable. La commande wu2300 se charge de l'envoie des données.

Renseigner ensuite le fichier open2300.conf pour préciser les paramètres Weather Underground qui sont communiqués lors de l'inscription à ce site :

WEATHER_UNDERGROUND_ID IBELFORT2 # ID received from Weather Underground
WEATHER_UNDERGROUND_PASSWORD xxxxxxxxx # Password for Weather Underground

Correction d'un bogue - Modifier les fichiers et recompiler (make et make install) :

linux2300.c
//sprintf(buffer, "GET %s\nHTTP/1.0\n\n", urlline);
sprintf(buffer, "GET %s HTTP/1.0\r\nUser-Agent: open2300/1.10-2\r\nAccept: */*\r\nHost: weatherstation.wunderground.com\r\nConnection: Keep-Alive\r\n\r\n", urlline);
wu2300.c
//sprintf(urlline, "http://%s%s?ID=%s&PASSWORD=%s",
//WEATHER_UNDERGROUND_BASEURL,WEATHER_UNDERGROUND_PATH,
//config.weather_underground_id,config.weather_underground_password);
sprintf(urlline, "%s?ID=%s&PASSWORD=%s",
WEATHER_UNDERGROUND_PATH,
config.weather_underground_id,config.weather_underground_password);

7) La commande histlog2300 permet de récupérer les 175 valeurs de l'historique de la station.

--------------------------------------------------

Il est souhaitable de conserver le serveur Debian à l'heure en effectuant une synchronisation automatique au moyen d'une nouvelle tâche cron qui exécutera chaque jour la commande ntpdate-debian, avec la commande :
crontab -e
et en ajoutant la ligne :
00 12 * * 1-7 /usr/sbin/ntpdate-debian
ce qui dans le cas présent effectuera la synchronisation tous les jours à midi.

Le cron permet également de configurer le NSLU2 afin qu'il interroge la WS2350 à intervalles réguliers pour envoyer les informations sur Weather Underground :
crontab -e
0,30 * * * * /usr/local/bin/wu2300
ce qui enverra ces informations toutes les demi-heures, 24h/24 et 7j/7.

Les chaînes transmises sont du type :
http://weatherstation.wunderground.com/weatherstation/updateweatherstation.php?ID=IBELFORT2&PASSWORD=*****&dateutc=2008-12-23+18%3A15%3A18&tempf=48.02&dewptf=37.53&humidity=67&windspeedmph=10.51&winddir=337.5&rainin=0.00&dailyrainin=0.18&baromin=29.430&softwaretype=open2300%20v1.10&action=updateraw


Création d'un site WEB :

Le transfert de fichiers vers des sites distants grâce à des séquences de connexions automatiques avec l'utilisation de la commande ftp implique de renseigner le fichier .netrc :

machine adresse_site_ftp
login mon_nom
password mon_mot_de_passe

Le fichier .netrc doit être dans le répertoire home de l'utilisateur qui exécute la commande ftp. Vu que ce fichier peut contenir des mots de passe, la protection doit être assurée en conséquence par la commande chmod go-rwx .netrc.

--------------------------------------------------

Pour utiliser le langage PHP installer au préalable le paquet php5-cgi.

Coté NSLU2 installer les fichiers meteoNSLU2.tar.gz et modifier les fichiers config.php, loaddata.php, sendweather et weather.sh en fonction de ses paramètres personnels.

Coté WEB installer les fichiers meteoWEB.tar.gz et modifier les fichiers day.php, form.php, index.php, month.php, soleil.php, et bien sûr station.htm si celui-ci est utilisé.

Les scripts tip_centerwindow.js, tip_followscroll.js et wz_tooltip.js permettent d'afficher une bulle d'aide lors du survol d'une page HTML.

WU-History permet de visualiser les données archivées du site Weather Underground en tableaux ou sur des graphiques.

Le calcul des heures de lever et de coucher du soleil est effectué dans le fichier soleil.php.


Janvier 2009 - Dominique Chassignet

Remerciements à la communauté Linux, Kenneth Lavrsen, Walter Zorn, Juneau County Weather, Olravet, MicElectroLinGenMet, Jean-Pierre Morfin et Paul Gogan, dont les sites m'ont servi de référence ou m'ont inspirés.