Outils pour utilisateurs

Outils du site


divers:nabaztag:protocole_version_http

Ceci est une ancienne révision du document !


Protocole version HTTP

<note warning> Le Lapin étudié est un Nabaztag:Tag : version avec le nombril (micro et lecteur RFID).

Le bytecode utilisé est celui du projet OpenNab. Ce n'est pas la dernière version éditée par Violet puisqu'on ne veut pas bosser avec XMPP, mais avec HTTP seulement. Il s'agit de celui du projet OpenNab. Ce bytecode a été modifier pour utiliser des URLs adaptées au projet OpenNab qui utilise PHP:

  • /locate.php
  • /vl/p4.php
  • /vl/record.php
  • /vl/rfid.php

</note>

NabazTag to Server

Les Connexions

Chargement du bytecode

Après allumage, le lapin se connecte pour charger son Bytecode, au serveur dont l'adresse est renseignée dans la configuration du Lapin.

http://adresse.configuration/bc.jsp

"GET /vl/bc.jsp?v=0.0.0.10&m=00:21:85:ba:61:95&l=00:00:00:00:00:00&p=00:00:00:00:00:00&h=4 HTTP/1.0"
  • m (xx.xx.xx.xx.xx.xx): Adresse MAC (Ethernet) du Lapin.
  • v (n.n.n.n): version du Firmware ?
  • h (n): version du Hardware ?
  • l (xx.xx.xx.xx.xx.xx): ?
  • p (xx.xx.xx.xx.xx.xx): ?

En réponse on envoie au Lapin le Bytecode que le Lapin doit exécuter.

Obtention de l'adresse du terrier

La seconde connexion du Lapin lui sert à retrouver l'adresse de son terrier.

http://adresse.configuration/locate.jsp

"GET /vl/locate.php?sn=002185ba6195&h=4 HTTP/1.0"
  • sn (xxxxxxxxxxxx): Numéro de série du Lapin, en fait c'est l'adresse MAC sans les ':'.
  • h (n): version du Hardware ?

En réponse on envoie les adresses du serveur “Ping” et du serveur “Broad”.

ping 192.168.1.38:80
broad 192.168.1.38:80

Battements de coeur

http://adresse.du.terrier/p4.jsp

"GET /vl/p4.php?sn=002185ba6195&v=65808&st=1&sd=0&tc=0&h=4 HTTP/1.0" 200 54
"GET /vl/p4.php?sn=002185ba6195&v=65808&st=1&sd=0&tc=7fffffff&h=4 HTTP/1.0" 200 35
  • sn (xxxxxxxxxxxx): Numéro de série du Lapin, en fait c'est l'adresse MAC sans les ':'.
  • h (n): version du Hardware ?
  • v (n): version du Bytecode téléchargé.
  • st:
  • sd: Un événement a surgi sur le Lapin:
    • sd=0 : Lapin sonne son serveur
    • sd=1 : clic double du bouton
    • sd=3 : clic simple du bouton
    • sd>=8000: mouvement d'oreilles
  • tc:

Peut-être:

Comment reconnaitre le 1er Ping après allumage ?

Est-ce que la requête avec sd=0 et tc=0 peut-être considérée comme le 1er ping après allumage et les ping suivants avec sd=0 et tc=7fffffff ?

Connexion "rfid"

Connexion "record"

On peut enregistrer du son grâce au micro de Lapin.

"POST /vl/record.php?sn=002185ba6195&v=65808&h=4&m=0 HTTP/1.0"

Exemples

"GET /vl/bc.jsp?v=0.0.0.10&m=00:21:85:ba:61:95&l=00:00:00:00:00:00&p=00:00:00:00:00:00&h=4 HTTP/1.0" 200 51145
"GET /vl/locate.php?sn=002185ba6195&h=4 HTTP/1.0" 200 47
"GET /vl/p4.php?sn=002185ba6195&v=65808&st=1&sd=0&tc=0&h=4 HTTP/1.0" 200 54
"GET /vl/p4.php?sn=002185ba6195&v=65808&st=1&sd=0&tc=7fffffff&h=4 HTTP/1.0" 200 35
"GET /vl/api.php?sn=002185ba6195&play=1 HTTP/1.0" 200 47
"POST /vl/api_demo/index.php HTTP/1.1" 200 2882
"GET /vl/p4.php?sn=002185ba6195&v=65808&st=1&sd=0&tc=7fffffff&h=4 HTTP/1.0" 200 97
"GET /broad/simpleplay/0/0/0/0/1.mp3 HTTP/1.0" 404 305
"GET /vl/p4.php?sn=002185ba6195&v=65808&st=1&sd=2&tc=1&h=4 HTTP/1.0" 200 54
"GET /vl/p4.php?sn=002185ba6195&v=65808&st=1&sd=0&tc=7fffffff&h=4 HTTP/1.0" 200 35

Server to NabazTag

Les Messages

Interval de communication (type=0x03)

[03,1]78

Ambience (type=0x04)

Leds, Ears, Service

[04,23]7fffffff00000000000000000000000000000000000000

Download Message (type=0x05)

Reboot (type=0x09)

Message (type=0x0a)

Exemples

1er Ping après allumage :

/vl/p4.php?sn=002185ba6195&v=65808&st=1&sd=0&tc=0&h=4
packetHead: 7f
block[1]: [MessageBlock,0a,15]ID 2147483647;
block[2]: [AmbientBlock,04,23]7fffffff0eff0000000000000000000000000000000000
block[3]: [Block,03,1]0a
packetTail: ff0a
/vl/p4.php?sn=002185ba6195&v=65808&st=1&sd=0&tc=7fffffff&h=4
packetHead: 7f
block[1]: [AmbientBlock,04,23]7fffffff0eff0000000000000000000000000000000000
block[2]: [Block,03,1]0a
block[3]: [MessageBlock,0a,0]

Weather (1) to Storm (5):

AbientBlock->SetServiceValue() Override ambient 1 to 5
block[1]: [AmbientBlock,04,23]7fffffff01050000000000000000000000000000000000
block[2]: [Block,03,1]78
block[3]: [MessageBlock,0a,0]

Weather (1) to Storm (5) and Market (2) to Neutral (3):

AbientBlock->SetServiceValue() Override ambient 1 to 5
AbientBlock->SetServiceValue() Override ambient 2 to 3
block[1]: [AmbientBlock,04,23]7fffffff01050203000000000000000000000000000000
block[2]: [Block,03,1]78
block[3]: [MessageBlock,0a,0]

Market (2) to Neutral (3):

AbientBlock->SetServiceValue() Override ambient 2 to 3
block[1]: [AmbientBlock,04,23]7fffffff02030000000000000000000000000000000000
block[2]: [Block,03,1]78
block[3]: [MessageBlock,0a,0]

Taichi

AbientBlock->SetServiceValue() Override ambient 14 to 255
block[1]: [AmbientBlock,04,23]7fffffff0eff0000000000000000000000000000000000
block[2]: [Block,03,1]78
block[3]: [MessageBlock,0a,0]

Pugin Dice:

Activate Dice:

Play Dice:

GET /vl/p4.php?sn=002185ba6195&v=65808&st=1&sd=3&tc=7fffffff&h=4
GET /vl/plugins/dice/files/fr/get.mp3
GET /vl/plugins/dice/files/fr/2.mp3
GET /vl/p4.php?sn=002185ba6195&v=65808&st=1&sd=2&tc=12d13c&h=4

Play a MP3 URL:

simpleplay: ping type=0
simpleplay: ping CurrentID=2147483647
simpleplay: media reference=4792979
simpleplay: now playing http://192.168.1.38:81/vl/plugins/dice/files/en/4.mp3
/vl/p4.php?sn=002185ba6195&v=65808&st=1&sd=0&tc=7fffffff&h=4
block[1]: [AmbientBlock,04,23]7fffffff0eff0000000000000000000000000000000000
block[2]: [Block,03,1]78
block[3]: [MessageBlock,0a,77]ID 4792979;ST http://192.168.1.38:81/vl/plugins/dice/files/en/4.mp3;PL 1;MW;

simpleplay: ping type=2
simpleplay: ping CurrentID=4792979
simpleplay: media reference=4792979
simpleplay: http://192.168.1.38:81/vl/plugins/dice/files/en/4.mp3 reached the end ; back to default state
/vl/p4.php?sn=002185ba6195&v=65808&st=1&sd=2&tc=492293&h=4
block[1]: [AmbientBlock,04,23]7fffffff0eff0000000000000000000000000000000000
block[2]: [Block,03,1]78
block[3]: [MessageBlock,0a,15]ID 2147483647;
divers/nabaztag/protocole_version_http.1314107490.txt.gz · Dernière modification : 19/05/2012 00:15 (modification externe)

Sauf mention contraire, le contenu de ce wiki est placé sous les termes de la licence suivante : CC0 1.0 Universal
CC0 1.0 Universal Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki