Nabaztag, dis moi ce que je veux entendre !

Laisser une réponse »

Pour tester :

Pour que votre lapin vous dise votre horoscope cliquez ici

Pour le programme TV du soir cliquez ici

Si vous possédez un lapin nabaztag, vous voudriez peut-être disposer de plus de fonctionnalités…

Exemple : Lapin ! donnes moi mon horoscope ou le programme TV !

Oui, mais le problème c’est que si vous demandez à votre cher et tendre lapin de lire un flux RSS, le résultat ne sera peut être pas celui que vous attendiez. En effet, il va peut être se contenter de dire « horoscope du lundi » puis « horoscope du mardi » etc… et oui car le lapin lit les titres du flux, hors, ce qui vous intéresse c’est juste la balise description du premier item du flux. Pour plus d’infos sur les flux RSS, consultez Wikipedia.

Donc ce que je vous propose de faire, à partir de la classe PHP développée par Dan Ruscoe, qui se trouve à l’adresse http://ruscoe.org/php-class-for-the-nabaztag-api/, c’est tout simplement de ne lire que n entrées du flux et de l’envoyer à votre Lapin chéri.

Vous devez tout d’abord, inclure la classe, puis renseigner le serial et le token de votre nabaztag. Enfin, vous saisissez l’adresse du flux et le nombre d’infos que le lapin devra dire.

[cc lang= »php » tab_size= »4″ width= »100% » lines= »70″]
include(‘nabClass.php’);
// ———- variables à modifier———
$serial = ‘*******’; // le serial de votre lapin
$token = ‘*******’; // le token de votre lapin
// Flux RSS ex : Horoscope
$url_flux_rss = « http://www.un_flux_rss_horoscope/rss/verseau.php »;
// nombre d’actus (horoscope =  1,  pour prog TV = nb chaines…)
$limite =  1;

//———————————————

$phrase = «  »; // initialisation du texte à prononcer

// Creation de l’objet nabaztag
$nabaztag = new nabaztag($serial,$token);

$Xml = @simplexml_load_file($url_flux_rss);
if($Xml === false){
die(« Erreur Flux, vérifiez l’adresse du flux »);
}

$i = 0;
foreach ($Xml->channel->item as $mon_rss){
$titre = (string) utf8_decode($mon_rss->title);
$description = (string) utf8_decode($mon_rss->description);
$i++;
$phrase .= $titre. » . « .$description;

if($i >= $limite){
break;
}
}
$phrase = html_entity_decode($phrase);
echo $phrase; // si on veut on affiche le texte qu’il va dire

if ($phrase){
$nabaztag->speak(utf8_encode($phrase)); // envoi son texte au lapin
}

// infos debug (optionnel)

echo  »


Paramètres API: « ;

$nabaztag->display_api_params();

echo « Réponse :« ;

$nabaztag->display_api_response();

[/cc]

NB : pour des questions de droits/autorisations je n’ai pas mis un vrai flux, cependant je suis certain que vous n’aurez pas de mal à trouver un flux d’horoscope ou de programme tv ou ce que vous voulez….

Ensuite vous mettez le script en ligne. Pour l’executer, soit vous passez par un ztamp:s ou un nano:ztag et vous lui attribuer l’application : transmettre des données dans une url (dans /dev) sur le site de violet, et vous indiquez l’adresse du script. Soit vous passez par un cron sur votre hébergement pour qu’il soit dit à heure fixe.

Perso pour le programme TV, j’ai ajouté ça :

[cc lang= »php » tab_size= »4″ width= »100% » lines= »7″]
if(eregi(« 20: »,$titre) ){
$titre = preg_replace(‘#\((.+)\)#U’,  », $titre);
$phrase .= $titre. ». « ;
}
[/cc]
pour n’avoir que la première partie de soirée.



ShareThis

Publicité

Laisser un commentaire

Version bureau | Passer à la version mobile