User Tools

Site Tools


nab:v1:communcation_serveur

Differences

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

Link to this comparison view

Last revisionBoth sides next revision
nab:v1:communcation_serveur [2013/12/08 10:42] – created redoxnab:v1:communcation_serveur [2013/12/08 11:40] – Markdown conversion redox
Line 1: Line 1:
-====== Nabaztag vers Serveur ======+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... 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:  +Type d'URL appelée par le Nabaztag: `/vl/FR/p3.jsp?sn=MAC_ADDRESS&ex=000000000000&v=20&st=01&tc=00000001`
-''/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: 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) +* **sn** Cela correspond à l'adresse MAC du Nabaztag 
-  * **ex** Toujours null pour mon lapin, utilité inconnue+* **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: On peut trouver d'autres arguments suivant les actions effectuées:
-  * **ts** + 
-  * **tn** +* **ts** 
 +* **tn** 
 <note tip>A étudier et compléter</note> <note tip>A étudier et compléter</note>
  
 Les arguments utiles sont décrits plus en détail à la suite Les arguments utiles sont décrits plus en détail à la suite
-===== Argument st =====+## Argument st
 Il peut prendre deux valeurs Il peut prendre deux valeurs
  
-  * **00** Première requête +* **00** Première requête 
-  * **01** Par la suite+* **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é 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 =====+## 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 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 +* **0001** Double clic 
-  * **0002** Événement terminé (type lecture de fichier Audio, permet de revenir sur le bytecode général) +* **0002** Événement terminé (type lecture de fichier Audio, permet de revenir sur le bytecode général) 
-  * **0003** Simple clic +* **0003** Simple clic 
-  * **0004** Clic Long +* **0004** Clic Long 
-  * **8XXX ou 9XXX** Mouvement manuel des oreilles +* **8XXX ou 9XXX** Mouvement manuel des oreilles
-====== Serveur vers Nabaztag ======+
  
 +# 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. 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> <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 =====+## 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. 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 +Une trame 03 complète est `7F0300000101FF`
- +
-''7F0300000101FF''+
  
 En détail: En détail:
-''7F'' Header + 
-''03'' Type +`7FHeader 
-''000001'' Longueur du message + 
-''01'' Valeur +`03Type 
-''FF'' Fin du message+ 
 +`000001Longueur du message 
 + 
 +`01Valeur 
 + 
 +`FFFin du message
  
 La valeur est donnée en dizaines de secondes ( 01 = 10s, 02 = 20s ...). La valeur par défaut est 03. ** A confirmer ** 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 ===== 
  
 +## 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. 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]] +Voir la page dédiée [[nab:v1:services|Les services lumineux du V1]] 
-===== Trame type 05 =====+ 
 +## Trame type 05
 Cette trame permet d'envoyer un nouveau bytecode au Nabaztag, remplacant le bytecode en fonctionnement, sans reboot du Nabaztag. 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 +Ces trames sont de la forme `7F05000040616D626572000000010100000029000101FFA80105030404A7458004A0001B7E04000301FFA80105030404A7458004A0002E7E049C001100000000506D696E64`
- +
-''7F05000040616D626572000000010100000029000101FFA80105030404A7458004A0001B7E04000301 +
-FFA80105030404A7458004A0002E7E049C001100000000506D696E64''+
  
 En détail En détail
  
-''7F'' Header+`7FHeader
  
-''05'' Type+`05Type
  
-''000040'' Longueur de la trame type 05+`000040Longueur de la trame type 05
  
-''616D626572'' //amber//+`616D626572` _amber_
  
-''00000001'' Trame ID+`00000001Trame ID
  
-''01'' Flag de Transition (01: transition immédiate)+`01Flag de Transition (01: transition immédiate)
  
-''00000029'' Taille du programme/bytecode+`00000029Taille du programme/bytecode
  
-''00......11'' Programme assemblé+`00......11Programme assemblé
  
-''00000000'' Nombre de fichiers audio inclus+`00000000Nombre de fichiers audio inclus
  
-''......'' Ensuite vont les données des fichiers audio, il n'y en a pas sur cet exemple+`......Ensuite vont les données des fichiers audio, il n'y en a pas sur cet exemple
  
-''50'' Checksum de la Trame 05+`50Checksum de la Trame 05
  
-''6D696E64'' //mind//+`6D696E64` __mind__
  
-''FF'' Fin de la Trame+`FFFin 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 ===== 
  
 +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> <note tip>A confirmer et compléter</note>
  
Line 104: Line 107:
 Sur un firmware version 20, elle ne semble pas nécessaire pour les Trames, peut-être pour les fichiers Audio. 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 : +Une trame 06 complète est: `7F060000047FFFFFFFFF`
- +
-''7F060000047FFFFFFFFF''+
  
 En détail: En détail:
-''7F'' Header + 
-''06'' Type +`7FHeader 
-''000004'' Longueur du message + 
-''7FFFFFFF'' Valeur +`06Type 
-''FF'' Fin du message+ 
 +`000004Longueur du message 
 + 
 +`7FFFFFFFValeur 
 + 
 +`FFFin du message 
 +