==== 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 [[http://weewx.com/downloads/|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 [[https://github.com/F8ASB/fr_FR_Agnes/blob/master/events.d/locale.tcl/| 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. {{youtube>3OgZJOwSX60?medium}}