Dreame Z10 Pro + Valetudo

Nouveau billet technologique en français, parce que la documentation sur ce sujet en anglais est déjà bonne.

J’ai acheté un robot aspirateur Roomba 530 en 2007 et ce dernier est malheureusement mort depuis quelque temps.

En 14 ans, la technologie a eu le temps d’évoluer un peu. Mon Roomba avait un seul bouton pour le démarrer et après il naviguait au petit bonheur la chance, passant à certains endroits dix fois et au mieux une seule fois à d’autres. Maintenant les robots aspirateurs sont équipés de lidars et sont capables de cartographier l’appartement et ainsi nettoyer plus vite.

Inconvénient majeur, aujourd’hui ce sont tous des IoT (et le « S » dans « IoT » veut dire « sécurisé »), connectés au « cloud ». Quelques-uns des différents problèmes que ça engendre :

  • obligation de se créer un compte chez le constructeur/plateforme (et de lui fournir un certain nombre d’informations personnelles) ;
  • obligation d’installer et d’utiliser une application propriétaire sur son téléphone pour controller l’appareil (problème de compatibilité, de sécurité…) ;
  • toutes les commandes envoyées depuis mon téléphone connecté à mon réseau local passent par un datacenter en Chine avant de revenir vers mon aspirateur aussi connecté à mon réseau local :
    • augmentation de la latence ;
    • problème de vie privée ;
    • ne fonctionne pas sans internet ;
    • ne fonctionne pas en cas de panne des serveurs du constructeur ;
    • ne fonctionne plus si le constructeur fait faillite ;
    • c’est nul d’un point de vue éco-conception ;
  • l’aspirateur remonte des informations au constructeur comme… le plan de mon appartement.

Que faire ? Heureusement il y a beaucoup de personnes qui pensent aussi que c’est un problème, dont certaines qui trouvent des solutions. Beaucoup de ces robots aspirateurs utilisent l’écosystème « smart home » de Xiaomi et le projet Valetudo permet de s’en passer.

Valetudo

Valetudo (du nom de la déesse de l’hygiène) est un projet qui permet d’interdire au robot aspirateur d’accéder aux serveurs de Xiaomi, de fournir une interface web directement depuis le robot pour pouvoir le piloter et quelques autres trucs sympas.

Mais pour faire ça, il y a pas mal d’obstacles. Certains robots aspirateurs sont à peine assez puissant pour faire fonctionner leur propre logiciel (typiquement niveau espace de stockage et mémoire vive), donc faire fonctionner Valetudo dessus en plus est un peu problématique. Et évidemment les constructeurs n’autorisent pas à installer des logiciels tiers sur les robots aspirateurs et il n’est possible de le faire que si une faille de sécurité est présente sur le robot permettant de débrider celui-ci.

Donc pour le choix de mon aspirateur robot, je m’orientais vers un Roborock S7+ mais après la découverte de Valetudo, je me suis fixé sur un Dreame Z10 Pro, car mieux supporté par Valetudo.

Dreame Z10 Pro

Voilà mon retour d’expérience après presque 2 mois d’utilisation.

Pour rappel, les robots aspirateurs sont fait pour un usage quotidien. Leur puissance d’aspiration est au moins 10 fois moindre que ce que l’on peut trouver sur un aspirateur classique. Mais pour un nettoyage quotidien ce n’est en général pas nécessaire d’avoir autant de puissance. En revanche ça ne vous dispense pas de faire un nettoyage plus minutieux de temps à autre.

C’est donc un aspirateur robot :

  • avec un lidar ;
  • une base de rechargement et vidage automatique ;
  • une serpillière ;
  • un système de détection des obstacles à base de « scanners 3D ».

Niveau design, je suis un peu étonné de voir tous ces robots être plus ou moins des copies du design des Roomba d’il y a 15 ans, à savoir :

  • une brosse centrale ;
  • avec les 2 roues motrices sur ressorts, de chaque côté de la brosse ;
  • une roulette pivotante à l’avant ;
  • un « bumper » à l’avant ;
  • les mêmes détecteurs de proximité pour éviter les chutes dans les escaliers ;
  • large, rond et plat.

Ceci étant dit, la finition est bonne et donne une impression de qualité.

Aspiration

Parce que oui, c’est avant tout un aspirateur.

Le robot est annoncé avec 4 kPa de dépression (j’aurais bien aimé connaître l’airwattage aussi), ce qui est supérieur à la plupart des aspirateurs robots.

Le robot a plusieurs niveaux de puissances possibles et une option pour augmenter la puissance automatiquement lorsqu’il détecte qu’il se trouve sur un tapis. Je l’utilise avec la puissance par défaut (donc pas maximum), sur sol dur, et c’est au moins aussi efficace que mon vieux Roomba 530.

Avec un réservoir à poussière de 400 ml, c’est peu, mais encore une fois, pour un nettoyage quotidien, c’est suffisant vu que l’aspirateur va automatiquement se vider dans sa base après avoir fini d’aspirer. Une partie du volume du réservoir à poussière est perdu à cause du système de vidange automatique. Comme on le verra ci-dessous, un design différent aurait permis d’avoir un volume plus important.

Base de vidage automatique

La base a une taille assez conséquente, étant elle-même un aspirateur, envoyant de l’air d’un côté vers le robot et aspirant de l’autre pour récupérer la poussière collectée par le robot. Poussière qui finit dans un sac d’aspirateur classique. Alors oui, ça fait un consommable, un système d’aspiration sans sac aurait été bienvenu.

Le sac a une contenance de 4 l et Dreame indique qu’il y a besoin de le changer tous les 2 mois environ.

Points positifs :

  • le conduit à poussières sous la base est transparent pour permettre de voir s'il est bouché et peut se démonter facilement pour le déboucher ;
  • l’arrière est prévu pour enrouler une petite partie du câble d’alimentation pour éviter qu’il ne traine trop par terre (bon… enrouler un câble électrique, ce n’est pas l’idée du siècle) ;
  • le câble ne fait pas partie intégrante de la base, il est donc possible de le changer ou d’utiliser celui de votre choix (la base a une prise C14 standard).

Je dois dire qu’après première inspection, je suis un peu dubitatif sur la partie vidage automatique du réservoir à poussières du robot aspirateur. En gros la base souffle de l’air d’un côté du réservoir et aspire de l’autre. Jusque-là tout va bien. La valve en sortie du réceptacle est normalement maintenue en position fermée avec un aimant, et elle s’ouvre sous la force d’aspiration de la base. Pas de problème non plus de côté là bien que l’on aurait pu imaginer que la base possède aussi un aimant ouvrant automatiquement la valve (système similaire à certains bloque-tiroirs). Mais le problème principal est sur la valve en entrée du réceptacle ou un simple bout de caoutchouc sert de valve. Étant donné le sens de circulation de l’air, cette valve s’ouvre certainement lorsque le robot est en mode aspiration qui ainsi perd de la puissance de succion. Ce qui explique aussi pourquoi Dreame a fait cette valve aussi petite.

Chez la concurrence on trouve des systèmes de vidange différents :

  • le Roborock S7+ se vide via la brosse (flux d’air en sens inverse que pendant l’aspiration donc)… j’ai des doutes sur ce système tout de même ;
  • le Roomba s9+ a une valve de vidange et c’est tout, l’entrée d’air se faisant par la brosse.

Je pense qu’il y a clairement un gain à faire ici (et ainsi prolonger la durée de vie des parties mécaniques et de la batterie tout en consommant moins d’énergie à puissance d’aspiration identique).

C’est un autre monde comparé à mon vieux Roomba 530. Au premier passage, le robot aspirateur cartographie l’appartement au fur et à mesure qu’il le découvre. Il suit d’abord les bords et ensuite zigzag pour aspirer la surface ainsi délimitée. Si on lui demande de faire 2 passes, il fera les zigzags de la deuxième passe perpendiculairement à la première.

Le scanner 3D à l’avant du robot pour éviter les obstacles est assez efficace pour qu’il ne se tape pas dans tout et n’importe quoi. En soit le scanner 3D ce sont deux lasers de chaque côté d’une caméra d’une résolution de 640×480 pixels. J’imagine que les lasers envoient des points et en fonction de l’image captée par la caméra, il est possible de déterminer la présence, voire la forme, d’objets à proximité.

Dans tous les cas, moins il y a de choses qui traînent par terre, mieux c’est. Mais clairement je peux le lancer dans des situations dans lesquelles je n’aurais jamais lancé le Roomba. Et surtout il nettoie les pièces en beaucoup moins de temps que ce que prenait le Roomba.

Quelques points négatifs :

  • il ne va pas assez près des bords (c’est un peu mieux si l’option d’évitement des obstacles est désactivée (désactiver le scanner 3D à l’avant)) ;
  • ne va pas sous les meubles dont le dessous est trop bas alors qu’il a juste la hauteur nécessaire pour passer (désactiver le scanner 3D aide aussi) ;
  • avec 2 passes, il ne fait quand même qu’une seule fois la bordure, deux fois aurait été le minimum, sans nécessairement la faire en plus en sens inverse étant donné qu’il n’y a qu’une seule brosse latérale ;
  • le lidar a quelques inconvénients :
    • il n’aime pas les miroirs, sur la carte que le robot a dessiné de mon appartement j’ai une zone « fantôme » qui correspond à ce qu’il a « vu » dans le miroir (par exemple détecter le changement de polarisation de la lumière du laser permettrait de détecter qu’il y a un miroir) ;
    • il n'aime pas les vitres non plus, un utilisateur indiquait que la carte faite par son robot comprenait une partie de son balcon/jardin.

Autonomie

Qui dit appartement parisien, dit petite surface, donc clairement pas de problème d’autonomie.

L’aspirateur est équipé d’une batterie 14,4 V d’une capacité de 5 200 mAh et 46 W de puissance nominale. Dreame annonce 150 minutes d’autonomie. Petit calcul rapide à partir de ces éléments : en fonctionnement (dans les mêmes conditions) l’aspirateur doit consommer environ 30 W (avec la serpillère à débit max et l’aspiration à puissance max, j’imagine que l’autonomie est réduite).

De mon utilisation, après 40 minutes d’aspiration, la batterie indique être encore pleine à 80 %.

Serpillère

Là, c’est plus un gadget qu’autre chose. En gros, c’est un chiffon humide trainé à l’arrière du robot. Pour vraiment être efficace avec une serpillère, il faut frotter en appuyant. Le Roborock S7+ a une serpillère vibrante, c’est probablement mieux, mais je ne suis pas certain que ce soit suffisant.

Le Dreame Z10 Pro a une option pour faire des zigzags plus serrés lorsque la serpillière est attachée. D’autres robots se déplacent en « Y » : le robot avance un peu et va vers la gauche, puis revient en arrière et avance un peu et va vers la droite, ce qui permet de simuler un peu mieux un frottement de la serpillère dans différentes directions. Une technique qui pourrait être une amélioration amenée par une mise à jour logicielle.

La serpillère du Z10 Pro est montée sur un réservoir de 150 ml d’eau, réservoir qui contient une petite pompe et trois orifices par lesquels l’eau s’écoule dans la serpillère. Il y a 3 débits possibles, j’ai tendance à utiliser le débit maximum.

Consommation électrique

Mesures prises avec la base branchée sur un wattmètre :

  • aspirateur sur sa base et complètement chargé : ~1 W (mon wattmètre n’est pas très précis pour les petites puissances, mais a priori le robot respecte la limite de 2 W imposée par le règlement n°801/2013) ;
  • base sans l’aspirateur : ~0 W ;
  • base en train de vider l’aspirateur : ~600 W (la vidange prend environ dix secondes) ;
  • base en train de recharger l’aspirateur : ~20 W.

Prix

Le prix normal du Dreame Z10 Pro est de 500 €, mais j’ai vu passer plusieurs offres à des prix inférieurs, dont une à 370 €. Dans tous les cas, c’est un prix très attractif comparé à un Roomba s9+ à 1 200 € ou un Dyson 360 Heurist à 1 000 € (et dont la version précédente ne fonctionnait pas dans le noir tout en coutant 1 200 €…).

Divers

  • Distribution Linux : il y a un gros « Athena Linux » affiché à la connexion, mais je ne sais pas à quoi ça correspond, ça a l’air d’être un OpenWRT d’après le contenu de certains fichiers (probablement un vieux 18.06 d’après la version du noyau Linux), bien que ça ne ressemble pas trop aux OpenWRT que je connais.
  • Noyau Linux : version 4.9, sorti en décembre 2016. Dans les systèmes embarqués, on trouve très souvent de vieilles versions de Linux, pas d’exception ici. Notamment à cause des composants (SoC…) propriétaires dont les constructeurs ne fournissent des pilotes (propriétaires aussi) que pour quelques versions du noyau Linux.
  • CPU : Allwinner MR813 (4 cores, ARM Cortex-A53, pouvant aller de 400 MHz à 1,5 GHz, à chaque fois que j’ai regardé il était à 1,4 GHz).
  • RAM : 512 Mo.
  • Stockage : 480 Mo (probablement 512 Mo dont une partie réservée).

J’ai perdu pas mal de temps à chercher ces informations par moi-même sur mon robot alors que tout était déjà compilé par la personne qui trouve comment débrider les robots aspirateurs :

Le processus principal s’appelle ava et semble utiliser environ 30 % de CPU en permanence, même quand le robot est sur sa base à ne rien faire. À mon avis, il y a une partie du code qui doit être bien dégueulasse, clairement de la performance et de la consommation d’énergie à gagner là.

Un des avantages de faire tourner ça avec Valetudo, c’est qu’il y a une intégration MQTT faite par défaut, donc la possibilité de raccorder le robot à un peu n’importe quel système de domotique. Une intégration dans Home Assistant existe déjà ainsi qu’une intégration dans OpenHAB. De là on peut imaginer des scénarios pour que l’aspirateur se lance automatiquement quand il n’y a personne dans la maison, etc.

Je n’ai pas encore de système de domotique chez moi, mais j’y réfléchi… Mon stage de fin d’études (il y a, certes, très longtemps maintenant) était tout de même sur un système de domotique.

Mon avis

Avoir l’aspirateur qui passe automatiquement tous les jours, surtout si on a des animaux qui laissent des poils partout, c’est quand même très cool.

Le problème sur le fait que ce soit un IoT connecté à des serveurs tiers est donc résolu avec Valetudo.

Il y a le problème de la longévité. D’après l’ADEME, 78 % de l’empreinte carbone d’un terminal numérique est lors de sa fabrication, donc pour réduire son empreinte il faut le faire durer le plus longtemps possible. Mais :

  • Dreame ne fournit pas d’indice de réparabilité.
  • Présence d’un autocollant « garantie annulée si retiré » bien que la FTC ait rappelé que c’était illégal aux États-Unis et que la DGCCRF indique que ce soit sans valeur légale en France (en gros ça peut éventuellement annuler la garantie commerciale s’il y en a une mais en aucun cas annuler les garanties légales (conformité et vices cachés)). Bref, Dreame n’a pas l’air de soutenir le droit à la réparation.
  • Plusieurs éléments sont des consommables : sac à poussière, brosses, filtres, et ne sont même pas indiqués sur le site de Dreame. Pour le moment il est possible de trouver les accessoires du Z10 Pro sur la boutique Dreame sur Amazon, mais pour combien de temps ? Pour info, avec une utilisation de 40 minutes par jour, la brosse principale a une durée de vie de 14 mois, 9 mois pour la brosse latérale et 7 mois pour le filtre.
  • Obligé de passer par Dreame pour changer la batterie ? La batterie n’est pas vendue par Dreame et vu la présence de l’autocollant pour dissuader d’ouvrir le robot, ils n’ont pas l’air de vouloir. J’ai moi-même changé deux fois la batterie sur mon Roomba. Je ne vois pas pourquoi je ne pourrais pas le faire sur le Z10 Pro. Pour le moment j’ai l’impression qu’il est possible de trouver des batteries compatibles, mais encore une fois : pour combien de temps ?
  • J’ai l’impression que les constructeurs sortent régulièrement de nouveaux modèles de robots, si c’est pour que ça se passe comme sur les téléphones Android où encore bien souvent le téléphone n’est plus supporté après 6 mois ou 1 an…

Au passage, toujours sur le respect de la loi, le site de Dreame ne respecte évidemment pas le RGPD. Il y a plusieurs traqueurs dessus, mais aucune demande de consentement.

Dreame, comme la plupart des autres constructeurs, font tout ce qu’ils peuvent pour empêcher leurs clients d’utiliser leur matériel comme ils l’entendent. Il est dommage de voir des entreprises chinoises adopter les mauvaises pratiques du capitalisme et mettre les profits à courts termes devant les besoins de leurs utilisateurs, l’écologie et la sauvegarde de l’humanité.

En l’occurrence, je pense que beaucoup de personnes ont acheté un Z10 Pro de chez Dreame, justement parce que c’est un des mieux supportés par Valetudo. À la place de se mettre à dos une partie de ses clients, c’est une opportunité pour Dreame de changer de cap et de se démarquer de ses concurrents en rendant leurs produits plus ouverts.

Le robot aspirateur que j’aimerais avoir

Si je devais construire mon robot aspirateur « ultime », avec les technologies d’aujourd’hui, voici les spécifications que j’utiliserais :

  • une base de vidange automatique avec un système à séparation cyclonique (comme sur le Roborock S7+) ;
  • un système d’aspiration à séparation cyclonique (comme sur le Dyson 360 Heurist). Il y a moyen de faire un système de séparation horizontal, à voir pour ne pas avoir un robot trop haut comme celui de Dyson ;
  • une brosse qui fait toute la largeur de l’aspirateur (comme sur le Dyson 360 Heurist ou le Roomba s9) pour bien aller dans les coins ;
  • une brosse latérale de chaque côté, parce que même avec une brosse qui fait toute la largeur, la brosse latérale permet souvent d’aller un peu plus loin sous les plaintes, meubles et bien dans les coins ;
  • faire une cartographie 3D de l’habitation (comme sur le Roborock S7 MaxV Ultra (le Z10 Pro a peut-être le matériel nécessaire, mais pas le logiciel encore)) de manière assez précise (le lidar est-il toujours aussi utile ? ajouter une centrale inertielle ?) ;
  • un logiciel de navigation assez intelligent pour éviter les petits problèmes du style « j’y vais, je n’y vais pas, si j’y vais » ;
  • évidemment une possibilité de fonctionner 100 % en local comme avec Valetudo ;
  • des intégrations disponibles avec les systèmes de domotiques les plus utilisés ;
  • un maximum en logiciel libre et matériel libre.

Si jamais il y avait un moyen de rendre la serpillère efficace, ce qu’il faudrait, c'est une plus grande automatisation. Devoir nettoyer la serpillère, l’installer, la désinstaller et recharger le réservoir à chaque utilisation, la rend quasi inutile. Autant sortir une vraie serpillère et faire ça à la main. De même pour l’aspirateur, je me servais beaucoup moins souvent de mon Roomba que du Z10 Pro, justement parce que je devais le lancer à la main et le vider après chaque utilisation. Donc pour la serpillère :

  • vibrante pour plus d’efficacité ;
  • qui se soulève automatiquement pour ne pas fonctionner sur les sols qui n’en ont pas besoin (moquette, etc.) et avec détection automatique de la surface (et possibilité de manuellement spécifier des zones interdites de serpillère sur la carte) ;
  • nettoyage automatique ;
  • remplissage automatique du réservoir ;
  • possibilité d’ajouter des détergents dans l’eau.

À part ce dernier point, pour la serpillère, le Roborock S7 MaxV Ultra avec sa base géante semble faire l’affaire. Mais encore une fois, je me pose des questions sur la fiabilité d’un tel système.

Devenir root sur le Z10 Pro

Comme beaucoup « d’objets intelligents », le Z10 Pro utilise Linux comme système d’exploitation. Afin de pouvoir installer Valetudo dessus, la première chose à faire est de devenir administrateur du système. Et pour cela il suffit de suivre la documentation d’installation de Valetudo (la documentation est très bien faite et à jour (contrairement à ce billet de blog qui ne sera pas mis à jour)). À noter que la technique décrite ci-dessous n’est plus possible avec les derniers firmwares du robot. Heureusement, le robot que j’ai acheté a une date de production de septembre 2021 et n’embarque donc pas le dernier firmware.

Pour réaliser cette manipulation il est nécessaire d’avoir :

  • un Dreame Z10 Pro (ou un des modèles pour lesquels cette technique fonctionne) et sa base ;
  • un ordinateur avec Wi-Fi (portable, c’est plus simple) ;
  • un câble convertisseur USB vers UART (et éventuellement une rallonge USB) ;
  • 3 câbles jumper ;
  • de quoi faire levier (genre des tournevis avec le bout recouvert de tissu pour ne rien abîmer) ;
  • un point d’accès WiFi ;
  • une connexion internet.

Ouvrir le robot aspirateur

Certainement la partie la plus difficile.

Commencer par s’assurer que le robot est éteint (bouton ⏻ pendant au moins trois secondes).

Ensuite, il s’agit d’ouvrir le capot avant qui est retenu par plusieurs clips. La meilleure façon que j’ai trouvé, c’est d’utiliser un objet long et fin (d’où les tournevis avec du tissu), de l’amener jusqu’a un des clips et faire levier doucement jusqu’à ce que le clip s’ouvre. Il ne faut par lever trop haut, au risque d’abimer/tordre/casser le capot. Et faire tous les clips comme ça un par un.

Connecter le convertisseur USB/UART

Ensuite, il faut connecter le convertisseur USB/UART 3,3 V sur les bonnes prises du robot (cf. la documentation de Valetudo pour les bonnes broches) via les câbles jumper. Bien brancher la masse ainsi que le TX sur le RX et le RX sur le TX… Mais comme beaucoup de monde se trompe, la documentation de mon câble a inversé les noms des broches RX et TX… Du coup, je l’ai branché à l’envers lors de mon premier essai.

Se connecter à l’aspirateur

Soit avec la commande screen, soit avec miniterm de python.

  • screen :
$ sudo apt install screen
$ sudo screen /dev/ttyUSB0 115200,ixoff
  • miniterm :
$ sudo apt install python3-serial
$ sudo python -m serial.tools.miniterm /dev/ttyUSB0 115200

Puis démarrer le robot aspirateur en appuyant sur le bouton ⏻ pendant au moins trois secondes. La séquence de boot devrait défiler à l’écran.

[340]HELLO! SBOOT is starting!
(…)
wlan0: interface state UNINITIALIZED->ENABLED
wlan0: AP-ENABLED
p2028
{"ret":"ok"}

Il faut ensuite appuyer sur le bouton reset sous le capot arrière de l’aspirateur, une invite de connexion s’affiche alors :

p2028_release login: root
Password: 

Pour le mot de passe root, il faut prendre le numéro affiché dans le robot sous le collecteur à poussière (long de 18 caractères sur le mien) et faire une conversion en Base64 de son empreinte MD5 :

$ echo -n "P00000000EU00000XX" | md5sum | base64

Et voilà :

--------------------------------------------------------------
    _   _   _                        _     _                  
   / \ | |_| |__   ___ _ __   __ _  | |   (_)_ __  _   ___  __
  / _ \| __| '_ \ / _ \ '_ \ / _` | | |   | | '_ \| | | \ \/ /
 / ___ \ |_| | | |  __/ | | | (_| | | |___| | | | | |_| |>  < 
/_/   \_\__|_| |_|\___|_| |_|\__,_| |_____|_|_| |_|\__,_/_/\_\
                                                              
--------------------------------------------------------------
 Athena Linux (p2028_release)
--------------------------------------------------------------

平台组帮助文档(联网,固件升级,开发环境搭建等功能),查看帮助文档,请终端输入:cat /data/readme.md

[root@p2028_release:~]#

Et nous voilà root sur l’aspirateur.

Installer Valetudo

Il faut générer une archive via Dustbuilder qui va contenir le firmware du robot ainsi que Valetudo, quelques utilitaires et modifier la configuration DNS pour rediriger les appels « cloud » vers Valetudo.

Une fois le nouveau firmware téléchargé sur l’ordinateur, le connecter au réseau Wi-Fi ad hoc créé par le robot.

Il va falloir d’abord sauvegarder quelques fichiers du robot « au cas où » et ensuite transférer le nouveau firmware sur le robot. Pour ces deux opérations de transferts, le plus simple est de démarrer un serveur web sur l’ordinateur.

Sur l’ordinateur comme sur le robot, utiliser la commande ip a pour connaître l’adresse IP de la machine sera utile. Il peut être aussi nécessaire de couper temporairement le pare-feu de l’ordinateur, ou au moins ouvrir temporairement le port 8000.

Sauvegarde

Sur l’ordinateur, démarrer un serveur pour réceptionner les fichiers :

$ python3 -m pip install --user uploadserver
$ python3 -m uploadserver

Sur le robot, faire une archive des fichiers à sauvegarder puis les envoyer :

# cd /
# tar cvf /tmp/backup.tar /mnt/private/ /mnt/misc/
# curl -X POST http://adresse-ip-ordinateur:8000/upload -F 'files=@/tmp/backup.tar'
# rm /tmp/backup.tar

Envoi du firmware

Sur l’ordinateur, se mettre dans le répertoire où le firmware se trouve, puis démarrer un server web :

$ python3 -m http.server

Sur le robot, télécharger le firmware :

# cd /tmp
# wget http://adresse-ip-ordinateur:8000/dreame.vacuum.p2028_fw.tar.gz

Installation du firmware

Sur le robot, toujours depuis le dossier /tmp :

# tar -xzvf dreame.vacuum.p2028_fw.tar.gz
# ./install.sh

Le robot va ensuite redémarrer automatiquement.

Une fois le robot redémarré, vérifier que l’ordinateur est de nouveau connecté au Wi-Fi du robot et se connecter au robot avec un navigateur web : http://adresse-ip-robot/

Sur l’interface web, il ne reste plus qu’à configurer le robot pour qu’il se connecte au réseau Wi-Fi (note : avoir un réseau dédié pour les IoT avec des accès limité peut être une bonne idée), et configurer des identifiants pour empêcher que n’importe qui sur le réseau puisse trop facilement accéder à Valetudo.

Et voilà ! Le robot aspirateur est maintenant autonome, plus lié à des serveurs tiers.

Merci Valetudo !

Mises à jour sur l’article :

  • En ce qui concerne les détergents dans le réservoir d’eau, apparemment le problème, c’est la mousse. Il est possible de trouver des détergents spécialement conçus pour les robots aspirateurs et moussant très peu.
  • Dreame a sorti le W10 qui semble avoir un nouveau système de serpillère nettement plus performant. Malheureusement sa base ne vide pas le bac à poussière et son système de détection d’obstacles n’est pas aussi performant que celui du Z10.

Comments Add one by sending me an email.