### Navigation

- index
- modules |
- suivant |
- précédent |
- pywws 13.09_r1069 documentation »
- Guides utilisateur »

# Comment démarrer avec pywws

## Fichiers prérequis.

- Python 2.5+ - http://python.org/ (Note: Le support de Python 3 est en développement)
- Librarie USB - option 1 (préférable pour les Mac)
  - PyUSB 1.0 - http://sourceforge.net/apps/trac/pyusb/
  - libusb 0.1 or 1.0 - http://www.libusb.org/
- Librarie USB - option 2 (Si PyUSB 1.0 n’est pas disponible)
  - PyUSB 0.4 - http://sourceforge.net/apps/trac/pyusb/
  - libusb 0.1 - http://www.libusb.org/
- Librarie USB - option 3 (préférable pour les Mac)
  - hidapi - https://github.com/signal11/hidapi
  - ctypes - http://docs.python.org/2/library/ctypes.html
- Librarie USB - option 4:
  - hidapi - https://github.com/signal11/hidapi
  - cython-hidapi - https://github.com/gbishop/cython-hidapi
  - cython - http://cython.org/

Vous serez peut-être en mesure de les installer sur votre PC via un gestionnaire de paquet. Cette solution est beaucoup plus facile que de télécharger puis compiler les fichiers source à partir des sites de projet. Noter que certaines distributions Linux peuvent utiliser des noms différents pour certains paquets, ex. sur Ubuntu, pyusb se nomme python-usb.

En plus de ce qui précède, je recommende l’installation de pip (le paquet peut aussi se nommer python-pip) ou easy_install. Ceux-ci simplifient l’installation de logiciels par le Python Package Index (PyPI). Par exemple, PyUSB peut être installé à partir de PyPI en utilisant la commande `pip`:

    sudo pip install pyusb

## Télécharger le logiciel pywws.

Créer un dossier pour tous vos fichiers reliés à la météo et vous positionner dans ce dossier. Par exemple (avec un système d’exploitation Linux ou similaire):

    mkdir ~/weather
    cd ~/weather

Vous pouvez installer pywws directement à partir de PyPI en utilisant `pip` ou `easy_install`, ou vous pouvez télécharger et extraire les fichiers dans votre répertoire météo; ce qui a l’avantage de pouvoir facilement lire les modules Python et autres fichiers. Il vous permet également d’exécuter le logiciel pywws sans les privilèges du ‘root’ habituellement requis pour installer le logiciel.

### Installation facile

Voici la commande simple en une ligne:

    sudo pip install pywws

Les répertoires où tout est installé dépend de votre système d’exploitation et de la version de Python employée. Les modules de pywws sont installés dans le répertoire ‘site-packages’ (ex. `/usr/lib/python2.7/site-packages`). Habituellement, les scripts sont installés dans `/usr/bin`, et les fichiers exemples sont installés dans `/usr/share/pywws`, mais d’autres répertoires (tel que `/usr/local/share`) peuvent être utilisés.

### Téléchargement et extraction

Vous pouvez soit télécharger une version officielle de pywws à partir de PyPI, ou vous pouvez utiliser `git` pour obtenir la plus récente version en développement.

Pour installer une version officielle, visiter http://pypi.python.org/pypi/pywws/ et télécharger le fichier .tar.gz ou .zip. Enregistrez-le dans votre dossier “weather”, puis extraire tous les fichiers de l’archive, par exemple:

    cd ~/weather
    tar zxvf pywws-12.11_95babb0.tar.gz

ou:

    cd ~/weather
    unzip pywws-12.11_95babb0.zip

Ceci devrait créer un répertoire (nommé `pywws-12.11_95babb0` dans cet exemple) contenant tous les fichiers source de pywws. Il est pratique de créer un lien vers ce répertoire maladroitement nommé:

    cd ~/weather
    ln -s pywws-12.11_95babb0 pywws

Vous pouvez également obtenir la dernière version de développement de pywws, en utilisant `git clone`, puis utilisez `setup.py` pour compiler les fichiers de langue et la documentation:

    cd ~/weather
    git clone https://github.com/jim-easterbrook/pywws.git
    cd pywws
    python setup.py msgfmt
    python setup.py build_sphinx

Après téléchargement et extraction ou le clonage du dépôt git, vous pouvez ensuite utiliser `setup.py` Pour tout construire et installer:

    cd ~/weather/pywws
    python setup.py build
    sudo python setup.py install

Cette étape est facultative, et s’installe dans les mêmes répertoires qu’utiliserait `pip`. Si vous ne faites pas cette procédure d’installation, vous serez uniquement en mesure d’exécuter les modules pywws à partir de votre répertoire pywws.

## (Utilisateur de Python 3 seulement) Convertir pywws pour Python 3.

Si votre version de Python par défaut est 3.x et que vous avez installé pywws à l’aide de `pip`, ou exécuté `python setup.py install`, le code aura déjà été traduit de Python 2 vers Python 3 et inclu dans le processus d’installation. Sinon, vous devrez utiliser setup.py pour faire la conversion et créer une installation de Python 3:

    cd ~/weather/pywws
    rm -Rf build
    python3 setup.py build
    sudo python3 setup.py install

## Tester la connexion de la station météo.

Finallement, vous êtes prêt à tester votre installation de pywws. Brancher la station météo (si ce n’est pas déjà fait), puis exécuter le module `pywws.TestWeatherStation`. Si vous avez téléchargé pywws mais ne l’avez pas installé, alors n’oubliez pas de changer de répertoire pour le dossier source de pywws. Par exemple:

    cd ~/weather/pywws
    python -m pywws.TestWeatherStation

Si tout fonctionne correctement, vous devriez voir apparaitre un lot de chiffres ressemblant à ceci:

    0000 55 aa ff ff ff ff ff ff ff ff ff ff ff ff ff ff 05 20 01 51 11 00 00 00 81 00 00 0f 00 00 60 55
    0020 ea 27 a0 27 00 00 00 00 00 00 00 10 10 12 13 45 41 23 c8 00 32 80 47 2d 2c 01 2c 81 5e 01 1e 80
    0040 96 00 c8 80 a0 28 80 25 a0 28 80 25 03 36 00 05 6b 00 00 0a 00 f4 01 18 03 00 00 00 00 00 00 00
    0060 00 00 4e 1c 63 0d 2f 01 73 00 7a 01 47 80 7a 01 47 80 e4 00 00 00 71 28 7f 25 bb 28 bd 25 eb 00
    0080 0c 02 84 00 0e 01 e3 01 ab 03 dc 17 00 10 08 21 08 54 10 03 07 22 18 10 08 11 08 30 10 04 21 16
    00a0 26 08 07 24 17 17 08 11 01 06 10 09 06 30 14 29 09 01 06 07 46 09 06 30 14 29 09 01 06 07 46 08
    00c0 08 31 14 30 10 05 14 15 27 10 01 26 20 47 09 01 23 05 13 10 01 26 20 47 09 01 23 05 13 10 02 22
    00e0 11 06 10 02 22 11 06 08 07 07 19 32 08 12 13 22 32 08 09 07 08 48 01 12 05 04 43 10 02 22 14 43

Si ce test ne fonctionne pas, plusieurs facteurs peuvent être en cause, mais le plus courant est un problème de ‘permissions’; ce qui peut être vérifié en exécutant la commande suivante avec les droits ‘root’:

    sudo python -m pywws.TestWeatherStation

Si celà fonctionne, vous devriez être capable de permettre à votre compte utilisateur normal d’accéder à votre station météo en créant une règle ‘udev’. Voir la page de compatibilité du wiki http://code.google.com/p/pywws/wiki/Compatibility (en anglais) pour plus de détails.

Pour tout autre problème, n’hésitez pas à demander de l’aide sur la liste de publipostage de pywws: http://groups.google.com/group/pywws

## Configurer votre station météo.

Si vous ne l’avez pas déjà fait, configurez votre station météo pour afficher la bonne pression atmosphérique relative. (Voir le manuel pour plus d’informations sur la façon de faire.) pywws obtient le décalage entre la pression relative et absolue de la station, donc cela doit être défini avant d’utiliser pywws .

Vous pouvez obtenir la bonne pression relative de votre emplacement en recherchant sur Internet des rapports météorologiques d’une station à proximité, idéalement une source officielle, tel un aéroport. Il est préférable de le faire durant une période calme lorsque la pression est presque constante sur une longue période.

Si vous modifiez le décalage, à tout moment, vous pouvez mettre à jour toutes vos données stockées en exécutant `pywws.Reprocess`.

## Configurer l’intervalle d’enregistrement de la station météo.

Votre station météo a probablement quitté l’usine avec un intervalle d’enregistrement de 30 minutes. Ceci permet à la station d’enregistrer environ 11 semaines de données. La plupart des utilisateurs de pywws configurent leur ordinateur pour lire les données de la station à chaque heure, ou plus fréquemment et souhaitent que la station contienne assez de données pour couvrir d’éventuelles panne d’ordinateur. L’intervalle recommandé est de 5 minutes, ce qui représente 2 semaines de données. Utilisez le programme `pywws.SetWeatherStation` pour fixer l’intervalle:

    python -m pywws.SetWeatherStation -r 5

## Enregistrer les données de votre station météo.

En premier lieu, choisissez un dossier pour entreposer toute les données de votre station météo. Ces données étant écrites très fréquemment, un disque rigide sera préférable à une mémoire Flash (USB), puisque ces dernières ont un nombre d’écriture limité. Dans la plupart des cas, le répertoire personnel est préférable, par exemple:

    mkdir ~/weather/data

Ce répertoire est référé dans la documentation pywws en tant que votre ‘répertoire de données’.

Assurez-vous que votre ordinateur ait la date et l’heure précise, ainsi que le fuseau horaire approprié, puisqu’ils seront utilisés pour identifier les données de votre station météo. Si vous ne l’avez pas déjà fait, il pourrait être utile d’utiliser la synchronisation horaires par réseau (NTP) pour synchroniser votre ordinateur à un ‘serveur de temps’.

La première fois que vous exécutez `pywws.LogData` un fichier de configuration, nommé ‘weather.ini’, sera créé dans votre répertoire de données, puis s’arrêtera. Vous devez éditer ce fichier de configuration et y modifier la ligne `ws type = Unknown` à `ws type = 1080` ou `ws type = 3080`. (Si la console de votre station météo affiche la luminosité solaire, vous avez une station de type 3080, sinon, vous indiquez le type 1080.) Puis exécutez `pywws.LogData` de nouveau. Cette fois, l’exécution peut durer quelques minutes, puisqu’il copiera l’intégralité des données météo emmagasinées dans la mémoire de votre station météo. Le programme `pywws.LogData` possède une option ‘verbose’ qui augmente le nombre de messages affichés pendant l’exécution. Cette option est utile lors d’exécution manuelle, par exemple:

    python -m pywws.LogData -vvv ~/weather/data

(Remplacez `~/weather/data` par votre répertoire de données, si différent.)

Vous devriez maintenant avoir quelques fichiers de données à regarder. Par exemple:

    more ~/weather/data/weather/raw/2012/2012-12/2012-12-16.txt

(Remplacez année, mois et jour par la date pour laquelle vous devriez avoir des données.)

## Convertir les anciennes données de EasyWeather (optionnel).

Si vous utilisiez EasyWeather avant de décider d’utiliser pywws, vous pouvez convertir les données que EasyWeather a enregistré, vers format de pywws. Localisez votre fichier EasyWeather.dat et convertissez-le ainsi:

    python -m pywws.EWtoPy EasyWeather.dat ~/weather/data

## Indiquer certaines options de configuration.

Après avoir exécuté `pywws.LogData`, il devrait y avoir un fichier de configuration nommé ‘weather.ini’ dans votre répertoire de données. Ouvrez ce fichier avec un éditeur de texte. Vous devriez y trouver des lignes semblables à celle-ci:

    [config]
    ws type = 1080
    logdata sync = 1

Vous devez ajouter une nouvelle entrée nommée `day end hour` dans la section `[config]`. Ceci indique à pywws quelle convention vous souhaitez utiliser pour le calcul du sommaire des données quotidiennes. En Grande-Bretagne, le ‘jour météorologique’ s’étale habituellement de 09:00 à 09:00 GMT (10:00 à 10:00 BST durant l’été), j’utilise donc 9 pour l’heure de fin du jour. Dans d’autres pays une valeur de 24 (ou 0) peut être souhaitable. Noter que cette valeur est définie à l’heure hivernale locale. Vous ne devriez pas avoir besoin de changer cette valeur pendant la saison chaude.

Après édition, votre fichier weather.ini devrait resembler à ceci:

    [config]
    ws type = 1080
    logdata sync = 1
    day end hour = 9

Pour plus de détails sur les options du fichier de configuration, voir weather.ini - format du fichier de configuration.

## Traitement des données brutes.

`pywws.LogData` ne fait que copier les données brutes à partir de la station météo. Pour faire quelque chose d’utile avec ces données vous avez probablement besoin des sommaires horaire, quotidien et mensuel. Ces sommaires sont produits à partir du programme `pywws.Process`. Par exemple:

    python -m pywws.Process ~/weather/data

Vous devriez avoir ainsi quelques fichiers traités à consulter:

    more ~/weather/data/weather/daily/2012/2012-12-16.txt

Si vous changez votre période de fin du jour avec l’option de configuration `day end hour`, vous devrez re-traiter toutes vos données météo. Pour ce faire, exécutez le programme `pywws.Reprocess`:

    python -m pywws.Reprocess ~/weather/data

Vous êtes maintenant prêt pour fixer une journalisation régulière ou continue, tel que décrit dans la section Comment configurer la journalisation horaire avec pywws ou Comment configurer le mode ‘live’ avec pywws.

## Lire la documentation.

Le dossier doc du répertoire source de pywws contient une version HTML et une version en texte clair de la documentation ( à moins que vous ayez fait une installation directe avec `pip`). Les fichiers HTML peuvent être lus avec tous navigateurs. Débutez avec l’index (pywws) et suivez les liens à partir de ce point.

Commentaires ou questions? SVP, souscrivez à la liste d’envoi de pywws http://groups.google.com/group/pywws et laissez-le nous savoir.

### Navigation

- index
- modules |
- suivant |
- précédent |
- pywws 13.09_r1069 documentation »
- Guides utilisateur »