Bonjour,
Vous trouverez dans le fichier zip à l'adresse ci-dessous les fichiers nécessaires pour créer son propre byte code pour le Nabaztag:tag, un fichier mtl modifié (sans la partie XMPP) pour que les ordres soient codés en clair dans le fichier "/nabsvr/p.php" ainsi que les fichiers PHP à placer sur le serveur.
Nabaztag:tag - Fichier ZIP
***********************************************
| Nabaztag:tag - Fabriquer son propre serveur |
***********************************************
Auteurs originaux :
-------------------
- Sylvain HUET
- Romain COCHET
- Atoine Schmitt
- Mickael de Planète DOMOTIQUE
- Wizz.cc
Sources :
---------
- http://www.planete-domotique.com/blog/2011/08/07/mindscape-donne-une-seconde-vie-a-nabaztag/
- http://code.google.com/p/nabaztag-source-code/source/browse/#svn%2Ftrunk%2FSources
- http://www.sylvain-huet.com/rsc/metal/doc/Metal.html
- http://213.186.33.17/~nabizdea/
- http://wizz.cc/blog/index.php?category/D%C3%A9veloppement/Nabaztag-v2/Boot-Nabizdead
-
https://nabaztag.forumactif.fr/- http://translate.google.com
Configuration :
---------------
- Placer le répertoire "/nabsvr" à la racine de votre site web ;
- Modifier le comportement de votre serveur web pour qu'il serve les fichiers jsp comme des fichiers PHP ;
Exemple pour Apache dans le fichier httpd.conf :
- Code:
-
<FilesMatch \.jsp>
SetHandler application/x-httpd-php
</FilesMatch>
- Personnaliser les noms des serveurs en éditant le fichier "/nabsvr/locate.php" :
$data = 'ping nabsvr.votreserveur.fr' . PHP_EOL;
$data .= 'broad nabsvr.votreserveur.fr' . PHP_EOL;
Explications :
--------------
- Dans les fichiers *.mtl :
. // Modif - A personnaliser
A personnaliser pour le mode SIMU (serveur DNS, url du serveur de test) ;
. // Modif - Debut
Début des modifications dans le code source original du fichier mtl ;
. // Modif - Fin
Fin des modifications dans le code source original du fichier mtl ;
. // To do
A terminer de coder ;
- J'ai supprimé tous les commentaires dans les fichiers *.mtl pour plus de lisibilité dans le code ;
- Pour compiler le byte code en mode simulation ("VAR SIMU; décommenté"), lancer l'exécutable
"/exe/vlispemu.exe" en s'assurant que "SOURCE nominal-SIMU.mtl" est décommenté et "SOURCE nominal.mtl"
est commenté dans le fichier "/exe/config.txt" ;
- Pour compiler le byte code en mode normal pour le Nabaztag ("VAR SIMU; décommenté"), lancer l'exécutable
"/exe/vlispemu.exe" en s'assurant que "SOURCE nominal.mtl" est décommenté et "SOURCE nominal-SIMU.mtl"
est commenté dans le fichier "/exe/config.txt" ;
- Après avoir compiler le byte code en mode normal, copier le fichier "/exe/bc.bin" vers le répertoire
"/nabsvr" à la racine de votre site web ;
- Editer le fichier "/nabsvr/p.php" pour donner les consignes au lapin :
. Le faire parler (utilise le moteur de synthèse vocale de Google) :
$data .= 'SAY fr;' . utf8_encode('Tu es sur ?') . PHP_EOL;
. Réinitialiser le lapin :
$data .= 'RESET' . PHP_EOL;
. Positionner les oreilles :
$data .= 'EAR G;D' . PHP_EOL;
où G et D sont des chiffres de 0 à 10 pour les positions des oreilles gauche et droite ;
. Allumer les lumières du lapin :
$data .= 'LED N;012345' . PHP_EOL;
où N est le numéro de la lumière à contrôler (0 = nez, 1 = ventre gauche, 2 = ventre milieu, 3 = ventre
droit, 4 = bas) et 012345 est la couleur en hexadécimal (exemple : 00FF00)
. Jouer un fichier MP3 :
$data .= 'PLAY http://nabsvr.votreserveur.fr/nabsvr/MP3/musique01.mp3' . PHP_EOL;
. Endormir le lapin :
$data .= 'SLEEP' . PHP_EOL;
. Régler la valeur du ping :
$data .= 'PING S' . PHP_EOL;
où S est le temps entre chaque ping en seconde ;
. Redémarrer le lapin :
$data .= 'REBOOT' . PHP_EOL;
Bugs connus :
------------
- En mode SIMU, le buffering des fichiers MP3 un peu long plante sur mon ordinateur alors que tout
fonctionne bien avec le Nabaztag:tag ;
To do :
-------
- Développer les scripts PHP (bc.jsp, p.php) ;
- Utiliser le fichier "record.php" pour traiter les enregistrmements envoyés par le Nabaztag:tag lors
d'un appui sur le bouton situé sur sa tête (envoi en POST) ;
- Utiliser le fichier "rfid.php" pour traiter les tag (paramètre t, envoi en GET) ;
Je me suis bien amuser en tout cas ;-)
La customisation est ainsi totale.
Merci à tous d'avoir fourni toutes ces explications.
Y'a plus qu'à faire un truc pour le Nabaztag v1 maintenant...