Forum des Objets Communicants et Solutions pour les Libérer...


 
AccueilGalerieRechercherS'enregistrerConnexion

Partagez
 

 les oreilles et la présence (ears=ok)

Aller en bas 
AuteurMessage
mojito
Lapin nain
Lapin nain


Localisation : Paris
Nbr de messages : 6
Carottes : 3528

les oreilles et la présence (ears=ok) Empty
MessageSujet: les oreilles et la présence (ears=ok)   les oreilles et la présence (ears=ok) I_icon_minitimeVen 30 Avr 2010 - 15:39

bonjour, je suis tout nouveau sur le forum et dans la communauté, je viens d'adopter un nabaztag la semaine dernière et j'essaie de lui faire faire toute sorte de choses. je connais un peu le php et suis en train de réaliser un site. pour l'instant hébergé ici en attente d'un espace ==> site de Mojito

je voudrais sur la page d'accueil créer une image qui indique si je suis présent dans la pièce grâce aux oreilles. Je sais qu'il existe des scripts tout faits, mais je voudrais rester uniquement sur mon site, et interagir avec ma base sql quand je l'aurais.

ex : oreille droite en l'air : je suis dans la pièce /derrière: dans une autre piece / en bas : absent ou le lapin dort.

j'ai donc tenté la commande ears=ok qui me renvoi comme expliqué dans les posts précédents sur un fichier xml avec la position. Je voudrais savoir comment transformer ces données en variables pour les utiliser dans une page php.
De plus quand je tape dans le navigateur http://api.nabaztag.com/vl/FR/api.jsp?token=****&sn=****&ears=ok --> j'ai une réponse

mais quand je fais

require_once( "../token.php" );
$url = "http://api.nabaztag.com/vl/FR/api.jsp?token=".$Token."&sn=".$Serial."&ears=ok";
file_get_contents($url,false);
?>

je n'obtiens rien pourquoi ?

merci de votre aide et à bientôt
julien

nabzhello1


Dernière édition par mojito le Mar 4 Mai 2010 - 10:15, édité 1 fois
Revenir en haut Aller en bas
mojito
Lapin nain
Lapin nain


Localisation : Paris
Nbr de messages : 6
Carottes : 3528

les oreilles et la présence (ears=ok) Empty
MessageSujet: Re: les oreilles et la présence (ears=ok)   les oreilles et la présence (ears=ok) I_icon_minitimeLun 3 Mai 2010 - 11:11

personne ne m'a répondu nabzcry

mais je viens de la trouver, il faut faire un parsage du code xml renvoyé par l'API voici donc le script de parsage que j'ai adapté si cela peu servir à des gens.
Celui-ci affiche la position des oreilles et transforme cela en texte (les oreilles sont devant, ou derrière etc...)

il suffit ensuite de remplacer $postext par le chemin d'un image


Code:
<?php
require_once( "../token.php" );

function lit_xml($fichier,$item,$champs) {
  // on lit le fichier
  if($chaine = @implode("",@file($fichier))) {
      // on explode sur <item>
      // Dans l'exemple il s'agit de 'rsp'
      $tmp = preg_split("/<\/?".$item.">/",$chaine);
      // pour chaque <item> donc tous les profils
      for($i=1;$i<sizeof($tmp)-1;$i+=2)
        // on lit les champs demandés <champ> donc il s'agit de 'leftposition' et 'rightposition'
        foreach($champs as $champ) {
            $tmp2 = preg_split("/<\/?".$champ.">/",$tmp[$i]);
            // on ajoute l'élément au tableau
            $tmp3[$i-1][] = @$tmp2[1];
        }
      // et on retourne le tableau dans la fonction
      return $tmp3;
  }
}

// Lecture du FLUX XML sur le serveur
$xml = lit_xml("http://api.nabaztag.com/vl/FR/api.jsp?token=".$Token."&sn=".$Serial."&ears=ok","rsp",array("leftposition","rightposition"));

// Une petite boucle suffit pour retrouver les élément du tableau
// retourné dans la fonction lit_xml()
foreach($xml as $row) {

  echo 'position oreille gauche :'.$row[0].'<br>';

  echo 'position oreille droite :'.$row[1].'';

 
  if  (($row[1] <= 4)&&($row[1] >= 0)OR($row[1] == 16)) { $postext = 'en haut';
 
 }


  if  (($row[1] <= 7)AND($row[1] >= 5)) { $postext = 'devant';
 
 }
 
        
  if  (($row[1] <= 12)AND($row[1] >= 8)) { $postext = 'en bas';
 
 }

         
  if  (($row[1] <= 15)AND($row[1] >= 13)) { $postext = 'derriere';
 }
               
               
  }
   

echo "<br><br>l'oreille droite de Mojito est  ";
echo $postext;

?>
Revenir en haut Aller en bas
mojito
Lapin nain
Lapin nain


Localisation : Paris
Nbr de messages : 6
Carottes : 3528

les oreilles et la présence (ears=ok) Empty
MessageSujet: Re: les oreilles et la présence (ears=ok)   les oreilles et la présence (ears=ok) I_icon_minitimeLun 3 Mai 2010 - 18:54

je continue de partager mes trouvailles, il est possible de faire la même chose pour savoir si le lapin dort, grâce à l'action 7 de l'API, elle ausis revoie un xml. voici le script pour l'utiliser.

sur mon site j'ai combiné les deux comme ça soit le lapin dort, soi il y a a quelqu'un soit il y a a personne


Code:
function lit_xml_dodo($fichier,$item,$champs) {
  // on lit le fichier
  if($chaine = @implode("",@file($fichier))) {
      // on explode sur <item>
      // Dans l'exemple il s'agit de 'rsp'
      $tmp = preg_split("/<\/?".$item.">/",$chaine);
      // pour chaque <item> donc tous les profils
      for($i=1;$i<sizeof($tmp)-1;$i+=2)
        // on lit les champs demandés <champ> donc il s'agit de 'rabbitSleep'
        foreach($champs as $champ) {
            $tmp2 = preg_split("/<\/?".$champ.">/",$tmp[$i]);
            // on ajoute l'élément au tableau
            $tmp3[$i-1][] = @$tmp2[1];
        }
      // et on retourne le tableau dans la fonction
      return $tmp3;
  }
}

// Lecture du FLUX XML sur le serveur
$xml = lit_xml_dodo("http://api.nabaztag.com/vl/FR/api.jsp?token=".$Token."&sn=".$Serial."&action=7","rsp",array("rabbitSleep"));

// Une petite boucle suffit pour retrouver les élément du tableau
// retourné dans la fonction lit_xml()
foreach($xml as $row) {


 
  if  ($row[0] == YES) { $dodo = 'dodo';
 
 }

else { $dodo = 'debout';
}
Revenir en haut Aller en bas
sitenreveuxyenrena
Lapin nain
Lapin nain


Localisation : Hellemmes
Nbr de messages : 36
Carottes : 3594

les oreilles et la présence (ears=ok) Empty
MessageSujet: Re: les oreilles et la présence (ears=ok)   les oreilles et la présence (ears=ok) I_icon_minitimeSam 8 Mai 2010 - 13:14

En fait pour les oreilles, j'ai sorti le xml dans un tableau.

Code:
//On récupère la position des oreilles dans un tableau.
   $earpos=file_get_contents('http://api.nabaztag.com/vl/FR/api.jsp?sn='.$sn.'&token='.$token.'&ears=ok');
   $earxml = new SimpleXMLElement($earpos);
   
   //Si l'oreille est en haut (ou à peu près)
   if(($earxml->leftposition==0)||($earxml->leftposition==16)||($earxml->leftposition==1))
   
   //Si l'oreille est en bas (ou à peu près)
   elseif(($earxml->leftposition==9)||($earxml->leftposition==10)||($earxml->leftposition==11))
Revenir en haut Aller en bas
http://sitenreveuxyenrena.fr
Moon´s Heart
Crazy Geek
Crazy Geek
Moon´s Heart

Age : 51
Localisation : Liège, Belgique
Nabaztag : Ryu (v2), Yoko (v2), Summer (v2), Irina (v2 ¼) Tchantchès (v2 ½)
Nbr de messages : 15848
Carottes : 101755

les oreilles et la présence (ears=ok) Empty
MessageSujet: Re: les oreilles et la présence (ears=ok)   les oreilles et la présence (ears=ok) I_icon_minitimeSam 8 Mai 2010 - 14:26

Si on ne veut pas s'ennuyer avec le XML... nabzciao

$sleep = trim(strip_tags(file_get_contents("http://api.nabaztag.com/vl/FR/api.jsp?sn=" . $sn . "&token=" . $tk . "&action=7" )));

$name = trim(strip_tags(file_get_contents("http://api.nabaztag.com/vl/FR/api.jsp?sn=" . $sn . "&token=" . $tk . "&action=10")));

ce qui donne respectivement pour $sleep : 'YES' ou 'NO' et $name le nom du lapin.

C'est pas très 'déontologique' mais c'est rudement plus court! nabzhello1

_____________________________


les oreilles et la présence (ears=ok) 1077485680             les oreilles et la présence (ears=ok) 404383881             les oreilles et la présence (ears=ok) Cuckoo11             les oreilles et la présence (ears=ok) Voyant10 Je vois que tu t'appelles  ~Invité  et que tu as déjà écrit 0 messages


Revenir en haut Aller en bas
http://www.moonsheart.com
Contenu sponsorisé




les oreilles et la présence (ears=ok) Empty
MessageSujet: Re: les oreilles et la présence (ears=ok)   les oreilles et la présence (ears=ok) I_icon_minitime

Revenir en haut Aller en bas
 
les oreilles et la présence (ears=ok)
Revenir en haut 
Page 1 sur 1

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Forum des Objets Communicants et Solutions pour les Libérer... :: II. Nabaztag, Karotz, mir:ror, Dal:Dal (Violet Object Operating System) :: L'univers de Nabaztag :: Archives :: API-
Sauter vers: