<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:
</note>
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"
En réponse on envoie au Lapin le Bytecode que le Lapin doit exécuter.
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"
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
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
Peut-être:
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 ?
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"
"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
[03,1]78
Leds, Ears, Service
[04,23]7fffffff00000000000000000000000000000000000000
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]
Play Dice:
GET /vl/p4.php?sn=002185ba6195&v=65808&st=1&sd=3&tc=7fffffff&h=4 addToLog(4) >>> dice: set state [message] addToLog(3) >>> dice: rolling dice and getting 2 block[1]: [AmbientBlock,04,23]7fffffff0eff0000000000000000000000000000000000 block[2]: [Block,03,1]78 block[3]: [MessageBlock,0a,108]ID 1233212;MU broadcast/vl/plugins/dice/files/fr/get.mp3;MW;MU broadcast/vl/plugins/dice/files/fr/2.mp3;MW; 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 addToLog(4) >>> dice: set state [message] addToLog(3) >>> dice: end of message ; waiting for another one block[1]: [AmbientBlock,04,23]7fffffff0eff0000000000000000000000000000000000 block[2]: [Block,03,1]78 block[3]: [MessageBlock,0a,15]ID 2147483647;
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;