Vull recordar, que en cap moment seré responsable de cap dany que es pugui produir al dispositiu.
Requisits
Root del dispositu
Per poder accedir al sistema de fitxers del dispositiu cal poder accedir com a súper usuari. Rumpeltux ha fet una meravellosa feina, trobant una manera de poder accedir a l’equip d’una manera senzilla, però ús explicaré pas a pas com poder realitzar aquests passos i entendre’ls.
Cercar el port de Micro USB
Retirem la coberta de plàstic del raspall principal i retirem el raspall principal, tal com es veu a la imatge.
Un cop retirat el raspall, veurem que hi ha una coberta de plàstic amb 4 caragols petits, que també haurem de retirar.
Un cop retirada la coberta, veurem que hi ha la bateria del dispositiu. La retirem i la desconnectem del robot. Un cop fet això, veurem que hi ha un micro USB.
Connecteu el cable micro USB al connector, amb la bateria desconnectada, i sense connectar a l’ordinador.
Durant l’arracada del robot, publica un servidor Android ADB al dispositiu USB, però durant un període molt breu ( menys 1 segon ), i després el desactiva. És per això que hem de preparar abans i executar les ordres, metres aquest servidor estigui operatiu.
Substitució de la Shell ADB
Creem un arxiu anomenat adb_shell al nostre equip amb la següent informació
#!/bin/sh
export
ENV='/etc/adb_profile'
exec /bin/sh "$@"
Un cop guardat l’arxiu li donarem permisos
chmod 755 adb_shell
Executarem la següent comanda en bucle, així, quan arrengui el servidor adb durant aquest període curt de temps mitjançant push, enviarà la shell al dispositiu.
Obrim el terminal i executem tot en una mateixa línia. Un cop guardat l’arxiu li donarem permisos
while true; do adb push -a adb_shell /bin/adb_shell | grep -v "no devices"; done
Un cop executat, connectem USB a l’equip i esperem que connecti al robot.
Ens hi haurà d’aparèixer alguna línia com aquesta.
adb_shell: 1 file pushed, 0 skipped. 0.0 MB/s (58 bytes in 0.033s)
Pot ser que no ens aparegui cap línia. Si és així desconnectem l’USB i el tornem a connectar.
Hem d’ometre els erros que puguin aparèixer, es totalment normal. Ens hem de fixar en la línia i que s’hagi transmès dades( 58 bytes in 0.033s ) .
Si ha anat bé, polsarem “Ctrl + C” per aturar la comanda.
El següent pas, és aturar l’enllaç que arranca l’aplicació del robot i que fa que s’aturi el servidor d’Android ADB. Aquesta aplicació és la que fa que connecti a Mi Home, per tant, un cop estigui aturada apareixerà el robot com a desconnectat.
Amb el cable USB desconnectat executem la comanda següent i connectem l’USB
while true; do (adb shell rm /etc/rc.d/S90robotManager && echo "Done") 2>&1 | grep -v "no devices"; done
Si la comanda no ha anat bé, repetiu el pas anterior. Per verificar que ha anat correctament, en una nova finestra de shell executem adb shell i haurà d’aparèixer el login del linux del robot.
Si és així anul·lem la comanda anterior amb “Ctrl+C”
Ara toca instal·lar DropBear per a tenir habilitat el servei SSH. Podeu compilar vosaltres mateixos el binari mitjançant la guia de Rumpeltux, o utilitzar el binari ja compilat per Rumpeltux, que podeu descarregar d’aquí
Per instal·lar DropBear amb l’arxiu precompilat de Rumpeltux, seguim el següents passos.
Pugem l’arxius a la carpeta tmp del robot, executant la seguent comanda.
adb push dropbear_2015.71-2_sunxi.ipk /tmp
Instal·lem el paquet.
adb shell opkg install /tmp/dropbear_2015.71-2_sunxi.ipk
Un cop fet això, desconnectem l’USB i el tornem a connectar i verifiquem que podem accedir per SSH.
Ens demanarà un password, que és el següent:
@3I#sc$RD%xm^2S&
Un cop a la shell del robot modifiquem el password de la següent manera.
passwd
Ara toca tornar a generar el enllaç d’arrancada de l’aplicatiu del robot, per tal que funcioni amb Mi Home, i no tinguem un mini ordinador linux en comptes d’una aspiradora.
cd /etc/rc.d
ln -s
../init.d/robotManager S90robotManager
Un cop creat el enllaç. Desconnectem el micro USB del robot. Tornem a connectar la bateria, la coberta amb els 4 cargols petits, el raspall i la coberta del raspall.
Col·loquem el robot a la seva base, i esperem que connecti a la xarxa wifi i verifiquem que connecta amb l’aplicatiu de MiHome i que també tenim accés per SSH.
Recomano lleguir el seguent article, si esteu interesats en actulitzar el robot STYJ02YM ( Viomi V7 Pro ) a la versió 3.5.3_0047