Installation de WeeWx
La première chose à faire et de faire les mises à jour:
sudo apt-get update && sudo apt-get -y upgrade
# packages necessaires:
sudo apt-get install python-configobj sudo apt-get install python-cheetah sudo apt-get install python-imaging
# nécessaire si on utilise un port série ou USB:
sudo apt-get install python-serial sudo apt-get install python-usb
# nécessaire si on utilise MySQL:
sudo apt-get install mysql-client sudo apt-get install python-mysqldb
# nécessaire si on veut utiliser le FTP:
sudo apt-get install ftp
Taper les lignes commençant par sudo une à une ou alors
sudo apt-get install python-configobj python-cheetah python-imaging python-serial python-usb
Téléchargement du ficher Weexw, pour avoir les numéro de version se rendre sur le site de téléchargement Taper:
sudo wget weewx.com/downloads/weewx-X.Y.Z.tar.gz
Nous allons decompresser le fichier (indiquer la version weewx-X.Y.Z) Ci-dessous la version courante en date du 09/04/16
sudo tar xvfz weewx-3.5.0.tar.gz
Se rendre dans le repertoire decompresser:
cd weewx-3.5.0
Installons le programme
./setup.py build
puis
sudo ./setup.py install
Puis répondez aux questions:
description: Station météo WS1080 altitude: 315, meter latitude: (valeur en decimal) longitude: (valeur en decimal) units [metric]: faire entrée
Installed drivers include:
0) AcuRite (weewx.drivers.acurite)
1) CC3000 (weewx.drivers.cc3000)
2) FineOffsetUSB (weewx.drivers.fousb)
3) Simulator (weewx.drivers.simulator)
4) TE923 (weewx.drivers.te923)
5) Ultimeter (weewx.drivers.ultimeter)
6) Vantage (weewx.drivers.vantage)
7) WMR100 (weewx.drivers.wmr100)
8) WMR200 (weewx.drivers.wmr200)
9) WMR9x8 (weewx.drivers.wmr9x8)
10) WS1 (weewx.drivers.ws1)
11) WS23xx (weewx.drivers.ws23xx)
12) WS28xx (weewx.drivers.ws28xx)
choose a driver: 2 (dans mon cas) pour une station Conrad WS1080
Et voila nous avons entré les paramètres demandés
Pour relancer la configuration:
/home/weewx/bin/wee_config --reconfigure --driver=weewx.drivers.vantage
Nous allons éditer le fichier conf:
sudo nano /home/pi/weewx-3.5.0/weewx.conf
changer le model si besoin
# The station model, e.g., WH1080, WS1090, WS2080, WH3081
model = WS1080
Changer le target_unit
target_unit = METRIC
CTRL X pour quitter
Le logiciel est maintenant install pour vérifier si votre station météo répond, taper la commande suivante:
sudo /home/pi/weewx-3.5.0/bin/wee_device
Nous allons éditer wee_device pour enlever les lignes d'informations et conserver uniquement les données météo.
sudo nano /home/pi/weewx-3.5.0/bin/wee_device
ajouter # sur les lignes suivante
# print 'Using configuration file %s' % config_fn
et
# print 'Using %s driver version %s (%s)' % ( # driver_name, driver_vers, driver)
La commande suivante nous donnera que les données météo
sudo /home/pi/weewx-3.5.0/bin/wee_device --current
Modification de Logic.tcl
Editer Logic.tcl et ajouter les lignes suivantes:
sudo nano /usr/share/svxlink/events.d/local/Logic.tcl
#SEND DTMF CODE 25# #WEATHER STATION WITH WEEWX if {$cmd == "25"} { #ASK DATA playMsg "SVXCard/Weatherstation" "weatherinfo" set runcmd [exec /home/pi/weewx-3.5.0/bin/wee_device --current]; #ask weather datas set splitip [split $runcmd ,] lassign $splitip status delay outTempBatteryStatus outTemp outHumidity UV radiation rain dateTime windDir pressure windSpeed inHum$ #puts $status #puts $delay #puts $outTempBatteryStatus #TEMPERATURE OUT puts $outTemp set outTemp [lindex $outTemp 1] if {$outTemp != "None"} { set outTemp [format {%0.1f} [expr $outTemp]] playMsg "SVXCard/Weatherstation" "tempext"; playTemp $outTemp; } else { puts "Temperature exterieur non disponible" playMsg "SVXCard/Weatherstation" "tempext"; playMsg "SVXCard/Weatherstation" "noavailable"; } #HUMIDITY OUT puts $outHumidity set outHumidity [lindex $outHumidity 1] if {$outHumidity != "None"} { playMsg "SVXCard/Weatherstation" "humidityout"; playNumber $outHumidity; playMsg "Default" "percent"; } else { puts "Humidité exterieur non disponible" playMsg "SVXCard/Weatherstation" "humidityext"; playMsg "SVXCard/Weatherstation" "noavailable"; } #puts $UV #puts $radiation puts $rain #puts $dateTime #WIND DIRECTION puts $windDir set windDir [lindex $windDir 1] playMsg "SVXCard/Weatherstation" "winddir"; playWindDir $windDir #WINDSPEED puts $windSpeed set windSpeed [lindex $windSpeed 1] if {$windSpeed != "None"} { playMsg "SVXCard/Weatherstation" "windspeed"; set windSpeed [format {%0.1f} [expr $windSpeed]] playNumber $windSpeed; playMsg "SVXCard/Weatherstation" "kmh"; } else { puts "Vitesse du vent non disponible" } #PRESSURE puts $pressure set pressure [lindex $pressure 1] HUMIDITY OUT puts $outHumidity set outHumidity [lindex $outHumidity 1] if {$outHumidity != "None"} { playMsg "SVXCard/Weatherstation" "humidityout"; playNumber $outHumidity; playMsg "Default" "percent"; } else { puts "Humidité exterieur non disponible" playMsg "SVXCard/Weatherstation" "humidityext"; playMsg "SVXCard/Weatherstation" "noavailable"; } #puts $UV #puts $radiation puts $rain #puts $dateTime #WIND DIRECTION puts $windDir set windDir [lindex $windDir 1] playMsg "SVXCard/Weatherstation" "winddir"; playWindDir $windDir #WINDSPEED puts $windSpeed set windSpeed [lindex $windSpeed 1] if {$windSpeed != "None"} { playMsg "SVXCard/Weatherstation" "windspeed"; set windSpeed [format {%0.1f} [expr $windSpeed]] playNumber $windSpeed; playMsg "SVXCard/Weatherstation" "kmh"; } else { puts "Vitesse du vent non disponible" } #PRESSURE puts $pressure set pressure [lindex $pressure 1] set pressure [format {%0.1f} [expr $pressure]] playMsg "SVXCard/Weatherstation" "pressure"; playNumber $pressure; playMsg "SVXCard/Weatherstation" "hpa"; # TEMPERATURE IN puts $inTemp set inTemp [lindex $inTemp 1] set inTemp [format {%0.1f} [expr $inTemp]] playMsg "SVXCard/Weatherstation" "tempint"; playTemp $inTemp; # HUMINIDY IN puts $inHumidity set inHumidity [lindex $inHumidity 1] playMsg "SVXCard/Weatherstation" "humidityin"; playNumber $inHumidity; playMsg "Default" "percent"; #puts $rxCheckPercent puts $windGust puts $rainTotal #puts $ptr #puts $usUnits #WIND GUST DIRECTION puts $windGustDir set windDir [lindex $windGustDir 1] playWindDir $windGustDir return 1 }
Il est nécessaire d'ajouter un fichier locale.tcl dans le events.d du fichier language. (fr_FR/events.d/locale.tcl) disponible ici, c'est lui qui va gérer les modifications d'algorithme pour la langue français et la fonction pour la vitesse de vent.