La solution tourne autour du logiciel libre Open2300 qui est un ensemble de petits utilitaires permettant de dialoguer avec la station. Voici la liste de ces utilitaires.

Installation d'Open2300

Tout d'abord, il faut télécharger les sources du logiciels. Choisissez le fichier au format tar.gz sur cette page et enregistrez le dans votre dossier dossier personnel ~/ par exemple.

Ensuite, ouvrez un terminal et lancer les commandes suivantes :

$ tar xvf open2300-1.10.tar.gz
$ cd open2300-1.10/
$ sudo cp open2300-dist.conf /etc/open2300.conf
$ make
$ sudo make install

Il se peut que vous ayez une erreur sur la compilation du module mysql2300... Si vous avez l'intention de l'utiliser il faut alors installer le paquet synaptic libmysqlclient15-dev et relancer les commandes make et make install.

Ensuite, il faut configurer son propre fichier /etc/open2300.conf en fonction de ses besoins... voici les rubriques principales du mien :

# open2300.conf 
#
# Configuration files for open2300 weather station tools
#
# Default locations in which the programs will search for this file: 
# Programs search in this sequence:
#  1. Path to config file including filename given as parameter (not supported by all tools)
#  2. ./open2300.conf (current working directory)
#  3. /usr/local/etc/open2300.conf (typical Linux location)
#  4. /etc/open2300.conf (typical Linux location)
#
# All names are case sensitive!!!


# Set to your serial port and time zone
# For Windows use COM1, COM2, COM2 etc
# For Linux use /dev/ttyS0, /dev/ttyS1 etc

SERIAL_DEVICE                 /dev/ttyS0  # /dev/ttyS0, /dev/ttyS1, COM1, COM2 etc
TIMEZONE                      1           # Hours Relative to UTC. East is positive, west is negative


# Units of measure (set them to your preference)
# The units of measure are ignored by wu2300 and cw2300 because both requires specific units
WIND_SPEED                    km/h         # select MPH (miles/hour), m/s, or km/h
TEMPERATURE                   C           # Select C or F
RAIN                          mm          # Select mm or IN
PRESSURE                      hPa         # Select hPa, mb or INHG

Le point le plus important étant le paramétre SERIAL_DEVICE qui indique sur quel port série est connectée la station : COM1 : /dev/ttyS0 COM2 : /dev/ttyS1 ...

Afin d'éviter tout problème de droits, tapez la commande suivante en adaptant le ttyS? à votre configuration :

$ sudo chmod a+rw /dev/ttyS0

Ces modifications de droits sont perdues automatiquement au démarrage de la machine suite à la detection des périphériques. Enfin de les réappliquer systématiquement, on peut ajouter cette ligne au fichier /etc/rc.local

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

# autorisation de lecture/écriture sur le port Com1
chmod a+rw /dev/ttyS0

exit 0

En cas de problème d'installation, vous trouverez plus d'information sur cette page.

Test d'Open2300

Le moment est venu de voir si votre configuration fonctionne !

Lancez la commande suivante, qui peut prendre une dizaine de secondes pour s'exécuter :

$ fetch2300
Date 2006-Sep-02
Time 16:00:12
Ti 22.2
(....)
Tendency Falling
Forecast Rainy

Si tout ce passe bien, vous devriez obtenir un résultat similaire :-)

Envoi des mesures à un site fédérateur de données météorologiques

Vous pouvez par exemple vous inscrire, gratuitement, au site Weather Underground.

URL de l'inscription :
http://www.wunderground.com/signup/signup.asp

Exemple de page générée :
http://www.wunderground.com/weatherstation/WXDailyHistory.asp?ID=IARDECHE3

Modification du fichier de configuration /etc/open2300.conf pour préciser vos paramètres Weather Underground qui vous sont communiqués lors de l'inscription :

#### WEATHER UNDERGROUND variables (used only by wu2300)

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

Commande à lancer pour envoyer vos données au site :

$ wu2300

Attention, cette commande réinitialise les mini/maxi de la vitesse du vent sur la station. C'est le moyen utilisé par le logiciel pour calculer les rafales entre deux envois de données.

Le service Citizen Weather est aussi utilisable avec la commande cw2300 et les paramètres CITIZEN_WEATHER_**** du fichier open2300.conf

Automatisation des envois

Le démon cron est tout à fait adapté à la planification de tâches. Pour l'utiliser, il suffit de lancer la commande suivante pour obtenir les tâches déjà planifiées :

$ crontab -l > mycron.txt  (avec un L minuscule après le signe moins)

Modifiez ensuite le fichier mycron.txt pour y ajouter la ligne suivante (il se peut que le fichier soit vide à l'ouverture) :

0,30 00-23 * * * /usr/local/bin/wu2300

Ce qui automatisera l'envoi des données de minuit à 23h aux minutes 00 et 30... autrement dit, toutes les demi-heure ! Il nous reste à indiquer à cron la modification :

$ crontab mycron.txt

Aller plus loin

Les commandes fournies par Open2300 permettent aussi de se faire un petit site web plus complet. Par exemple, avec les commandes histlog2300 (qui récupère les 175 valeurs de l'historique de la station), fetch2300 (qui donnent les valeurs actuelles), un peu de script shell et PHP, le planificateur cron, j'ai pu faire ce petit site !


Ajout fait le 03/03/2007

Suite à plusieurs demandes faites dans les commentaires voici plus d'éléments pour réaliser un site internet complet :

En fait, je n'ai pas utilisé le script php fournit avec open2300 ni de base MySQL, j'ai tout réécrit pour avoir quelque chose qui corresponde à ce que je souhaitais.

Tout d'abord, il y a une partie à installer sur le pc ubuntu :

Tout est dans le fichier weather.tar.gz Pour fonctionner, il faut installer les paquets synaptic suivants :

  • php5-cli
  • cron
  • ftp

Il faut aussi avoir compilé open2300 comme vu précédemment.

Dans mon cas, tout est dans le dossier /home/jp/appli/weather/ (si vous le changer de place, il faudra adapté les chemins dans les différents script. Je vous conseille d'ailleurs d'y jeter un oeil pour voir s'il n'y a pas des spécificités à changer comme le dossier ftp ou autres)

Il faut créer un dossier /home/jp/appli/weather/data qui contiendra vos données (adapté à vos chemins)

Il faut ensuite se créer un fichier ~/.netrc qui contient les mots de passe ftp exemple :

machine ftpperso.free.fr
login monlogin
password monmotdepasse

Après, on planifie la récupération des données sur la station et l'envoi des données sur le site

$ crontab -e

entrer la ligne suivante et sauvegarder :

0,30 00-23 * * * /home/jp/appli/weather/weather.sh

Cela lancera le script toutes les demi heure

Côté site web, il suffit de créer un dossier meteo (par ftp) et d'y transferer le contenu du fichier meteo.tar.gz

En ligne 43 et 128 du fichier index.php, vous pourrez modifier le texte propre à mon site par un qui correspond mieux au votre :-)

Voilà, je ne sais pas si tout est très clair, j'ai dû faire ce petit complément assez rapidement... désolé de ne pas avoir fait quelque chose de plus paramétrable... un jour peut-être ;-)