Skip to content
trecouvr edited this page Mar 16, 2012 · 7 revisions

Rappel

Un serveur IRC est un serveur de chat, comme freenode âr exemple. Les utilisateurs se connecte au serveur avec un pseudonyme, puis ils vont sur les cannaux qu'ils veulent. Par exemple l'asserv se retrouve sur le canal #asserv avec comme pseudonyme "asservbot", l'ia ("iabot") peut alors se connecter sur ce canal et dire "asservissement vas au point (1500,400) à une vitesse de 0.8m/s".

Protocol IRC

Généralités

Le protocol IRC est le suivant: {prefix}{cmd}{sep}{arg1}{sep}{arg2}...{name1}={value1}...

Toute commande est précédée d'un prefix.

Ensuite les paramètres positionnels (qui doivent être mis dans le bon ordre) sont passés à la suite avec un caractère séparateur, {arg1}{sep}{arg2}.

Puis viens les paramètres nommés {nom}={valeur}.

En paramètre nommé important on notera 'id_msg' qui sert à préciser un id pour le message, cet id sera utilisé dans la réponse.

Cette année

  • prefix : le point '.'
  • sep : l'espace ' '

A noter que tout cele est changeable dans le fichier ircdefine.py

example

.goto 1500 400 800 id_msg=42

Traduction : aller au point (1500,400) à une vitesse de 800mm/s, l'id du message est 42.

Protocle bas niveau

Un deuxième protocole est utilisé pour les arduinos et les autres programmes du robot (hokuyo, webcam), c’est un protocole plus simple à parser.

Généralités

{id_msg}{sep}{id_cmd}{sep}{arg1}{sep}{arg2}...

La fléxibilité est moindre mais le temps de parse est beaucou plus rapide.

Cette année

  • sep : le plus ‘+’

note : le '.' a été banni car il empêche d’écrire des floats.

Example

42+4+200

Traduction :

  • id_msg = 42
  • cmd = 4
  • arg1 = 200
Clone this wiki locally