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
# Le 6 juin 2014 à 11:35, par cld En réponse à : Le protocole XMPP entre humains et robots
Pour le M2M entre robot sur XMPP, voir peut-être du côté des messages FIPA-ACL standard pour la communication entre agents, et notamment SPADE (https://github.com/javipalanca/spade) qui utilise XMPP.
Répondre à ce message