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.