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

A étudier et compléter

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.

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)

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 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

…… Ensuite vont les données des fichiers audio, il n'y en a pas sur cet exemple

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

A confirmer et compléter

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

Actions



Publicité

v1_communcation_serveur.txt · Dernière modification: 2012/08/17 01:30 par redoxps
Sauf mention contraire, le contenu de ce wiki est placé sous la licence suivante : CC Attribution-Share Alike 3.0 Unported