Roborock (серия) - робот-пылесос - Прошивка и языковые пакеты | [робот-пылесос] [Roborock]



Реп: (1152)
Xiaomi Mi Robot Vacuum (Roborock gen 1 (v1)/gen 2(S50/51/55)/gen 3(1S/S6/T6/S5E(Max)/S6 Max V/S7 и все остальные)) - Прошивка и языковые пакеты
Xiaomi Mi Robot Vacuum 1 поколения » | Xiaomi Mi Robot Vacuum 2 поколения » | Xiaomi Mi Robot Vacuum 3 поколения » | Покупка » | Приложение MiHome » | Прошивка и языковые пакеты » | Xiaomi клуб » | Выбор и сравнение пылесосов

*Если названия вашего робота нет в первой строчке данной темы, то значит вам в другую тему.
В данной теме обсуждается только процесс прошивки, возникающие при этом проблемы и недокументированное использование возможностей в следствии рутования.

Xiaomi Mi Robot Vacuum-Mop (1С) прошить в данной теме нельзя, профильная тема: ссылка.
Xiaomi Mi Robot Vacuum-Mop (2С) ссылка.
Для Mop P (STYJ02YM) ссылка.
Для Xiaomi Mijia G1 Sweeping Vacuum Cleaner (Mop essential MJSTG1) ссылка.

FAQ

Описание устройства
Характеристики устройства
Робот-пылесос Xiaomi Mi Robot Vacuum оснащен малошумным бесщеточным мотором, поставляемым японской фирмой NIDEC. Вентилятор дает максимальное давление в целых 1800 Па, которая обеспечивает большую мощность при работе с жесткой грязью.

Mi Robot Vacuum также оснащен тремя процессорами: четырехъядерным процессором Allwinner, сопроцессором STMicroelectronics ARM и процессором обработки изображения Texas Instruments LDS. Трио помогает пылесосу получать данные в режиме реального времени от россыпи из 12 различных типов датчиков (датчик определения расстояния LDS, ультразвуковой радар, датчик расстояния до стены, датчик крупной грязи, датчик падения, гироскопы, акселерометры и так далее). Лазерный дальномер и ультразвуковой радар сканируют окружающее робота пространство на все 360 градусов с частотой замеров 1800 раз/сек. Эта технология похожа на ту, что мы можем видеть в современных беспилотных автомобилях.

Встроенная батарея емкостью 5200 мАч составлена из аккумуляторов повышенной емкости типа 18650 от LG и Panasonic и гарантирует 2,5 уборку от одного заряда батареи.

Совместимость с платформами
Android, iOS

Прошивки
  • Внимание! Партии с новыми прошивками (4004 и выше - для первого поколения, 1910 и выше - для второго поколения) в разделе восстановления, у вас нет возможности ставить кастомные прошивки на таких роботов.
  • В новых ревизиях второго поколения роботов, выпущенных начиная с 03.2019, а также в прошивках, начиная с 02.2019, появилась проверка принадлежности робота к региону. То есть робот для китайского рынка (в России тоже часто такие продают под видом европейского) больше не работает в России. Прошить себя не дает и т.д.


Кастомные прошивки:
Важно: Обе версии робота прошиваются одинаково, то есть все инструкции по прошивке подходят к обеим версиям! Для 3 поколения только офф. пакеты через моды МиХоум или напрямую со смартфона XVacuum Firmware

Вопрос/ Ответ:
В: Зачем?
О: После получения рут прав вы получаете полноценный дистрибутив Ubuntu внутри пылесоса. Что с этим делать решать вам. После этого только ваша фантазия ограничивает возможности пылесоса, ну и, соответственно, умения работать с Ubuntu.

Для первой версии:
Модифицированные прошивки
-----------------
Теперь зональная уборка и отправка в определенную точку работает официально в родном плагине MiHome, больше никаких манипуляций.

Для второй версии:
Ввиду появления региональной блокировки у второго поколения робота используйте модифицированные прошивки

Языковые пакеты
Важно: В роботе языковые пакеты не копятся, в нем всегда только один языковой пакет. Поэтому одновременно установить можно только один языковой пакет. Выбор языка в MiHome никак не связан с тем, что находится в роботе. MiHome лишь дает команду роботу скачать языковой пакет по ссылке, заранее запрограммированной разработчиками. То есть только разработчики могут добавить в MiHome языки. Вы же устанавливаете языковой пакет именно на робота вместо текущего. MiHome об этом ничего не знает и никогда не узнает.


Для 3-го поколения:
*Для третьего поколения русский пакет на данный момент существует всего 1 - официальный. Пакеты для третьего поколения теперь не только зашифрованы, но и подписаны сертификатом. То есть больше никто не может создавать свои пакеты.




Для 1-го и 2-го поколений: (для 3-го они НЕ подходят, подробности в FAQ )
*Языковые пакеты можно ставить на любую прошивку, независимо стоковая (оригинальная) или кастомная.


Русский:


Украинский:

Иврит:


Другие языки:

Инструкции
Внимание: Прошил не ту прошивку, процесс прошивки оборвался, просто что-то пошло не так и робот теперь ни на что не реагирует, подключиться к нему невозможно или робот не прошивается, выдавая ошибку. Восстанавливаем.


Старые инструкции, устаревшие и более не рабочие

Полезное


В теме нет куратора. По вопросам наполнения шапки обращайтесь к модераторам раздела через кнопку Изображение под сообщениями, на которые необходимо добавить ссылки.
Если в теме есть пользователь, желающий стать Куратором и соответствующий Требованиям для кандидатов, он может подать заявку в теме Хочу стать Куратором (предварительно изучив шапку темы и все материалы для кураторов).


Сообщение отредактировал .//Hack - 29.01.24, 23:41
Причина редактирования: Обновлены ссылки на прошивки



Реп: (1152)
Меня посетила такая мысль, а никто не может в плагине для пылика сделать в настойках вывод токена? Я плагины MiHome не ковырял, поэтому не знаю как там все устроено, поэтому это чисто предположение. Тогда бы токен получить можно было, забросив плагин в нужную папку, и в MiHome зайти в нужный раздел.



Реп: (62)
.//Hack @ 06.01.18, 16:04 *
Если телефон рутован, то копию делать и не надо, следуйте просто инструкции для рутованных устройств

нет рута.



Реп: (80)
root@debian /home/mirobot # mirobo discover --handshake true
INFO:miio.device:Sending discovery to <broadcast> with timeout of 5s..
INFO:miio.device: IP 192.168.0.109 (ID: 046bcb98) - token: b'ffffffffffffffffffffffffffffffff'
INFO:miio.device:Discovery done


Очень странный токен он мне возвращает... подозрительно как-то...

ну и затем тоже беда.....

root@debian /home/mirobot # mirobo discover --handshake true

INFO:miio.device:Sending discovery to <broadcast> with timeout of 5s..
INFO:miio.device: IP 192.168.0.109 (ID: 046bcb98) - token: b'ffffffffffffffffffffffffffffffff'
INFO:miio.device:Discovery done

root@debian /home/mirobot # mirobo --ip=192.168.0.109 --token=ffffffffffffffffffffffffffffffff status

ERROR:miio.vacuum_cli:Unable to read the stored msgid: [Errno 2] No such file or directory: '/tmp/python-mirobo.seq'
ERROR:miio.device:Got error when receiving: timed out
WARNING:miio.device:Retrying with incremented id, retries left: 3
ERROR:miio.device:Got error when receiving: timed out
WARNING:miio.device:Retrying with incremented id, retries left: 2
ERROR:miio.device:Got error when receiving: timed out
WARNING:miio.device:Retrying with incremented id, retries left: 1
ERROR:miio.device:Got error when receiving: timed out
Traceback (most recent call last):
File "/root/.local/share/virtualenvs/mirobot-hMx_wb_i/lib/python3.5/site-packages/miio/device.py", line 232, in send
data, addr = s.recvfrom(1024)
socket.timeout: timed out

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/root/.local/share/virtualenvs/mirobot-hMx_wb_i/lib/python3.5/site-packages/miio/device.py", line 232, in send
data, addr = s.recvfrom(1024)
socket.timeout: timed out

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/root/.local/share/virtualenvs/mirobot-hMx_wb_i/lib/python3.5/site-packages/miio/device.py", line 232, in send
data, addr = s.recvfrom(1024)
socket.timeout: timed out

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/root/.local/share/virtualenvs/mirobot-hMx_wb_i/lib/python3.5/site-packages/miio/device.py", line 232, in send
data, addr = s.recvfrom(1024)
socket.timeout: timed out

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File "/root/.local/share/virtualenvs/mirobot-hMx_wb_i/bin/mirobo", line 11, in <module>
load_entry_point('python-miio==0.3.3', 'console_scripts', 'mirobo')()
File "/root/.local/share/virtualenvs/mirobot-hMx_wb_i/lib/python3.5/site-packages/click/core.py", line 722, in __call__
return self.main(*args, **kwargs)
File "/root/.local/share/virtualenvs/mirobot-hMx_wb_i/lib/python3.5/site-packages/click/core.py", line 697, in main
rv = self.invoke(ctx)
File "/root/.local/share/virtualenvs/mirobot-hMx_wb_i/lib/python3.5/site-packages/click/core.py", line 1066, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/root/.local/share/virtualenvs/mirobot-hMx_wb_i/lib/python3.5/site-packages/click/core.py", line 895, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/root/.local/share/virtualenvs/mirobot-hMx_wb_i/lib/python3.5/site-packages/click/core.py", line 535, in invoke
return callback(*args, **kwargs)
File "/root/.local/share/virtualenvs/mirobot-hMx_wb_i/lib/python3.5/site-packages/click/decorators.py", line 64, in new_func
return ctx.invoke(f, obj, *args[1:], **kwargs)
File "/root/.local/share/virtualenvs/mirobot-hMx_wb_i/lib/python3.5/site-packages/click/core.py", line 535, in invoke
return callback(*args, **kwargs)
File "/root/.local/share/virtualenvs/mirobot-hMx_wb_i/lib/python3.5/site-packages/miio/vacuum_cli.py", line 116, in status
res = vac.status()
File "/root/.local/share/virtualenvs/mirobot-hMx_wb_i/lib/python3.5/site-packages/miio/vacuum.py", line 107, in status
return VacuumStatus(self.send("get_status")[0])
File "/root/.local/share/virtualenvs/mirobot-hMx_wb_i/lib/python3.5/site-packages/miio/device.py", line 255, in send
return self.send(command, parameters, retry_count - 1)
File "/root/.local/share/virtualenvs/mirobot-hMx_wb_i/lib/python3.5/site-packages/miio/device.py", line 255, in send
return self.send(command, parameters, retry_count - 1)
File "/root/.local/share/virtualenvs/mirobot-hMx_wb_i/lib/python3.5/site-packages/miio/device.py", line 255, in send
return self.send(command, parameters, retry_count - 1)
File "/root/.local/share/virtualenvs/mirobot-hMx_wb_i/lib/python3.5/site-packages/miio/device.py", line 256, in send
raise DeviceException from ex
miio.device.DeviceException


Сообщение отредактировал zeussk - 06.01.18, 19:01



Реп: (33)
* zeussk,
Этим способом получить токен можно только если сделан сброс ви-фи на роботе, и компьютер подключен к открытой сети робота по ви-фи.



Реп: (80)
Ивaныч @ 06.01.18, 21:31 *
Этим способом получить токен можно только если сделан сброс ви-фи на роботе, и компьютер подключен к открытой сети робота по ви-фи.

Спасибо, буду знать. Получил токен через MiToolkit и прошил Максима... так как жена назвала его Иннкентием :lol:



Реп: (34)
Всем привет, народ, поставил себе на виртуалку debian правда 8.2, проделал первые пункты и упёрся на команде pipnv пишет команда не найдена, может это из-за того, что версия debian не та, или еще чего. Просто c Linux особо не сталкивался

Прикрепленные изображения
Прикрепленное изображение



Реп: (43)
забавная вещь, хочу при уборке играть мелкому "Бурёнку Дашу". 25 песен ужалось до 50 Мб, куда бы это добро запихнуть чтобы не стримить каждый раз? А то робот часто выходит за пределы домашнего wifi.

cleaner@rockrobo:/tmp$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/root 494M 393M 76M 84% /
devtmpfs 202M 4.0K 202M 1% /dev
none 4.0K 0 4.0K 0% /sys/fs/cgroup
tmpfs 30M 4.0K 30M 1% /tmp
none 50M 236K 50M 1% /run
none 5.0M 0 5.0M 0% /run/lock
tmpfs 100M 4.2M 96M 5% /run/shm
none 100M 0 100M 0% /run/user
/dev/mmcblk0p1 1.6G 869M 646M 58% /mnt/data
/dev/mmcblk0p10 494M 231M 239M 50% /mnt/updbuf
/dev/mmcblk0p11 16M 1.3M 14M 9% /mnt/reserve
/dev/mmcblk0p6 16M 1.2M 14M 8% /mnt/default



Реп: (56)
* mp3sova, можно положить в /mnt/updbuf, но он затирается при обновлении, а другого подходящего места на роботе нет а кстати, в /mnt/data же еще полно свободного места

Сообщение отредактировал tmr - 06.01.18, 20:23



Реп: (80)
А как вы попадаете в файловую систему пылика?
Не вижу этого в инструкциях (



Реп: (33)
* tmr,
* mp3sova,
Зачем такие сложности? Кидаете музыку в VLC плеер раздаёте её по своей локальной сети. Далее либо с той же виртуалки или из шиновд через путти подключаетесь по ssh ставите на работа mplayer и вещаете в него всё что угодно.



Реп: (56)
* Ивaныч,
Ивaныч @ 06.01.18, 22:29 *
...А то робот часто выходит за пределы домашнего wifi.



Реп: (43)
Ивaныч @ 06.01.18, 22:29 *
Зачем такие сложности? Кидаете музыку в VLC плеер раздаёте её по своей локальной сети. Далее либо с той же виртуалки или из шиновд через путти подключаетесь по ssh ставите на работа mplayer и вещаете в него всё что угодно.

ответ в самом вопросе. Дома нет бесшовного wifi, робот подключен к первому роутеру рядом с его базой, который покрывает около 50% площади квартиры.

Закинул в mnt/data - завтра потестю. Ещё бы всё это автоматизировать, чтобы по шеллу не лазить каждую уборку)



Реп: (122)
* migmamakov, а почему вы первый пункт инструкции пропустили?

#apt-get install python-setuptools git python3 python3-dev build-essential
#easy_install pip
#pip install pipenv



Реп: (33)
* zeussk, поскольку в роботе установлена операционная система Ubuntu то следует начать с её изучения, тут про это не будут рассказывать, тема не об этом.



Реп: (7)
Вполне все работает и с openSUSE Leap 42.2. Стоит в качестве второй системы на ноуте.
Пакеты в основном все нужные были. Что то доустановил при помощи yast.
Начиная с команды
#pip install pipenv
Все прошло строго по инструкции.
Возникли 2 ньюанса.
-Пришлось временно отключить встроенный брадмауер open SUSE, т. к. он блокировал вход на развёрнутый локальный сервер. Проверял через попытку входа на сервер с планшета.
- при закачке пакета говорилки при помощи wget файл получил почему то расширение .pkgwget. Поправил.
Команды
alias python=python3
pipenv shell --three
pip install git+https://github.com/rytilahti/python-miio
нужно повторять после перезагрузки компа (выхода из терминала)?

Сообщение отредактировал Suchov - 07.01.18, 00:01



Реп: (1152)
Suchov @ 06.01.2018, 23:57 *
Команды
alias python=python3
pipenv shell --three
pip install git+https://github.com/rytilahti/python-miio
нужно повторять после перезагрузки компа (выхода из терминала)?

Совершенно верно. В целом miio поставить вне pipenv shell, тогда он будет установлен всегда, но я решил в инструкции не «засерать» компьютеры пользователей и оставил miio внутри виртуальной среды.



Реп: (1152)
zeussk @ 06.01.2018, 22:18 *
А как вы попадаете в файловую систему пылика?
Не вижу этого в инструкциях (

Для этого ставится рутованная прошивка, а дальше ssh и вперед. Если не знаете что такое ssh, то в интернете инструкций великое множество. Подсказка: putty, kitty, winscp



Реп: (34)
xxxtaz @ 06.01.18, 12:14 *
migmamakov, а почему вы первый пункт инструкции пропустили?

Да выполнял я и первый пункт и команда проходила, и Python установлен но pipenv и pip чего-то не идет o.O.

Прикрепленные изображения
Прикрепленное изображение
Прикрепленное изображение


Сообщение отредактировал migmamakov - 07.01.18, 09:27



Реп: (16)
* migmamakov, тоже застрял на этом пункте, если разберетесь подскажите что не так



Реп: (122)
* migmamakov,
# перед командами уберите, они у вас не выполняются


Полная версия   Текстовая версия

Помощь   Правила

Сейчас: 29.02.24, 08:50