Envoi de donnée sur Awekas avec Open2300(Lu 7066 fois)

Envoi de donnée sur Awekas avec Open2300 le: 09/04/2011 à 16:39:39
Bonjour à tous,

Voila, étant sous Ubuntu 10.04 avec l'ensemble logiciel Open2300 pour ma station météo Pro La Crosse Technology WS2350, j''aimerais savoir comment faire pour envoyer mes données sur le site Awekas. J'ai vu qu'il existe un script pour créer un fichier .txt afin qu'il puisse être lu par Awekas vu ici => (http://www.station-meteo.com/Awekas/)mais je ne sais comment le créer et le mettre en œuvre.

En vous remerciant d'avance.



Re : Envoi de donnée sur Awekas avec Open2300 Réponse #1 le: 10/04/2011 à 16:56:05
Bonjour,

Connaissant open2300 pour l'avoir analysé en vue de mon logiciel, la version standard n'a aucun module pour effectuer des envois vers Awekas.
open2300 contient deux modules pour cela wh2300 pour envoyer vers Weather Underground, et cw2300 pour envoyer vers findud (Cwop).

Ne connaissant pas le type de station ni le système d'exploitation, difficile d'apporter une autre aide

A+



Re : Envoi de donnée sur Awekas avec Open2300 Réponse #2 le: 25/04/2011 à 19:16:46
Bonjour,

j utilise bien open2300 avec Ubuntu et un fichier codé en PHP (data.php) pour envoyer les données sur Awekas et station-meteo.com, ensuite je passe par Tache planifiées ( cron ) pour exporter vers Awekas et station-meteo.com. Faudra configurer l' espace perso chez Awekas.

voila la ligne de commande qui exécute mon fichier data.php
#fichier donnée pour station-meteo.com et Awekas
/usr/bin/php5 /var/www/ws2350/data.php
data.php est mon fichier php qui récupère les données du fichier current.txt de ma Ws-2350 ensuite génére le fichier data.txt.

lien awekas : http://www.awekas.at/fr/instrument.php?id=5166
lien vers mon site : http://www.stationmeteoocton.com/

Aplus...
« Modifié: 28/02/2013 à 18:52:14 par cheppa »



Re : Envoi de donnée sur Awekas avec Open2300 Réponse #3 le: 04/09/2011 à 17:39:48
Merci d'avoir répondu à mon problème et je vous prie de m'excuser pour un réponse tardive après plus de 5 mois d'absence: j'avais mis tout ceci de coté.

Donc de retour sur tous cela, j'ai essayé de construire ce script à partir de ce que j'ai pu trouver un peu partout sur le net, et bien évidement, ne maitrisant pas le php, ça ne fonctionne pas.
Voici le contenu de mon script:
<?

define("WEATHER_DATA_PATH", "/var/www/meteo/data/");

// Loading current data from station

$f = @fopen(WEATHER_DATA_PATH."current.txt", "r");
while($f && !feof($f))
{
$value = fgets($f);
{
list($parameter,$parvalue)=explode(" ", $value);
$ws["$parameter"]=trim($parvalue);
}
}
@fclose($f);

$fp = @fopen(WEATHER_DATA_PATH."awekas.txt","w");
if ($fp) {
fwrite($fp);

$d = unserialize(stripslashes($data));
// 1/ ligne vide
fputs($fp, "\n");
// 2/ température extérieure
fputs($fp, $d['Tout']."\n");
// 3/ humidité extérieure
fputs($fp, $d['RHo']."\n");
// 4/ pression de l'air
fputs($fp, $d['RP']."\n");
// 5/ précipitations du jour
fputs($fp, $d['R24h']."\n");
// 6/ vitesse du vent (en km/h)
fputs($fp, $d['WS']."\n");
// 7/ direction du vent (en degrés)
fputs($fp, $d['DIR0']."\n");
// 8/ heure de la mesure au format HH:MM
fputs($fp, $d['Time']."\n");
// 9/ date de la mesure au fromat JJ.MM.AAAA
$date = explode('-',$d['Date']);
$months = array('Jan' => '01', 'Feb' => '02', 'Mar' => '03', 'Apr' => '04', 'May' => '05', 'Jun' => '06', 'Jul' => '07', 'Aug' => '08', 'Sep' => '09', 'Oct' => '10', 'Nov' => '11', 'Dec' => '12');
fputs($fp, $date[2].'.'.$months[$date[1]].'.'.$date[0]."\n");

@fclose($fp);
}
Donc voila, si vous voyez d'où vient le problème dans le script, n'hésitez pas à me le faire remarquer ou si vous le souhaitez bien, vous pouvez également me faire partager le contenu de votre fichier script php, en vous remerciant d'avance.
Bonne soirée ;)
« Modifié: 04/09/2011 à 21:58:47 par UD37 »



Re : Envoi de donnée sur Awekas avec Open2300 Réponse #4 le: 12/09/2011 à 07:16:08
Bonjour,

Attention : la copie du script tu as posté dans le forum est un peut "vieillot" depuis php >4 le code commande  " <? " est obsolète et remplacé par "<?php"

le chemin que tu indique vers ton dossier est il correct ?  /var/www/meteo/data/
celui-ci indique que tu es sur OS type Linux et que tu as installé un serveur Local....
define("WEATHER_DATA_PATH", "/var/www/meteo/data/");

peut tu poster le message d' erreur que retourne le script PHP ?

aplus





Re : Envoi de donnée sur Awekas avec Open2300 Réponse #5 le: 12/09/2011 à 11:20:47
Voila ce que me retourne l'exécution du script awekas.php:
root@HP-PAVILLON-S-B:/home/XXXXXX# /etc/open2300/awekas.php
/etc/open2300/awekas.php: line 1: ?php: Aucun fichier ou dossier de ce type
/etc/open2300/awekas.php: line 3: Erreur de syntaxe près du symbole inattendu « "WEATHER_DATA_PATH", »
/etc/open2300/awekas.php: line 3: `define("WEATHER_DATA_PATH", "/var/www/meteo/data/");'
J'ai bien entendu remplacé le "<?" par "<?php".

Voila.



Re : Envoi de donnée sur Awekas avec Open2300 Réponse #6 le: 12/09/2011 à 12:06:48
Bonjour
je suppose que le nom de ton script PHP est : awekas.php et le chemin est /etc/open2300/awekas.php
dans ton script tu indique un chemin  WEATHER_DATA_PATH = /var/www/meteo/data/
deja la cela ne peut pas fonctionner !
teste cette solution provisoire :
remplacer
WEATHER_DATA_PATH = /var/www/meteo/data/
par
WEATHER_DATA_PATH = /etc/open2300/

« Modifié: 12/09/2011 à 12:23:01 par cheppa »



Re : Envoi de donnée sur Awekas avec Open2300 Réponse #7 le: 12/09/2011 à 12:30:08
Dans "WEATHER_DATA_PATH" j'ai indiqué le dossier "/var/www/meteo/data/" où se trouvait mes données météo dont le current.txt et les fichiers historique et éventuellement la où se trouvera le fichier awekas.txt.
Pour être un peu plus précis, voici le contenu du fichier "weather.sh" qui décrit le fonctionnement du processus de récupération, conservation et publication des données météo.
#!/bin/sh
# Récupération des données courantes
/usr/bin/fetch2300 > /var/www/meteo/data/current.txt
sleep 5s
# Alimentation de l'historique
/usr/bin/histlog2300 /var/www/meteo/data/ws2350.log
sleep 5s
# Calcul des fichiers mensuel
/usr/bin/php5 /etc/open2300/loaddata.php
sleep 5s
# Transmission des informations à Weather Underground
/usr/bin/wu2300
sleep 5s
# Création du fichier texte pour Awekas
#/usr/bin/php5 /etc/open2300/awekas.php (Le # devant la commande est normale, je l'enlèverai une fois le script fonctionnel)

Et le fichier "loaddata" alimente l'historique dans le dossier /var/www/meteo/data/
<?
/* loaddata.php
 *
 */

define("WEATHER_DATA_PATH", "/var/www/meteo/data/");
define("WS_LOG_FILE", WEATHER_DATA_PATH."ws2350.log");


// Loading current data from station

$f = @fopen(WEATHER_DATA_PATH."current.txt", "r");
while($f && !feof($f))
{
$value = fgets($f);
{
list($parameter,$parvalue)=explode(" ", $value);
$ws["$parameter"]=trim($parvalue);
}
}
@fclose($f);


// Search last history timestamp in last_history.txt

$f_last_history = @fopen(WEATHER_DATA_PATH."last_history.txt", "r");
if($f_last_history)
{
$lasttimestamp = trim(fgets($f_last_history));
fclose($f_last_history);
}
else
{
$lasttimestamp = "00000000000000";
}

// Reading history file WS_LOG_FILE

$monthfile="";
$f_monthfile=FALSE;

$f_log_file = fopen(WS_LOG_FILE, "r");

if($f_log_file)
{
while(!feof($f_log_file))
{
$histline = trim(fgets($f_log_file));
$timestamp = substr($histline, 0, 14);
if($timestamp <= $lasttimestamp)
continue;
$month = substr($histline, 0, 6);
if($month != $monthfile)
{
$monthfile = $month;
if($f_monthfile)
fclose($f_monthfile);
$f_monthfile = fopen(WEATHER_DATA_PATH."m".$monthfile.".txt", "a");
}
fputs($f_monthfile, $histline." \n");
$lasttimestamp = $timestamp;
}
fclose($f_log_file);
if($f_monthfile)
fclose($f_monthfile);
}

// Save last history timestamp
$f_last_history = @fopen(WEATHER_DATA_PATH."last_history.txt", "w");
if($f_last_history)
{
fwrite($f_last_history, $lasttimestamp."\n");
fclose($f_last_history);
}

« Modifié: 12/09/2011 à 12:34:05 par UD37 »



Re : Envoi de donnée sur Awekas avec Open2300 Réponse #8 le: 12/09/2011 à 13:10:12
salut
Dans ton fichier weather.sh
ajoute la commande pour ouvir ton dossier data pour acceder au fichier current.txt

# Ouvre et recupere les données courantes
cd  /var/www/meteo/data/



Re : Envoi de donnée sur Awekas avec Open2300 Réponse #9 le: 12/09/2011 à 13:42:56
Mince, je vient de m'apercevoir que j'avais mal exécuté le script "awekas.php":
Voici donc les "vrai" erreurs retourné:
root@HP-PAVILLON-S-B:/home/xxxxxx# php5 /etc/open2300/awekas.php
PHP Deprecated:  Comments starting with '#' are deprecated in /etc/php5/cli/conf.d/imap.ini on line 1 in Unknown on line 0
PHP Deprecated:  Comments starting with '#' are deprecated in /etc/php5/cli/conf.d/mcrypt.ini on line 1 in Unknown on line 0
PHP Notice:  Undefined offset: 1 in /etc/open2300/awekas.php on line 12
PHP Warning:  fwrite() expects at least 2 parameters, 1 given in /etc/open2300/awekas.php on line 20
PHP Notice:  Undefined variable: data in /etc/open2300/awekas.php on line 22
PHP Notice:  Undefined offset: 2 in /etc/open2300/awekas.php on line 42
PHP Notice:  Undefined offset: 1 in /etc/open2300/awekas.php on line 42
PHP Notice:  Undefined index:  in /etc/open2300/awekas.php on line 42
Voila, mes excuses :-\ ;D




Re : Envoi de donnée sur Awekas avec Open2300 Réponse #10 le: 12/09/2011 à 14:16:33
il faudra modifier php.ini

sudo gedit /etc/php5/apache2/php.ini

error_reporting = E_ALL & ~E_NOTICE
display_errors = On

Redémarrez apache avec :

sudo /etc/init.d/apache2 restart

bon courrage!




 

x

Recevez les articles par mail

emailVous êtes passionné de station météo, restons en contact ...
www.station-meteo.com: le site de référence des stations météo