seraphinou Posté(e) le 22 avril 2012 Posté(e) le 22 avril 2012 bonjour je voudrais recuperer les donnees de ma zibase sur mon syno les donnees de mes sondes oregon je possede un ds 710+ comment faire cordialement 0 Citer
PatrickH Posté(e) le 23 avril 2012 Posté(e) le 23 avril 2012 Elle se connecte en ethernet la Zibase il me semble! elle utilise quoi comme protocole de communication avec le PC ? Patrick 0 Citer
PiwiLAbruti Posté(e) le 23 avril 2012 Posté(e) le 23 avril 2012 Une piste : http://www.abavala.com/2011/05/11/sauvegarde-des-mesures-recues-par-la-zibase-sur-le-nas-2/ 0 Citer
Mike913 Posté(e) le 26 mai 2012 Posté(e) le 26 mai 2012 bonjour je voudrais recuperer les donnees de ma zibase sur mon syno les donnees de mes sondes oregon je possede un ds 710+ comment faire cordialement Bonjour, J' ai un script en php qui récupére les données sur la Zibase, Il est lancé toutes les 15 minutes via Cron. Voici ce script: <?php // ============================ connection base de donnée $host = 'localhost'; // $login = 'username'; // utilisateur $pass = 'Password'; // mot de passe de l'utilisateur $base = 'MaBase'; // Nom de la base de données $table = 'MaTable'; // Nom de la table // ===================================================== $IPZibase = 'XXX.XXX.XXX.XXX'; $chemin = ''; // Chemin pour écrire un fichier rappelant la derniere mesure du total de pluie. // ===================================================== // Liste des sondes // Identifiant de la sonde, Type de la sonde, Type de Relevé, Champs de la base de données. // ===================================================== $Sondes = array( array('4196953345','OS','THG','TmpExt','HumExt'), // Sonde THG810 array('4196963842','OS','THG','TmpInt','HumInt'), // Sonde THG810 array('3930873857','OS','TP','TmpExt2'), // Sonde THN132N array('445247488','OS','Vents','Vents','Direction'), // Sonde WGR800 array('706329600','OS','Pluie','PluTot','PluInt','PluRel'), // Sonde PCR800 array('1517101056','OS','Pression','TmpInt2','Pression') // Sonde THGR918N ); $old = $chemin.'Rain.txt'; // $url = "http://".$IPZibase ."/sensors.xml"; $date = date('Y-m-d H:i:s'); // Date et Heure du relevé // ===================================================== global $sql_connect; $sql_connect = mysql_connect($host,$login,$pass); if (!$sql_connect) { die('Impossible de se connecter : ' . mysql_error()); } // selection de la base mysql_select_db($base, $sql_connect); // ===================================================== function getSensorData($zxml, $idSensor, $type) { $node = $zxml->xpath("//ev[@id='".$idSensor."' and @pro='".$type."']"); if ($node != null && $node[0]) { $info = array(); $attributes = $node[0]->attributes(); $info['v1'] = intval($attributes["v1"]); $info['v2'] = intval($attributes["v2"]); //$info['Bat'] = intval($attributes["lowbat"]); return $info; } else return null; } // ===================================================== // Initialise la requéte // ===================================================== $sql1 = "INSERT INTO `".$base."`.`".$table."` (`ID`, `Date`"; $sqlval = "VALUES ( '', '".$date."'"; $handle = fopen($url, "rb"); $xmlContent = stream_get_contents($handle); $xmlDoc = simplexml_load_string($xmlContent); fclose($handle); // ===================================================== // relevé des sondes // ===================================================== foreach($Sondes as $value) { $info = getSensorData($xmlDoc,$value[0],$value[1]); switch ($value[2]) { case 'THG': $sql1 .= ", `".$value[3]."`, `".$value[4]."`"; $sqlval.= ", '".$info['v1']."', '".$info['v2']."'"; break; case 'TP': $sql1 .= ", `".$value[3]."`"; $sqlval.= ", '".$info['v1']."'"; break; case 'Vents': $sql1 .= ", `".$value[3]."`, `".$value[4]."`"; $sqlval.= ", '".$info['v1']."', '".$info['v2']."'"; break; case 'Pluie': if(file_exists($old)) { $ff = file ($old); $plurel = $info['v1'] - $ff[0]; if ($plurel < 0) // la sonde a été remise à zero { $plurel = $info['v1']; } } else { $plurel = 0; } $sql1 .= ", `".$value[3]."`, `".$value[4]."`, `".$value[5]."`"; $sqlval.= ", '".$info['v1']."', '".$info['v2']."', '".$plurel."'"; $fp = fopen( $old, "w+"); fputs ($fp,$info['v1']); fclose ($fp); break; case 'Pression': $sql1 .= ", `".$value[3]."`, `".$value[4]."`"; $pression = $info['v2']+856; $sqlval.= ", '".$info['v1']."', '".$pression."'"; break; } } $sql = $sql1." ) ".$sqlval." )"; //echo $sql; $result = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); ?> 0 Citer
Messages recommandés
Rejoindre la conversation
Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.