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



Реп: (1153)
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
Причина редактирования: Обновлены ссылки на прошивки



Реп: (1153)
Языковые пакеты можно ставить на любую прошивку, независимо стоковая (оригинальная) она у вас или кастомная.

Вторая версия робота также прошивается по этой инструкции, только прошивки берутся для второй версии

Прошивки и языковые пакеты берем из шапки.

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

Инструкция по прошивке на примере Debian 8.7-9.3
# - означает, что команда должна быть выполнена от пользователя root
Чтоб выполнить команду от пользователя root, необходимо перед командой добавить sudo (в Debian может не быть по умолчанию). Например sudo apt-get ...., либо перейти полностью в режим рут с помощью команды su (sudo su в Ubuntu). После ввода команды система попросит рут-пароль.

Робот должен быть заряжен и стоять на док-станции.

Сначала тянем зависимости:
#apt-get install python3-setuptools git python3 python3-dev build-essential
#easy_install pip


Внимание! С недавнего времени для python-miio требуется минимум python 3.5. Поэтому обязательно проверьте версию через команду:
python -V

Если версия ниже 3.5, то обновитесь любым доступным способом для вашей ОС.

Чтоб все сделать чисто, создаем папку в домашнем каталоге и переходим в нее
mkdir ~/cleaner
cd ~/cleaner

В эту папку теперь скачиваем прошивку и/или говорилку. В данном случае v11_003132_root.pkg и ru_maxim_universal.pkg.zip

Для прошивки:
wget https://www.dropbox.com/s/6lzt29f354fx19c/v11_003194_root.pkg?dl=1 -O v11_003194_root.pkg


Для говорилки:
wget //4pda.to/forum/dl/post/12102361/ru_maxim_universal.pkg.zip -O ru_maxim_universal.pkg.zip


Качаем необходимое ПО и разворачиваем:
alias python=python3
pip install git+https://github.com/rytilahti/python-miio


Далее начинаем уже работу с пылесосом:
Если на компьютере есть Wi-Fi, то сбрасываем Wi-Fi удержанием обеих кнопок (выкл. и домой). Далее на компе появится новая открытая сеть rockrobo-XXXX. Подключаемся к ней.
Если на компьютере нет Wi-Fi или просто не хочется сбрасывать робота, то выполняем действия по этой инструкции, чтоб получить ip и токен и пропускаем следующую команду.

Эта команда найдет нам ip и токен, которые нам нужны будут в дальнейшем. Например, IP 192.168.8.1 (ID: 03xxxxx) - token: b'374643644a4e41333232755346305a79'. Токен берем только то, что в кавычках. Выполняем:
mirobo discover --handshake true


Далее набор команд:
mirobo --ip=192.168.8.1 --token=#токен# status


Если все сделали правильно, то отобразится информация с пылесоса о батарее, настройках и убранной территории.

Прошиваем прошивку:
mirobo --ip=192.168.8.1 --token=#токен# update-firmware v11_003194_root.pkg

Если прошивка пошла, то индикатор на роботе начнет часто мигать. Ожидаем окончания прошивки - мелодия включения

Логин и пароль по ssh cleaner. После логина можно поменять пароль на свой с помощью команды passwd

Прошиваем говорилку:
Если до этого прошивали прошивку при этом робот был в качестве точки доступа (роутера) (обязательно дождитесь окончания прошивки - мелодия включения, только потом продолжайте), то нужно снова "поздороваться" с роботом, чтоб получить новый токен (возможно заново нужно подключиться к его сети), иначе пропускаем этот шаг:
mirobo discover --handshake true


Говорилку надо распаковать:
unzip ru_maxim_universal.pkg.zip


mirobo --ip=192.168.8.1 --token=#токен# install-sound ru_maxim_universal.pkg


Если прошивка пошла, то индикатор на роботе начнет часто мигать (процесс занимает пару секунд, поэтому можно не уловить этот момент):


После того, как все успешно прошьется и запустится (а это около 10 минут, в процессе робот еще буркнет, что скачал прошивку и начинает процесс прошивки или пара секунд в случае прошивки говорилки), можно его использовать.

P.S. Можно все сделать под виртуалкой в VirtualBox, дополнительного нужно будет только в настройках виртуальной машины добавить сетевой адаптер с типом "Мост" с вашим Wi-Fi-адаптером и включить его внутри виртуальной ОС. Это для того, чтоб виртуалка видела пылесос, подключенный по Wi-Fi. Остальные интерфейсы лучше выключить перед «приветствием» (handshake)
Видео-инструкция


За звуковой пакет спасибо YurySh
А также огромное спасибо за гайды и подсказки по взаимодействию с роботом tmr

Сообщение отредактировал .//Hack - 24.11.19, 21:54
Причина редактирования: Теперь коменды установки update-firmware и install-sound



Реп: (3)
Если можно, для тех кто очень хочет, но не понимает о чем Вы говорите))) Видео-инструкцию!))) Можно даже без комментариев, просто чтоб мошинально повторить увиденное, и радоваться русской говорилке, и хвалить себя мол какой я теперь молодец и прям хакер)))



Реп: (1153)
Как самому сделать языковой пакет:

Берете файл
audio_ru.csv. За перевод спасибо КВинС

В нем указаны названия всех файлов и за что каждый из них отвечает
Далее переводите фразы на свой язык и любым удобным для вас способом озвучиваете: синтезатором голоса или сами. Файлы сохраняете в формате wav
Далее нам понадобится машина с Linux (лучше если Ubuntu или Debian) или MacOS

Нам понадобится установить утилиту шифрования от рут-пользователя (Linux):
#apt-get install ccrypt


MacOS:
Если не стоит brew, то установить:
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Далее поставить уже непосредственно сам ccrypt:
brew install ccrypt


Остальные шаги общие и для Linux, и для MacOS

В домашнем каталоге пользователя создаем нужные папки:
mkdir ~/cleaner
cd ~/cleaner
mkdir sound

Далее в папку ~/cleaner/sound переносим все свои файлы с озвучкой

Далее набор команд:
cd ./sound && tar -czf ../russian.pkg *.wav && cd ..
ccrypt -e -K "r0ckrobo#23456" russian.pkg
mv russian.pkg.cpt russian.pkg


Все, пакет готов, можно прошивать по инструкциям из шапки.

Сообщение отредактировал .//Hack - 24.05.19, 11:13



Реп: (50)
* .//Hack,
Добрый вечер, помогите пожалуйста, пытаюсь прошить по инструкции но ни чего не меняется
Прикрепленное изображение



Реп: (1153)
* Dbs80,
Робот часто мигать индикатором не стал? Так как судя по команде все пошло. Робот не ругается на низкий заряд батареи?

Сообщение отредактировал .//Hack - 04.01.18, 22:34



Реп: (50)
.//Hack @ 04.01.18, 22:33 *
Робот часто мигать индикатором не стал?

Стал, но в консоле ни чего больше не происходит. Как посмотреть актуальную установленную версию прошивки?

А если ставлю озвучку, то получается как на скрине:
Прикрепленное изображение



Реп: (1153)
* Krjak777,
Мне честно лень только монтировать видео, так как процессы по установке ПО займут 95% всего времени. А так бы без проблем снял видео.

Добавлено 04.01.2018, 22:41:

* Dbs80,
Если часто мигает, просто терпеливо ждите, пока робот не поприветствует вас мелодией включения. Судя по фото вы уже и звуки прошили. Посмотреть прошивку можно в MiHome, ну а звуки проверить, нажав на любую кнопку на роботе.



Реп: (3)
* .//Hack, давайте этот шаг пропустим, ютуб, я думаю, мне поможет,начните с момента: "Нужная нам ОС установлена..." )))



Реп: (50)
Krjak777 @ 04.01.18, 22:43 *
Если часто мигает, просто терпеливо ждите, пока робот не поприветствует вас мелодией включения. Судя по фото вы уже и звуки прошили. Посмотреть прошивку можно в MiHome, ну а звуки проверить, нажав на любую кнопку на роботе.

Пылесос при прошивке часто мигает не более 10 секунд, потом горит постоянно. Звуки остались на китайском, прошивка 3094 - чудеса( Прошивал ubuntu на win10, теперь попробую через виртуальную машину еще раз сделать.



Реп: (74)
интересно, а вот Gateway aka Шлюз можно п о такому же принцип прошить на русский язык?



Реп: (109)
.//Hack @ 04.01.18, 22:28 *
Файлы сохраняете в формате wav

А параметры кодека не важны?

Еще вопрос. Что, если одно событие накладывается на другое? Например, вместо "starting the cleaning" я запишу 3-минутную мелодию, а в этот момент произойдет еще что-нибудь типа ошибки или просто остановлю пылик и отправлю домой? Он прерывает предыдущую озвучку или пропускает новую?

Сообщение отредактировал Нечто - 04.01.18, 23:22



Реп: (1153)
* Нечто,
На счет разброса кодеков не знаю, не пробовал, но лучше придерживаться таких:
Format : Wave
File size : 364 KiB
Duration : 3 s 885 ms
Overall bit rate mode : Constant
Overall bit rate : 768 kb/s

Audio
Format : PCM
Format settings : Little / Signed
Codec ID : 1
Duration : 3 s 885 ms
Bit rate mode : Constant
Bit rate : 768 kb/s
Channel(s) : 1 channel
Sampling rate : 48.0 kHz
Bit depth : 16 bits
Stream size : 364 KiB (100%)


Нечто @ 04.01.18, 23:19 *
Он прерывает предыдущую озвучку или пропускает новую?

Прерывает предыдущую



Реп: (1153)
Добавил видео-инструкцию по прошивке. Язык. пакет ждать не стал, аналогично прошивается, только команду другую вставить надо



Реп: (133)
А можно ли как-то сделать проще - подменить в host file на рутере адрес где лежит какой-нибудь китайский звуковой пакет, на свой адрес, по которому лежит русский пак с именем файла как у китайского?
По-идее тогда установится русский пакет? Не проще ли так?



Реп: (1153)
* pavelbor,
Можно, но не всем это дано и не у всех роутеры позволяют подменять адреса. В итоге получится, что нифига не проще. Я вот на видео управился за 10 минут с учетом того, что бегал за базой и ставил его на базу. Ну еще минут 20 потратил на установку виртуалки



Реп: (1153)
* Dbs80,
Еще подумал, у Вас сервер точно запустился? Попробуйте в браузере набрать Ваш IP и порт 8000:

Должен появиться список файлов: прошивка и/или говорилка



Реп: (3)
* .//Hack, Спасибо, побратски "+" )))



Реп: (13)
* .//Hack, из-под терминала на андроиде нет возможности прошить русский язык?

Сообщение отредактировал Kletska - 05.01.18, 01:48



Реп: (1153)
* Kletska, если сможете установить miio, то можно. По сути андроид - тот же линукс. Но рут обязателен. В общем, завтра ради интереса попробую, если получится, то сделаю инструкцию.

Сообщение отредактировал .//Hack - 05.01.18, 01:58



Реп: (0)
А если в компьютере нет wifi, как программировать робота?


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

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

Сейчас: 28.03.24, 16:51