Club robotique de Sophia-Antipolis

Accueil > POBOTpedia > Programmation > Snippets > Communications et protocoles > Le protocole XMPP entre humains et robots

Le protocole XMPP entre humains et robots

mercredi 4 juin 2014, par Gilles O., Julien H.

XMPP est un protocole de discussion (chat, messagerie) et de partage d’informations entre humains (présence, localisation, activités). Mais il est extensible et simple à mettre en oeuvre : des robots logiciels ("bots") peuvent être ajoutés pour échanger tous types d’informations, avec des communications de pair à pair ou en groupes.

L’idée de l’utiliser en robotique s’est imposée quand Gilles est venu nous présenter son fonctionnement et la facilité d’écrire des extensions autant pour le serveur que pour les clients. De fait, c’est une solution très souple pour faire une intelligence distribuée.

Il s’applique tout particulièrement à nos robots et projets ayant beaucoup d’interactions avec des humains : Nono le Parlobot bien sûr, où l’échange est l’objectif premier, mais aussi un projet comme #LeCubeMedia qui a pour but lui aussi de faciliter le partage d’informations.

Mais on peut également imaginer un dispositif tout autonome où tous les robots communiquent entre eux (M2M ou machine to machine), et par extension entre tous dispositifs électroniques au sens large, notamment des équipements domotiques.

Le client de chat

Un des intérêts immédiats est la possibilité de consulter ce qui se passe sur le serveur depuis n’importe quel client : la messagerie Gmail par exemple utilise XMPP et permet de se connecter à des comptes d’autres services (julien@pobot.org par exemple qui n’est pas une adresse Gmail). La messagerie Facebook utilise également XMPP, ainsi que de nombreux services en lignes (pour jouer aux échecs par exemple : les coups des adversaires utilisent une extension spécifique et un robot logiciel traite l’information pour modifier l’échiquier).

Le serveur

Il existe de nombreux serveurs disponibles, implémentant tout ou partie des fonctionnalités de XMPP. Nous avons choisi ejabberd : il est installé sur le serveur pobot.org et vous pouvez donc commencer à communiquer (avec echo-bot@pobot.org) depuis n’importe quel client.

Les clients physiques

Ce qui nous intéresse ici, c’est de pouvoir mettre des clients dans des robots réels : permettre de piloter n’importe lequel de nos robots sans avoir à utiliser une interface spécifique.

Comprendre et utiliser tout XMPP

Enfin, nous recommandons la lecture de l’ouvrage "XMPP : The definitive guide" de l’éditeur O’Reilly : http://shop.oreilly.com/product/9780596521271.do

Vos commentaires

Un message, un commentaire ?

modération a priori

Attention, votre message n’apparaîtra qu’après avoir été relu et approuvé.

Qui êtes-vous ?

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.