Le robot aspirateur est aujourd’hui l’un des robots les plus à la mode: pratique, performant, avec un tarif qui a bien baissé, beaucoup de ménages en sont équipés. A fortiori ceux qui aiment la domotique :D Pourtant, il a toujours été difficile de faire communiquer son robot aspirateur avec son système domotique, l’ensemble ne sachant discuter. La meilleure solution que nous avions vue jusqu’à aujourd’hui était de piloter un robot aspirateur Roomba avec un émetteur infrarouge, comme nous avions vu ici.
Mais aujourd’hui nous avons beaucoup mieux grâce au RooWifi, une petite carte qui permet d’ajouter le Wifi à son Roomba !
[toc title= »Sommaire »]
I. Présentation
La carte RooWifi est vendue comme une carte de développement, donc pas de beau packaging « grand public », mais le principal y est :p
Dans cette petite boite nous trouvons donc la carte RooWifi et une petite note indiquant où télécharger le manuel et les ressources.
Cette carte est toute petite, puisqu’elle ne mesure que 57x32mm:
Sur le dessus on peut distinguer un bouton de reset (bleu) et la carte wifi.
En dessous, on trouve le connecteur PS2 pour brancher la carte sur le Roomba. On trouve également une étiquette avec la clé MAC, pratique pour retrouver le Roomba sur son réseau informatique si on a perdu son adresse IP…
Petit coup d’oeil sur les caractéristiques techniques:
- Alimentation : Via la batterie Roomba
- Consommation : 200mA
- Interfacage avec iRobot Roomba :
- Physique : MINI-DIN 7 PINS – PS/2
- Logiciel : SCI iRobot Roomba Protocol en mode standalone ou défini par le logiciel utilisateur en Mode Gateway
- Interface Utilisateur :
- Physique : Wi-Fi IEEE 802.11b
- Logiciel :
- Web Server via HTTP TCP Port (80) avec authentification
- TCP Socket Server pour client-server applications
- Protocoles et normes supportés :
- XML: Lecture uniquement avec rafraichissement des données toutes les 500ms
- JSON: Lecture uniquement avec rafraichissement des données toutes les 500ms
- AJAX: Requête par appels GET et sortie au format texte
- Systèmes d’exploitation & Appareils compatibles :
- Android >=2.0
- iOs >=3.1
- Blackberry
- WebOs
- Windows Phone
- Linux
- MacOs
- Windows
- Interface Wi-Fi 802.11
- Transmetteur RF répondant à la norme IEEE Std. 802.11
- Compatible IEEE Std. 802.11 b/g/n
- Fréquence : ISM Band 2.400-2.484 GHz
- Antenne externe en option avec un connecteur coaxial ultra-miniature
- Portée : Jusqu’à 400m
- Débit : 1 et 2 Mbps
- Encryption : AES128
- Sécurité supportée : 802.1x, 802.1u
- Open pour auto-génération et connexions Wi-Fi externes
- WPA-PSK Personel pour connexions Wi-Fi externes
- WPA2-PSK Personel pour connexions Wi-Fi externes
- Certifications : FCC, IC, ETSI, ARIB
Comme on peut le voir, c’est très complet, et le développeur de cette carte a bien pensé aux besoins des utilisateurs que nous sommes (http, xml, etc…) :D
Passons sans plus attendre à son installation, car personnellement j’ai hâte de voir le résultat !
II. Installation
Pour utiliser cette carte, il vous faudra bien sûr posséder un robot aspirateur Roomba, de la série 500 ou 700:
Nous avons ici un modèle 560. Sur ce modèle, la prise PS2 se trouve sous le couvercle. Il faut donc retirer celui ci délicatement en tirant simplement dessus, il est juste maintenu par de petites pattes en plastique qui se déclipsent.
On voit alors la petit prise de programmation qui va nous permettre de piloter notre Roomba:
Il suffit d’y enficher la carte. Pas de risque de se tromper, on ne peut la mettre que dans un seul sens.
Voilà, notre Roomba est prêt pour être contrôlé en Wifi. Simple, non ?
Bon, l’idéal serait de donner un petit coup de drémel à travers le couvercle afin de pouvoir le remettre en place tout en laissant passer le connecteur PS2 de la carte Roowifi.
Le Roomba n’attend plus que nos ordres, passons donc à la configuration et à l’utilisation.
III. Utilisation
Par défaut, la carte crée un réseau Wifi Adhoc. On pourra donc s’y connecter directement depuis un pc ou smartphone ou tablette et piloter directement le Roomba.
Sur mon Mac, par exemple, je détecte le réseau ROOMBA WR:
Il suffit de s’y connecter, le réseau est ouvert.
Ensuite, dans un navigateur internet, on tape l’adresse 10.0.0.1. Une boite de dialogue nous demande le nom d’utilisateur et le mot de passe: admin et roombawifi.
Une fois connecté, vous entendrez le Roomba biper une fois.
On arrive alors sur l’interface web hébergée sur la carte elle même:
On voit tout de suite les différents modes du Roomba, qu’on peut lancer d’un simple clic dessus, mais également de nombreuses autres informations sur le Roomba: niveau de batterie, température, détection de saletés, murs virtuels présents, etc…
La deuxième option dans le menu de gauche permet de piloter le Roomba comme une voiture télécommandée, à ceci près que l’interface est plus complète: tourner sur 15°, 45°, 90°, avancer, reculer, contrôle des brosses individuellement, de l’aspiration, etc…
La troisième option du menu permet de configurer la connexion Wifi. Par défaut, la carte utilise une connexion Adhoc:
Mais le mieux est tout de même d’intégrer le Roomba à son réseau Wifi habituel: ainsi, d’autres appareils pourront communiquer avec lui, et avec une redirection de port sur son routeur, il sera même possible de le piloter quand on n’est pas à la maison. Bon, ok, vu qu’il n’y a pas de caméra embarquée, il va être difficile de naviguer à distance, mais on pourra lancer le mode nettoyage et le laisser faire ensuite sa vie tout seul si on est parti et qu’on a oublié de le programmer :p
On peut donc indiquer son nom de réseau Wifi, sa clé de protection, et lui affecter un nom et une adresse IP fixe, ce qui est mieux pour le retrouver facilement.
Voilà, notre Roomba est prêt pour être piloté de n’importe où ;-)
Pour cela, une application gratuite existe sur iPhone. Une fois lancée, on lui indique l’adresse IP du Roomba:
Puis on peut le piloter comme une voiture télécommandée: bouton avant, arrière, et pour tourner il suffit de pivoter le téléphone à droite ou à gauche:
Il est même possible de régler la vitesse, lancer l’aspiration, ou encore lancer l’un des programmes de nettoyage du Roomba.
Petite démonstration en vidéo, toujours plus parlant qu’un long blabla:
IV. API
Cette carte étant faite avant tout pour les développeurs, une API complète existe et est mise à disposition, avec le détail des commandes. Pour les intéressés, je vous laisse voir les documents par vous même sur le site RooWifi.
Ce qui nous intéresse plus particulièrement ici, c’est:
- la disponibilité des informations au format XML
- la possibilité de piloter le Roomba par des requêtes HTTP
Le Roomba pourra également être piloté par requêtes TCP, un peu plus complexe à mettre en place mais plus complet. Ce sera possible notamment avec la Vera ou le HC2 de Fibaro en utilisant les scripts Lua. Les autres box pourront piloter le Roomba via les requêtes HTTP et récupérer certaines informations via le fichier xml (Zibase, eedomus, Zipabox).
Voyons donc un peu plus en détail ce qui est disponible facilement.
4.1 Récupération des informations
Pour accéder aux informations, nous avons deux choix possibles.
Le fichier http://IP_DU_ROOMBA/roomba.xml , qui va nous donner une liste complète des options et de leurs valeurs:
Le fichier http://IP_DU_ROOMBA/rwr.xml , plus light, qui n’affiche que les valeurs:
Avec l’un ou l’autre, il sera facile de récupérer les informations sur sa box domotique.
4.2 Pilotage
Par facilité, on choisira le pilotage via des requêtes HTTP. Les ordres sont plus restreints, mais suffiront à la plupart des utilisations. Les commandes sont au nombre de trois:
- http://IP_DU_ROOMBA/roomba.cgi?button=CLEAN : lancera le nettoyage automatique
- http://IP_DU_ROOMBA/roomba.cgi?button=SPOT : lancera un nettoyage sur une zone concentrée
- http://IP_DU_ROOMBA/roomba.cgi?button=DOCK : fera repartir le Roomba sur sa station de charge
Simple, n’est il pas ? :D
Aller, je ne vous laisse pas comme ca, je vous en reparle dès demain avec un exemple sur l’une des box domestique ;-)
V. Conclusion
En geek que je suis, je trouve ca juste GENIAL :D Avoir un robot aspirateur, c’est déjà sympa, surtout quand on peut le programmer pour tourner tel jour à telle heure. Mais alors en avoir un qui soit connecté en Wifi, et pilotable depuis quasiment n’importe quel appareil / box domotique, c’est énorme ! Le développeur à l’origine de cette carte a pensé à tout, avec commandes par requêtes HTTP et fichier xml pour lire les états, ce qui est très très simple à utiliser. Et pour les développeurs qui voudraient aller plus loin, le contrôle par commandes TCP est également de la partie. Nul doute que de nombreuses applications vont bientôt s’en accaparer. Petit clin d’oeil à Jean Philippe et son projet S.A.R.A.H. : « Sarah, passe l’aspirateur », et le tour est joué :D Le seul petit défaut que je pourrai lui trouver: l’absence de boitier, la carte restant ainsi nue à la vue. Ce n’est pas très méchant en soi, mais dans mon cas avec des enfants en jeune âge qui cafouillent à tout, c’est un petit risque. A quand la caméra embarquée pour s’en servir comme gardien quand on s’absente ?
Cette carte est disponible dès maintenant au prix de 79€ chez notre partenaire Domadoo, qui a réussi à nous avoir cette exclusivité :D
A demain pour la suite avec un tutoriel ;-)
18 réactions
Ca c’est une idée qu’elle est bonne ! D’ici que iRobot rachète la techno pour l’intégrer dans ses Roomba…
Rhaaa cedric tu vien de me faire regreter d’avoir un iclebo pro. vivement qu’il tombe « malencontresement » dans l’escalier ;-)
Question con, tu peux déclencher l’aspiration quand il est en charge sur sa base? :)
Oui, tout à fait. De toute facon en général le Roomba reste sur sa station quand il n’est pas utilisé. Mais quoiqu’il fasse, de toute facon la carte Wifi est toujours accessible (sauf vraiment quand le Roomba n’a plus du tout de batterie, car la carte RooWifi s’alimente dessus aussi).
Bah moi ca m’a donné envie de racheter un Roomba, celui ci est un prêt d’un ami pour tester cette carte. Avec ces possibilités ca donne vraiment envie :p
génial ! il ne reste qu’à former mon colloc à laisser les portes ouvertes tout le temps
Sur un navibot sr8855 avec la CAM intégré .. Pour moi ce serais le top!!.
Excellent, je cherchait un aspirateur robot aspi qui pouvais etre activé a distance, c’est la solution parfaite
Il reste juste a lui faire un petit couvercle pour cacher la carte
Et en plus avec SARAH (http://encausse.wordpress.com/s-a-r-a-h/), vous pouvez commander votre Roomba vocalement…
https://www.dropbox.com/s/qm81k83d9o73tz8/sarah_roomba.m4v
Bonjour, Serait-il possible de mettre à jour le firmware du roomba en passant par cette carte ?
Merci pour ces infos!
Juste un petit commentaire pour vous dire que sur eedomus, pour récupérer les informations via un capteur HTTP, il faut mettre USER et Password vide, car sinon le capteur se met en défaut (password requied).
Dommage que l’application android ne soit pas encore disponible… Des petites nouvelles à ce sujet?
80€ le PIC, le MRF et surtout le soft… C’est pas volé franchement!
C’est du bon travail, mais est ce vraiment utile ? Piloter son Roomba avec sa télécommande pour le regarder travailler je n’en vois pas trop l’intérêt si ce n’est de s’amuser. Par contre, si on peut télécommander son Roomba pour l’amener à un endroit précis lui demander de nettoyer une pièce de revenir à sa base et bien sûr d’enregistrer ce déplacement là sa devient intéressant. Car vous pouvez laisser définitivement la base et le rebot à un endroit et en un clic lui dire : va nettoyer la cuisine, va nettoyer le salon, etc…tout ça de votre smartphone. Mais peut-on le faire ? Il ne vous reste plus que de temps en temps à nettoyer votre Roomba et le remettre sur ça base. On évite ainsi beaucoup de manutention du rebot (et donc rallonge sa longétivité).
Connaître également l’état de la batterie est intéressant (autonomie, changement quand elle à perdu de sa capacité,…
Au fait peut on franchir un mur virtuel en le télécommandant ? ce qui permettrait de l’amener dans une pièce sans qu’il puisse en sortir pendant qu’il nettoie.
Merci d’avance pour toutes vos réponses.
Merci pour ce tuto.
Qqun peut il m’expliquer le parametrage des éléments suivants ?
Remote TCP server
Server IP
server Port
Je n’arrive pas à me connecter dessus après une redirection de port et je pense que le problème vient de là…
Sinon pour le reste nickel.
et deuxième question ! Pensez vous qu’il est possible de désactiver les capteurs cliff depuis mon ordi pour lui permettre de passer sur une moquette noire ?
merci par avance
Bonjour!
quelle commande envoyé a partir de la zipabox, car j’essaie en vain de créer une règle permettant la mise en route en cas d’absence. mais rien n’y fait.
merci
bonjour,
la v2 étant sortie, et corrigeant les défauts, je vais me lancer,
qq a t il trouver un petit boitier qui irait dessus pour le protéger ? je vais découper le couvercle supérieure pour connecter la caret sur mon 555 et j’aimerais un boitier que je puisse fixer sur ce meme couvercle superieur
ps : marche t il sur un scooba (si celui ci a la meme prise ?)
a ++ merci
Existe il un robot aspirateur capable de mémoriser un chemin et de le reproduire tout seul ?
Bonjour,
Ça marche avec un 581?
Merci