ipconfig /release /renew

screenshot ipconfig

Sous Windows, la commande Ipconfig affiche toutes les valeurs actuelles de la configuration du réseau TCP/IP et actualise les paramètres DHCP (Dynamic Host Configuration Protocol) et DNS (Domain Name System). Utilisé sans paramètres, ipconfig affiche l’adresse IP, le masque de sous-réseau et la passerelle par défaut de toutes les cartes.

ipconfig /release
Envoie un message DHCPRELEASE au serveur DHCP pour libérer la configuration DHCP actuelle et annuler la configuration d’adresse IP de toutes les cartes ou d’une carte spécifique si le paramètre Carte est inclus.

ipconfig /renew
Renouvelle la configuration DHCP de tous les cartes (si aucune carte n’est spécifiée) ou d’une carte spécifique si le paramètre Carte est inclus.

Les commandes sont entrées dans la fenêtre Command Prompt de Windows. Le recours à ces commandes est notamment nécessaire sous Windows Vista pour configurer un lapin Nabaztag si on n’arrive pas à se connecter sur l’adresse IP 192.168.0.1. Comme indiqué sur les pages help de Nabaztag, la séquence de commandes

ipconfig  /release
ipconfig  /renew

règle le problème.

Nabaztag choreographies

updated: 2.8.2010

Nabaztag choreographies contains led control and ear control. Each of the five leds can be controlled to have RGB values from 0-255. Ears can be moved to certain positions from 0x0 to 0x12 forwards or backwards. Also there is a possibility to move an ear forwards a certain step count. These files are made from three parts. First there is a header which contains the length of bytes and in middle there is the data and at the end four zero bytes.

00 00 00 08 00 07 02 255 00 00 00 00 00 00 00 00

Choreography files are timed and this reflects also to the command bytes. First byte of command bytes tells how long to wait before playing a new command from the beginning of last command (ts = timesteps). Second byte tells the type of command. After these two bytes there can be any amount of bytes relative to the command.

The different commands (orange data) are :

  • TEMPO command (code 01, default tempo = 10;  tempo = 1 > timestep = 10 ms;  tempo = 100 > timestep = 1s) :
    ts 01 10
  • LED command (code 07, LED-id, red, green, blue, two zero bytes) :
    ts 07 02 FF FF 00 00 00
  • EAR command (code 08, right=0 or left=1 ear, ear position 0-18, forward=0 or backward=1) :
    ts 08 00 05 01
  • EAR STEP command (code 0B, right=0 or left=1 ear, steps forward) :
    ts 11 01 0A
  • MIDI command (code 0A, play random note) :
    ts 10
  • CHOR command (code 0E, LED-id, code F0): set LED to Palette-color  (PL commande in message) or to Preset-color (CL command in message)
    ts 0E 01 F0
  • IFNE command ( synchronizes choreography to sound; details unknown) :
Nabaztag Flash

Nabaztag Flash

There are different choreography editors available (none with support of MIDI or CHOR command) :

Choreography Maker

Bunny Messenger

jNabServer for Nabaztag

Last update : March 1, 2017

JNabServer is an open-source server software which handles communication with Nabaztag/tags, Wi-Fi enabled robotic rabbits that can be used as physical user-agents in human-computer interaction.

JNabServer is a part of a project by SPI -Research Group from University of Tampere in Finland. It is the base on a research on how Nabaztag could be used as an multimodal user-agent. The project is a part of Speech-based & Pervasive Interaction Group research.

JNabServer is written in j2se 6 (Java Standard edition) so it is platform independent. Main idea is that people can develop their applications and ideas more freely on jNabServer platform. By releasing this code as an Open-Source Project the developers want to give this extendible platform to be used in various projects including her own research in the university of Tampere.

The jNab server is started with the following command from the jNab folder

java -cp libjNab.jar jNab

in the command prompt window with a Java 6 environment.

The customization of the server is done in the configuration file jNab.conf. I set the following parameters:

# Ip address to which the server will be bound
jNab.server.ip=192.168.1.2

# Port to which the server will be bound to listen for Nabaztag’s
jNab.server.port=81

# Ip address to which the configuration server will be bound
jNab.conf.ip=192.168.1.2

# Port to which the configuration server will be bound to listen to a Telnet client
jNab.conf.port=6969

To manage the jNab.Server, a Telnet session is established with the telnet program which is usually located in the C:/WINDOWS/system32/ folder. The telnet program is started with the following command from the WINDOWS/system32/ folder

telnet.exe 192.168.1.2 6969

in the command prompt window (or use the telnet command o [ip-address] [port]). If the connection is succesful, the server will answer with a welcome message :

MicroServer configuration front-end. v1.0

An example is shown in the following figure :

Telnet

Telnet

If the connection fails, possible reasons are :

  • an error in the configuration file or in the telnet address
  • the ports are barred in the firewall
  • the ports are used by an other program running

A recommended solution to solve the problems is to verify the correct working of the server and the telnet client on the same computer with the IP-address “localhost” or “127.0.0.1”. If the computer running the jNabServer is managed by DHCP (Dynamic Host Configuration Protocol), the  IP-address attributed by the router is to be used.

To connect the Nabaztag’s to the server, you have to modify his connection parameters. To activate the wireless access-point of the Nabaztag, press down and hold the button between his ears while plugging the power cord. When all the lights of the Nabaztag turn blue, you can release the button. Catch the wireless network of the Nabaztag with the name nabaztag## on your laptop and click Connect.

Enter the Nabaztag IP address http://192.168.0.1 in the browser to access the Nabaztag configuration page. Go to the advanced configuration page and change the address of the Violet platform from r.nabaztag.com/vl to 192.168.1.4:81/vl. Click Update and Start and the Nabaztag will connect to the jNab-server.

The Nabaztag will request the bc.jsp webpage from the server with a HTTP-GET command and receive as answer the file bootcode.bin (59 KByte) with the binary boot code. It’s the initial bootcode from Violet before the protocol was changed to XMPP (Jabber).

The hardware of the Nabaztag consist of two moving ears which positions are tracked with optical sensors, a button, a microphone, a speaker and a rfid-reader. The rfid-reader reads tags of type ISO 14443 B. These tags operate on 13,56mhz and have a 4096-bit EEPROM.

The loaded byte code inside Nabaztag operates the following actions :

  • display and change the colour of the five LED’s (four in front and one in bottom)
  • turn the ears forward or backward
  • register a single or a double button-click
  • register an ear movement
  • read RFID tags
  • record and encode (ADPCM) sound from microphone when button was pressed for 2 seconds
  • receive and play sound to the speaker
  • send the events to the server
  • process data received from server
  • call the server with fixed intervals (ping interval)

The GET/POST requests used by the Nabaztag are the following :

  • bc.jsp (to request and process the correct booting byte code)
  • locate.jsp (to ask the IP adresses of the ping- and the broadcast-server)
  • p4.jsp (basic ping calls with informations about events)
  • record.jsp (encoded audio data of the recorded sound is passed to the server)
  • rfid.jsp (ID of the sniffed RFID is passed to the server)

A more detailed information is available at the website of the university of Tampere in Finland.

The implemented commands to send via the Telnet protocol to the jNab-server are (my Nabaztag “Aenderhues” and “Ouschterhues” with serial numbers “0013d3845819” and “0019db01e01f” are used as example) :

  • INFO server
  • SHUTDOWN client
  • SHUTDOWN server
  • INFO bunnies
  • INFO bunny: 0013d3845819
  • SET bunny name: 0013d3845819 Aenderhues
  • SET bunny ping interval: 0013d3845819 25
  • ADD bunny plugin: 0013d3845819 Dice_Plugin
  • SET bunny plugin parameter: 0013d3854819 Talkie_Plugin 0019db01e01f
  • REMOVE bunny plugin: 0013d3845819 Dice_Plugin
  • SAVE bunny: 0013d3845819

The available plugin’s are :

  • Dice_Plugin
  • GreenOrangeRedWithEars_Plugin
  • SystemOutLogger_Plugin
  • Echo_Plugin
  • Null_Plugin
  • Talkie_Plugin

The processing requests treated by the worker java class are :

  • case 1 : bunny asks for its bootcode
  • case 2 : bunny asks for location
  • case 3 : bunny notifies an event (ping, rfid, record, …)
  • case 4 : bunny asks for a choreography
  • case 5 : bunny asks for a local file

I installed the jNab-server on my Desktop (wired) and run the Telnet client on my Laptop (wireless), both are connected to a Thomson Speedtouch Router 585i of my Home Network (LAN). The following informations are displayed on the console during normal operation:

<jNab/server> new connection from /192.168.1.34:12933

<jNab/server/worker: /192.168.1.34:12933> Request received:

Request with params : {tc=7fffffff  v=65808  st=1  requestfile = /vl/p4.jsp  h=4  sd=0  sn=0013d3845819}

<jNab/server/worker: /192.168.1.34:12933> Processing request

<bunny /0013d3845819> Handling a ping event

<jNab/server/worker :/192.168.1.34:12933> Packet to send is a default packet

<jNab/server/worker:/192.168.1.34:12933> Sending packet:

Packet:

[Data block type: 3 size: 1]

[Raw data :20]

[Ping interval block set for 20 seconds]

[Data block type: 4 size: 23]

[Raw data 127 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ]

The server sends a packet to the Nabaztag when it request a ping command. The answer packets are custom byte arrays. These byte arrays start with byte 7F and end with FF and 0A bytes. In between there can be any amount of blocks. Blocks consists of three parts. First there is a byte telling the type of the block(03 , 04 , 09 and 0A). Next three bytes are reserved to indicate the length of data in the blocks. After the length bytes there is the data for the block. The following figure shows an example :

Nabaztag packet

Nabaztag packet

There are four different block types :

  • 03 : ping blocks to change the ping interval
  • 04 : ambient blocks sets light flashing patterns
  • 09 : reboot block
  • 0A : message blocks contains commands that are separated from each other with newline character

There are eight possible commands in a message block :

  • ID : id of the message
  • CL : color
  • PL : palette
  • CH : choreography
  • MU : sound
  • MC : sound
  • ST : shoutcast streaming
  • MW : wait

Choreographies are files that can be played by calling them from message blocks with CH command.

Nabaztag “Aenderhues”

Nabaztag André

Aujourd’hui mon Nabaztag “Ouschterhues” a accueilli un frère, le Nabaztag “Aenderhues”.

Signé par André, c’est  le premier love graffiti communicant, édité en série limitée. Célèbre pour son Mr. A, l’artiste André, né en Suède en 1971, dessine dès son plus jeune âge sur les murs de sa maison ou de son école. Arrivé à Paris, en 1981, la rue est devenue son atelier. André, armé de ses bombes de peintures dessine sur les murs des villes son icône fétiche, Monsieur A. Avec son grand chapeau, ses longues jambes, son regard en croix, son sourire à pleines dents, l’arrogant Mr A exporte de New York à Hong-Kong en passant par Londres, Berlin et Tokyo, son message d’amour et ses Love Graffitis. En 2005, il a signé une série limitée de téléphones portables Mitsubishi.

série limitée

Monsieur André est aujourd’hui gérant de boites-de-nuits très chics de Paris (Le Baron, Le Paris-Paris, L’Hotel Amour, La Johnsson etc…)  et il a créé un shop à Paris, au Palais de Tokyo, appelé BlackBlock. Ces lieux et tout ce qui ce fait de plus cool à Paris sont regroupés dans l’association La Clique.

OpenNab

J’ai installé ce week-end le logiciel open-source php OpenNab en mode stand-alone sur mon serveur local wamp2 pour tester les interactions directes avec mon lapin communiquant Nabaztag Ouschterhues.

Grâce aux nombreuses contributions fournies par les développeurs et testeurs sur le forum Nabaztag, depuis la version OpenNab 0.02 jusqu’à la version 0.09, j’ai réussi à faire fonctionner le système. Il importe de disposer d’un fichier bootcode.bin (taille 59K) relatif au serveur HTTP de Violet et de désactiver la fonction Log() dans le code vl/includes/ping.php.

Le projet OpenNab n’est plus poursuivi par ses développeurs du fait que le logiciel n’est plus compatible avec la version jabber du serveur Nabaztag de Violet. Les idées et résultats des analyses effectuées dans le cadre de ce projet sont intégrés dans le nouveau projet open source OpenJabNab.

Nabaztag “Ouschterhues”

Aujourd’hui j’ai reçu mon Nabaztag (signifie lièvre en arménien), un lapin communiquant connecté à Internet par ondes Wi-Fi (802.11b). Créé par Rafi Haladjian et Olivier Mével en 2005, il est produit par la societé française Violet. Il communique avec son utilisateur en émettant des messages vocaux, lumineux ou en remuant les oreilles.

Un opéra composé par Antoine Schmitt et Jean-Jacques Birgé, sur une initiative originale de Guylaine Monnier, a été interprété par 100 lapins Nabaztag au Centre Pompidou le 27 mai 2006 et au Wired NextFest à New York en septembre 2006. Une nouvelle représentation a eu lieu au Cube Festival à l’Auditorium d’Issy-les-Moulineaux le 5 juin 2008. Un prochain spectacle est prévu en octobre 2008.

Nabaztag Opera

La version 2 (Nabaztag/tag) lancée en décembre 2006 est également capable de reconnaître des tags RFID et elle dispose d’un microphone (nombril électronique) permettant de faire de la reconnaissance vocale. Le site officiel est www.nabaztag.com. La boutique en ligne (Zstore) pour commander un Nabaztag est store.nabaztag.com.

La société Violet exploite un serveur offrant de nombreux services aux lapins connectés. Suite à un test beta réalisé fin 2007, le serveur HTTP a été remplacé par un serveur Jabber en mars 2008 qui offre une meilleure réactivité et une performance plus élevée.

Sur son site d’entreprise, Violet informe les usagers en temps réel sur le statut des services du serveur (OS), sur l’évolution des versions et sur les problèmes connus.

Après avoir créé un profil pour son lapin dans le terroir, on peut envoyer des messages et choréographies à son lapin ou aux lapins de ses amis. Sur Nablife, on trouve l’annuaire des services du Nabaztag. Un service intéressant constitue la possibilité d’écouter des streams audio mp3 en ligne (radios du web, podcasts, flux RSS, …). On peut même créer son propre Nabcast. Un autre service innovatif est la lecture de livres détectés grâce aux Stamp’s (étiquettes RFID). Plusieurs livres des éditions Gallimard Jeunesse sont proposés.

Dans l’annuaire des propriétaires de lapins sur le site my.nabaztag.com, on trouve en juin 2008 une cinquantaine de lapins luxembourgeois, par exemple Hiesschen, carot, Ninonet, Puki, eksyt, Malika, nabbelchen, nengi, casanovalux, Nablapinlulu, luzzi, itchi, jitz, Herchy, huesi68, Nababoozer, Nabatschicca, Lizzyhues.

Le serveur jabber Nabaztag offre une API (application programming interface)  pour envoyer des commandes aux lapins à partir d’une application ou de son propre site web. Une commande a la forme

http://api.nabaztag.com/vl/FR/api.jsp? sn=00039D4022DE&token=112231049046144&posleft=0 &posright=0&idmessage=10333&idapp=10

Plusieurs développeurs ont réalisé des interfaces en flash, javascript, php ou java pour transmettre des commandes aux lapins via cet API. Quelques liens sont indiqués ci-après:

  • NabzFood : premier site fournisseur de nourriture virtuelle pour Nabaztag
  • Nabaztag3D : application développée en language SCOL
  • nabZone : sur le web, on parle de l’API du Nabaztag (menu liens)
  • Nabaztools : unofficial tools to hack the Nabaztag rabbit

Il y a même un programme B-Ztag pour interagir avec son Nabtag moyennant son smartphone BlackBerry.

Les fans du Nabaztag proposent également des accessoires pour personaliser son lapin:

  • Fashionabz : la mode c’est aussi pour les lapins !

Il y a différentes communautés du Nabaztag qui gèrent des forums pour les amateurs des lapins. Le forum le plus actif dédié au Nabaztag/tag est opéré par la “communauté joyeuse des adorateurs du lapin qui parle”. Un forum en anglais est Nabaztalk, un autre forum Nabaztag français est sur le site “Toute la domotique”.

Il y a eu trois projets open source pour créer un framework respectivement un proxy permettant de s’intercaler entre le Nabaztag et le serveur de Violet, afin de transmettre des commandes directes aux lapins. Tous les trois étaient basés sur l’ancien protocole HTTP de Violet et ne fonctionnent plus avec le serveur Jabber, sauf en mode standalone si on dispose encore de l’ancien bootcode HTTP.

  1. Nabazlab : éditeur de choréographies et assembleur
  2. OpenNab : framework en php, version 0.09 du 2.11.2007
  3. jNabServer : java framework de l’université de Tampere (version 1.01); une nouvelle version (v.2) a été publiée le 9 décembre 2008.

Un projet NabBot pour transformer le lapin Nabaztag en chatbot, basé sur OpenNab, a été développé par “Human Enemy”.

Un nouveau projet open source basé sur le nouveau protocole jabber, OpenJabNab, a été lancé en janvier 2008 par Thomas Soete. Un projet de fin d’étude ayant comme objectif le développement d’un proxy XMPP a  été réalisé à l’Institut Télécom de Paris fin 2008 début 2009 par les étudiants Clément Beausset et Pierre Soumoy sous la direction de Sébastien Leriche.