Hack or not hack: that's the question!

XV-15, XV-14, XV-25, Signature, Botvac, Kobold VR100, VR200 ...

Modérateurs: uranus-13, ycorp, chris-s

Hack or not hack: that's the question!

Messagepar zorglub42 » Lun 1 Sep 2014 19:56

Salut le monde,

Voila, je me présente, je suis Zorglub42, ou Zorg, pour les intimes :)
En temps que geek, je suis fainéant, et si une machine (ou un logiciel) peut faire le boulot à ma place, ça me va bien!

Alors, l'aspi robot, c'était bien tentant ! Ceci dit j'ai mis le temps : après avoir (un peu) réfléchi à la question je trouvais ça "un peu cher"... MAIS.... après avoir essayé un robot aspi dans la maison ou j'étais pendant les vacances (un roomba) j'ai été convaincu et je suis passé du coté obscur ...euh.... lumineux (!) de la force ;)

Le blog de Cedric a été une mine, d'autant plus intéressante qu'il n'y a pas de partis pris derrière et on y sent une impartialité rassurante.
Mes critères principaux étaient avant tout les capacités de nettoyage.
Après, si on peut faire mieux, et en particulier "hacker" la bête c'est encore mieux!

C'est comme ça que mon choix s'est arrêté sur un neato, surtout quand j'ai vu ce lien

Et voila comment un XV Signature affectueusement surnommé "NooNoo" est arrivé chez moi.

Bon, le 1er hack a été facile, lui donner une allure plus sympathique :D
Image
Facile......

Ensuite.... ben.... ben....ben.....

En premier lieu, j'ai essayé de me connecter en USB pour voir ce que ça donne.
Donc, le port USB du bestiau, c'est la ==>Image


Branchement du câble entre l'api et le PC, allumage (sortie de veille quoi....) de NooNoo et hop ! j'ai pu me connecter directement a la bête.
Je précise que je suis sous Linux (sur une variante d'Ubuntu) et je n'ai rien eu a installer de particulier. Sous Windows, je crois qu'il faut installer des pilotes spécifiques dispo sur le site de neato.

Enfin... hop! .. ouais..... en vrai voila les détails:
1) AVANT de connecter NooNoo, dans une fenêtre de commande Linux, j'ai listé les ports serie dispo sur le PC
Code: Tout sélectionner
ls /dev/tty*

2) ENSUITE j'ai branché NooNoo et relancé la même commande, ça m'a permis de voir que sur mon laptop il apparait en temps que /dev/ttyACM3
3) J'ai enfin lancé un outil pour "causer" a un port série:
Code: Tout sélectionner
minicom -D /dev/ttyACM3

Et là, oui: hop ! j'ai pu jouer avec les commandes du PDF cité ci dessus
Enfin... pour dire vrai, il semble que juste après la connexion il soit dans un état un peu bâtard, appuyer 1 ou 2 fois sur ENTREE règle le pb.

Cooooooool !

D'apres la doc, le neato repose sur un Linux embarqué. Une image de CD est téléchargeable sur le site de Neato, mais ce CD ne contient "que" les sources des composants opensource de linux que Neato a modifiés pour distribuer ses aspis (c'est une obligation légale), mais absolument pas la "distro" réellement embarquée sur la bête.
En d'autre terme, pour l'instant ce n'est pas une piste pour aller plus loin (du moins pour moi).

J'ai vu sur le net des anglo-saxons qui ont aussi pu se connecter avec un "vrai" port série en raccordant directement des connecteurs sur les cartes électroniques dans l'api.
En fait, ça ne change rien on arrive sur le même interpreteur de commande "made in neato".
D'une certaine façon, c'est logique..... sur un UNIX standard (comme Linux) sur les ports serie on lance le programme qui check le mot de passe et qui lance ensuite le "shell".

Ici, point de login mais directement l'interpreteur de commande "made in neato" en guise de shell.

Ceci dit, il y a tout de même matière a jouer !
Ainsi j'ai pu réaliser ce petit programme vite fais ou mon laptop contrôle NooNoo




Pour les plus démoniaques d'entre vous, le code du fameux programme:
Code: Tout sélectionner
#!/bin/bash

#Initialize serial port
stty -F /dev/ttyACM3 cs8 9600 ignbrk -brkint -imaxbel -opost -onlcr -isig -icanon -iexten -echo -echoe -echok -echoctl -echoke noflsh -ixon -crtscts
sleep 1


#Ensure that XV is ready to receive instructions
echo "" > /dev/ttyACM3
sleep 1

#Switch to "controled by usb for all commands" mode
echo "testmode on" > /dev/ttyACM3
sleep 1

#Just for fun
echo "playsound 1" > /dev/ttyACM3
sleep 1

#Let's move!
echo "setmotor 392 0 300" > /dev/ttyACM3
sleep 2   
echo "setmotor 600 600 200" > /dev/ttyACM3
sleep 3
echo "setmotor 392 0 300" > /dev/ttyACM3
sleep 2   
echo "setmotor 600 600 200" > /dev/ttyACM3
sleep 3
echo "setmotor 392 0 300" > /dev/ttyACM3
sleep 2   
echo "setmotor 600 600 200" > /dev/ttyACM3
sleep 3
echo "setmotor 392 0 300" > /dev/ttyACM3
sleep 2   
echo "setmotor 600 600 200" > /dev/ttyACM3
sleep 3

#just for fun
echo "playsound 2" > /dev/ttyACM3
sleep 1

#restore to default mode (required if you plan to use you vaccum as a vaccum......)
echo "testmode off" > /dev/ttyACM3


Pour l'instant, prendre la main sur le Linux sous jasent, je n'y crois guère..... Il faudrait trouver une faille dans l'interpreteur Neato pour qu'il "claque" et me donne la main en mode "dieu"...... Ca fait beaucoup de "si" et reclamme des compétences que je ne suis pas sûr d'avoir.
En revanche, j'ai bon espoir de connecter un micro-serveur type rapberry-pi de façon à faire un NooNoo connecté.

L'idée, c'est d'avoir des infos sur lui depuis internet, lancer un nettoyage, voir même de le piloter tel un kart avec un smartphone à la maison.... (j'ai vu une video sur le blog de Cedric ou un type fait ça en bluetooth entre son smartphone et son PC puis en USB entre le PC et le neato)

Mais on en est pas là...... d'ailleurs, si on lance la commande de nettoyage
Code: Tout sélectionner
clean

sur l'api, il demande a débrancher le câble USB.... Ca veut dire qu'il va falloir jouer du transistor et autres binious électroniques avant d'en arriver la.....

Voici un lien fort intéressant (en grand breton) http://xv11hacking.wikispaces.com/

Pour l'instant, demain c'est la rentrée et le temps dispo pour "jouer" va se restreindre.......

To be continued.......
"La différence entre la théorie et la pratique, c'est qu'en théorie il n'y a pas de différence entre la théorie et la pratique, mais qu'en pratique, il y en a une" (Jan Van de Sneptscheut)
zorglub42
Niveau 1
Niveau 1
 
Messages: 2
Enregistré le: Lun 1 Sep 2014 18:38

Re: Hack or not hack: that's the question!

Messagepar Cédric » Ven 5 Sep 2014 18:54

super merci beaucoup pour ces 1ers éléments :)
Testés : Roomba 780 & 650, Neato XV-15 & XV-25, Deepoo D76, Hom-Bot 1129 & Square, Eclean EC02, Sevian K7, EC-Mini, Navibot 8895 & 8980, Eziclean Revolut, Homrun, Solac, Scooba 390 & 230, Spykee, Spy-C Tank, Robomop, Kobold VR100, Braava,Winbot, Deepoo D68, Rowenta, Koubachi, XV-Signature
Avatar de l’utilisateur
Cédric
Administrateur du site
Administrateur du site
 
Messages: 1696
Enregistré le: Jeu 5 Mai 2011 15:07

Re: Hack or not hack: that's the question!

Messagepar Cédric » Ven 5 Déc 2014 20:36

Testés : Roomba 780 & 650, Neato XV-15 & XV-25, Deepoo D76, Hom-Bot 1129 & Square, Eclean EC02, Sevian K7, EC-Mini, Navibot 8895 & 8980, Eziclean Revolut, Homrun, Solac, Scooba 390 & 230, Spykee, Spy-C Tank, Robomop, Kobold VR100, Braava,Winbot, Deepoo D68, Rowenta, Koubachi, XV-Signature
Avatar de l’utilisateur
Cédric
Administrateur du site
Administrateur du site
 
Messages: 1696
Enregistré le: Jeu 5 Mai 2011 15:07

Re: Hack or not hack: that's the question!

Messagepar ycorp » Ven 5 Déc 2014 21:21

je crois avoir deja vu sur un site le pilotage du neato via pc.
je retrouve le lien.
vr200, VR100 magnifique, d'un botvac, Neato XV-12 / Mint Plus / braava. A eu entre les mains : neato xv-11 et 25, Roomba 780, Scooba 230, plusieurs Samsung et le mint originel et lg.
Avatar de l’utilisateur
ycorp
Modérateur
Modérateur
 
Messages: 1750
Enregistré le: Lun 20 Fév 2012 18:05

Re: Hack or not hack: that's the question!

Messagepar Bottevaque » Ven 17 Avr 2015 09:36

Il serait également intéressant de savoir connecter un Neato à un Macintosh...
Bottevaque
Niveau 2
Niveau 2
 
Messages: 11
Enregistré le: Mer 15 Avr 2015 12:59

Re: Hack or not hack: that's the question!

Messagepar zorglub42 » Ven 17 Avr 2015 13:06

Ben a vrai dire, le neato se connecte par un port serie (via l'USB), donc sur un mac il n'y a pas de raison que cela ne fonctionne pas.
Après tout, sous macOS se cache un unix...
"La différence entre la théorie et la pratique, c'est qu'en théorie il n'y a pas de différence entre la théorie et la pratique, mais qu'en pratique, il y en a une" (Jan Van de Sneptscheut)
zorglub42
Niveau 1
Niveau 1
 
Messages: 2
Enregistré le: Lun 1 Sep 2014 18:38

Re: Hack or not hack: that's the question!

Messagepar Bottevaque » Ven 17 Avr 2015 13:30

zorglub42 a écrit:... sur un mac il n'y a pas de raison que cela ne fonctionne pas.

Bien sur! J'ai vu qu'il existe un logiciel mac de mise à jour, et que les commandes via pc ou mac devraient être semblables. C'est au niveau de l'établissement de la connexion, de la gestion de l'interface usb que je suis dans le flou total. J'ai bien branché un câble entre mon mac et mon botvac, mais ensuite je ne sais pas quoi en faire.
Si quelqu'un a déjà exploré ce domaine, je suis preneur d'expérience!
Merci!
Bottevaque
Niveau 2
Niveau 2
 
Messages: 11
Enregistré le: Mer 15 Avr 2015 12:59

Re: Hack or not hack: that's the question!

Messagepar glnc222 » Dim 19 Avr 2015 02:09

L'obligation de débrancher le câble USB lorsque le nettoyage a été enlevé dans le Botvac.
Dans le XV, la connexion USB peut être refait après une déconnexion initiale.
Il est un utilitaire Microsoft Devcon pour Windows, qui se éteint et sur la connexion USB sans débrancher un câble.
http://support.microsoft.com/kb/311272
et http://social.technet.microsoft.com/wiki/contents/articles/182.how-to-obtain-the-current-version-of-device-console-utility-devcon-exe.aspx

Un récepteur WiFi ajouté au robot et connecté à la prise USB doit être programmé avec une fonction similaire dans le firmware du récepteur.
Le programme dispose d'une plus NeatoControl expérimentale de sortie TCP/IP pour la connexion réseau à un hôte USB relié à distance au robot. Cette version bêta ne est pas pleinement opérationnel, sauf pour le TCP/IP; quelques-uns des autres fonctions ne travaillent pas encore correctement, contrairement aux versions précédentes.
Une expérience avec le WiFi est rapporté au http://www.robotreviews.com/chat/viewtopic.php?f=4&t=18262
La prise USB Botvac est derrière le bac à poussière. La prise d'un câble standard doit être de taille réduite. http://www.robotreviews.com/chat/viewtopic.php?f=20&t=18374#p129337
glnc222
Niveau 7
Niveau 7
 
Messages: 758
Enregistré le: Mar 2 Déc 2014 02:23

Re: Hack or not hack: that's the question!

Messagepar glnc222 » Dim 19 Avr 2015 08:28

Notez le code source pour le NeatoControl pour Windows est dans le fichier de téléchargement, mais est dans le vieux système de développement Borland Delphi.
glnc222
Niveau 7
Niveau 7
 
Messages: 758
Enregistré le: Mar 2 Déc 2014 02:23


Retourner vers Neato Robotics / Vorwerk

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 0 invités

cron