|
| les oreilles et la présence (ears=ok) | |
| | Auteur | Message |
---|
mojito Lapin nain
Localisation : Paris Nbr de messages : 6 Carottes : 5333
| Sujet: les oreilles et la présence (ears=ok) Ven 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
Dernière édition par mojito le Mar 4 Mai 2010 - 10:15, édité 1 fois | |
| | | mojito Lapin nain
Localisation : Paris Nbr de messages : 6 Carottes : 5333
| Sujet: Re: les oreilles et la présence (ears=ok) Lun 3 Mai 2010 - 11:11 | |
| personne ne m'a répondu 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;
?> | |
| | | mojito Lapin nain
Localisation : Paris Nbr de messages : 6 Carottes : 5333
| Sujet: Re: les oreilles et la présence (ears=ok) Lun 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'; } | |
| | | sitenreveuxyenrena Lapin nain
Localisation : Hellemmes Nbr de messages : 36 Carottes : 5399
| Sujet: Re: les oreilles et la présence (ears=ok) Sam 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)) | |
| | | Moon´s Heart Crazy Geek
Age : 55 Localisation : Liège, Belgique Nabaztag : Irina (tag³), Ryu (tag³), Summer (tag³), Tchantchès (tag³ mutant humanoïde), Yoko (tag³) Nbr de messages : 15886 Carottes : 103602
| Sujet: Re: les oreilles et la présence (ears=ok) Sam 8 Mai 2010 - 14:26 | |
| Si on ne veut pas s'ennuyer avec le XML... $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! _____________________________ | |
| | | Contenu sponsorisé
| Sujet: Re: les oreilles et la présence (ears=ok) | |
| |
| | | | les oreilles et la présence (ears=ok) | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |