Differences

This shows you the differences between two versions of the page.

Link to this comparison view

v1_communcation_serveur [2012/08/17 01:29]
redoxps [Trame type 05]
v1_communcation_serveur [2019/08/25 13:56]
Line 1: Line 1:
-====== Nabaztag vers Serveur ====== 
  
-Le Nabaztag communique avec son serveur uniquement en HTTP. Cela diminue les pré-requis pour monter un serveur V1. Seulement, le Nabaztag ne travaille pas par noms d'hôtes (via la directive HTTP "Host: URL" ) mais par IP, il est donc assez improbable de pouvoir l'utiliser sur des hébergeurs gratuits... 
- 
-Type d'URL appelée par le Nabaztag:  
-''/vl/FR/p3.jsp?sn=MAC_ADDRESS&ex=000000000000&v=20&st=01&tc=00000001'' 
- 
-Les différents arguments peuvent changer suivant les actions mais en fixes restent: 
-  * **sn** Cela correspond à l'adresse MAC du Nabaztag 
-  * **v** Version du firmware installé sur sur le Nabaztag (Je pense qu'on ne peut pas changer ce firmware là sans reprogrammer le PIC présent sur le PCB via le connecteur ICSP) 
-  * **ex** Toujours null pour mon lapin, utilité inconnue 
- 
-On peut trouver d'autres arguments suivant les actions effectuées: 
-  * **ts** 
-  * **tn**  
-<note tip>A étudier et compléter</note> 
- 
-Les arguments utiles sont décrits plus en détail à la suite 
-===== Argument st ===== 
-Il peut prendre deux valeurs 
- 
-  * **00** Première requête 
-  * **01** Par la suite 
- 
-Cet argument permet de déterminer si le lapin vient juste de (re)booter ou pas. A part ça, je ne lui vois pas d'autre utilité 
-===== Argument sd ===== 
- 
-C'est l'argument que je trouve le plus utile, il permet de déterminer quels événements ont été déclenchés ou terminés sur le lapin 
- 
-  * **0001** Double clic 
-  * **0002** Événement terminé (type lecture de fichier Audio, permet de revenir sur le bytecode général) 
-  * **0003** Simple clic 
-  * **0004** Clic Long 
-  * **8XXX ou 9XXX** Mouvement manuel des oreilles 
-====== Serveur vers Nabaztag ====== 
- 
- 
-Après avoir reçu une requête de la part du Nabaztag le serveur doit répondre  avec une trame si il y a une action à effectuer, sinon, une page vide suffit à contenter le Nabaztag. 
- 
-<note important>Ces trames sont ici détaillées en Hexadécimal (type ''hexdump''), mais il faut les convertir en octets avant de l'afficher pour le Nabaztag, (envoyer la trame en texte ne fonctionnera pas)</note> 
-===== Trame type 03 ===== 
- 
-Cette trame permet de régler le délai d'attente entre deux requêtes (aussi désignées par PING) du Nabaztag vers le Serveur. 
- 
-Une trame 03 complète est : 
- 
-''7F0300000101FF'' 
- 
-En détail: 
-''7F'' Header 
-''03'' Type 
-''000001'' Longueur du message 
-''01'' Valeur 
-''FF'' Fin du message 
- 
-La valeur est donnée en dizaines de secondes ( 01 = 10s, 02 = 20s ...). La valeur par défaut est 03. ** A confirmer ** 
-===== Trame type 04 ===== 
- 
-Cette trame permet d'activer les différents services du bytecode en fonctionnement sur le Nabaztag. C'est la trame la plus courante pour les opérations simples. 
- 
-Voir la page dédiée [[v1_services|Les services lumineux du V1]] 
-===== Trame type 05 ===== 
-Cette trame permet d'envoyer un nouveau bytecode au Nabaztag, remplacant le bytecode en fonctionnement, sans reboot du Nabaztag. 
- 
-Ces trames sont de la forme 
- 
-''7F05000040616D626572000000010100000029000101FFA80105030404A7458004A0001B7E04000301 
-FFA80105030404A7458004A0002E7E049C001100000000506D696E64'' 
- 
-En détail 
- 
-''7F'' Header 
- 
-''05'' Type 
- 
-''000040'' Longueur de la trame type 05 
- 
-''616D626572'' //amber// 
- 
-''00000001'' Trame ID 
- 
-''01'' Flag de Transition (01: transition immédiate) 
- 
-''00000029'' Taille du programme/bytecode 
- 
-''00...11'' Programme assemblé 
- 
-''00000000'' Nombre de fichiers audio inclus 
- 
-''50'' Checksum de la Trame 05 
- 
-''6D696E64'' //mind// 
- 
-''FF'' Fin de la Trame 
- 
-Il est possible avant le ''FF'' final d'ajouter des trames d'autres types (sans les ''7F'' initiaux et ''FF'' finaux) 
- 
-===== Trame type 06 ===== 
- 
-<note tip>A confirmer et compléter</note> 
- 
-Cette trame permet de répéter le dernier message envoyé au Nabaztag. 
-Sur un firmware version 20, elle ne semble pas nécessaire pour les Trames, peut-être pour les fichiers Audio. 
- 
-Une trame 06 complète est : 
- 
-''7F060000047FFFFFFFFF'' 
- 
-En détail: 
-''7F'' Header 
-''06'' Type 
-''000004'' Longueur du message 
-''7FFFFFFF'' Valeur 
-''FF'' Fin du message