A leírás Ubuntu Linuxra készült.
Mi a dummycloud?
Lehetővé teszi a robot 100% -os felhőmentes működését.
Mi a valetudo?
A Valetudo a Xiaomi porszívó beállítását és vezérlését biztosítja egy mobilbarát webes felületen. Ez közvetlenül a porszívón fut és nem igényel semmilyen felhő kapcsolatot.
Mi a rrlogd-patcher?
Egy python szkript, amely a Xiaomi porszívók tisztító naplójának a titkosításának állítja le. Ez lehetővé teszi, hogy a Valetudo megfelelően működjön az újabb roborock firmware-n.
Gen1 Firmwares> = 3514
Gen2 Firmwares> 1518
FIGYELMEZTETÉS : Ha az rrlogd-ot javítod, akkor használd a dummycloud-ot, mert különben az adatokat titkosítatlanul eljut a Xiaomi szerverekhez!
Indítsd el a terminált.
Telepítsd a szükséges függőségeket(bash,openssh,ccrypt,sed,dos2unix,tree):sudo apt-get update && sudo apt-get install bash openssh-server ccrypt git wget unzip sed dos2unix tree
SSH kulcs megszerzése:
A robothoz való csatlakozáshoz nyilvános/privát ssh-key pár szükséges. Ha még nem rendelkezel vele, akkor a következő paranccsal generálhatsz egyet.
ssh-keygen -t ed25519
Alapértelmezés szerint a generált kulcsok ~/.ssh könyvtárba kerülnek.
Ha úgy döntesz, hogy a kulcsok egy másik könyvtárba kerüljenek, jegyezd meg a kiválasztott helyet.
Felkészülés a kép elkészítésére:
1. Hozz létre egy új könyvtárat a munkához:mkdir rockrobo
cd rockrobo
2. Klónozd a dustcloud.git tárolótgit clone https://github.com/dgiese/dustcloud.git
3. Hozz létre egy könyvtárat a dummycloud számára:mkdir dummycloud
pushd dummycloud
4. A dummycloud letöltése (A legfrissebb verziót keresd a https://github.com/dgiese/dustcloud/releases címen és módosítsd a következő sort):wget https://github.com/dgiese/dustcloud/releases/download/0.1/dummycloud_0.1.zip
unzip -a dummycloud*.zip
popd
5. Hozd létre a valetudo könyvtárat:mkdir valetudo
pushd valetudo
6. Töltsd le a legújabb valetudo bináris adatokat (A legfrissebb verziót keresd a https://github.com/Hypfer/Valetudo/releases címen és módosítsd a következő sort):wget https://github.com/Hypfer/Valetudo/releases/download/0.0.9/valetudo
mkdir deployment
pushd deployment
wget https://github.com/Hypfer/Valetudo/raw/master/deployment/valetudo.conf
popd
popd
7. Rrlogd-patcher könyvtár létrehozása:mkdir rrlogd-patcher
pushd rrlogd-patcher
8. Töltsd le a legújabbat patcher.py:wget https://raw.githubusercontent.com/JohnRev/rrlogd-patcher/master/patcher.py
popd
9. Készíts firmware könyvtárat:mkdir firmware
pushd firmware
10. Töltsd le a legújabb firmware-t (az eredetit, nem a rootolt verziót). A második sort írd át az általad letölteni kívánt verzióhoz:wget https://raw.githubusercontent.com/pavanjadhaw/gdown.pl/master/gdown.pl && chmod u+x gdown.pl
./gdown.pl https://drive.google.com/file/d/1c3Y5HQu-EghL_GWc0Dg19-uc47q6v5k7 v11_003600.pkg
11. Hangcsomag letöltése (írd át a letöltést a kívánt hangcsomaghoz):./gdown.pl https://drive.google.com/file/d/1BIdbk9EHMbz8gkAiDV04ZjVHLhAj6dlm/view?usp=sharing hungary.pkg
rm *gdown.pl
Ha követed a fenti parancsokat, akkor a rockrobo könyvtárstruktúrának így kell kinéznie:cd
tree -L 2 rockrobo/
A firmware-kép létrehozása:mkdir image
cd image
sudo ../rockrobo/dustcloud/devices/xiaomi.vacuum/firmwarebuilder/imagebuilder.sh \
--firmware=../rockrobo/firmware/v11_003600.pkg \
--soundfile=../rockrobo/firmware/hungary.pkg \
--public-key=$HOME/.ssh/id_ed25519.pub \
--dummycloud-path=../rockrobo/dummycloud \
--valetudo-path=../rockrobo/valetudo \
--disable-firmware-updates \
--ntpserver=fritz.box \
--rrlogd-patcher=../rockrobo/rrlogd-patcher/patcher.py \
--replace-adbd
A firmware és a public-key-t módosítsd az általad használt adatokra.
A kész firmware a image/output könyvtárba kerül az ellenőrző fájlal együtt.
A firmware-t felrakhatod a PC-s hangcsomagban található programmal (ugyanúgy kell mint a hangnál csak a firmware könyvtárba kell tenni a két fájlt (pkg,md5) és a firmware felrakása menüt kell választani) vagy telefonról a XVacuum-al.
A frissítés körülbelül 5-10 percet vesz igénybe. A folyamat befejezése után a robot kimondja, hogy 'a frissítés sikerült'.
Az ssh-en keresztül bejelentkezhetsz a porszívóba (a saját porszívód IP-címére írd át):ssh root@192.168.8.1
Ellenőrizd, hogy helyesen van-e beállítva a dummycloud:
Először meg kell vizsgálni, hogy a dummycloud futtatható-e:pgrep dummycloud
Az eredmény egy folyamat azonosító szám, pl 393.
Ezután meg kell vizsgálni a tűzfal szabályokat, a 8053 portot át kell irányítani 127.0.0.1-ra, hogy a porszívó kommunikáljon a dummyclouddal.iptables -t nat -L
Az eredménynek a következőket kell tartalmaznia (Chain OUTPUT (policy ACCEPT) kell nézni):
Továbbá ellenőrizhető, hogy a dummycloud működik-e a porszívón. Ha a WiFi LED folyamatosan világít (kb. 30 másodperccel az indítás után).
Az elkészített firmware megnyitja a porszívó USB portját tehát az is használható!
Használhatod a böngészőbe beírva a porszívó IP címét:
Mobil:
PC-n:
RoboRock Control Center:
Mindenki csak saját felelősségére használja a leírást!