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



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



Реп: (82)
* .//Hack,
.//Hack @ 29.11.18, 04:47 *
И что Вас смущает?
Что 1780 до сих пор не прилетело на девайс :) Или это кастомная версия?



Реп: (1148)
* The_Immortal,
Это все стоки, как и написано в шапке. Обновления некоторым приходят и с задержкой в пол года. Почему? Все вопросы к китайцам и их логике рассылки обновлений.



Реп: (0)
* djqpro,
У меня тоже не обновляет... Кажет 0% и всё



Реп: (82)
При вызове win-mirobo.bat вылазит ошибка о том, что отсутствует php5.dll. По ошибке ничего в теме не нашел. Кто-нибудь может скинуть?

P.S. WIN7 x64.

Сообщение отредактировал The_Immortal - 30.11.18, 00:03



Реп: (1148)
* The_Immortal, точно все скачали верно? Пробелов в пути нет?



Реп: (82)
* .//Hack, качал отсюда (win-mirobo-1.1.0.zip). Распаковал, заменил в firmware прошивку (хотя до нее ещё дело не дошло). Путь такой:
c:\win-mirobo\win-mirobo.bat
Запускаю от Админа.


UPD. В общем, если кто столкнется с php5.dll ошибкой, то качаем вот это (VC11 x64 Thread Safe), берем оттуда php5ts.dll, переименовываем в php5.dll и отправляем в \environment\php\. Подробнее.

P.S. Ну а вообще PHP 5.4.45 можно было бы и обновить, наверное.


UPD2. Эх, не везет мне с этой китайщиной:
Update firmware: failed
Проблема с коннектом, говорите? Сидим за NAT'ом, фаерволлов сторонних нету, системный включал (настраивал)/выключал - никакого эффекта...
В логах проскакивает
[app_url] => http://192.168.0.103:65000/firmwares/v11_001780_root.pkg
Однако по данному урл я обратиться в какой-либо момент времени запуска скрипта не могу. Хотя может просто не попадаю вовремя?

А дальше в логах идет вот такое:
RESPONSE : Array
(
[header] => 2131
[length] => 64
[zeroes] => 00000000
[type] => 05c3
[serial] => 9eb4
[timestamp] => 1543552693
[checksum] => 7a4d200a0ac68f030f30147601a197f1
[result] => ok
)

REQUEST : HANDSHAKE
RESPONSE : Array
(
[header] => 2131
[length] => 32
[zeroes] => 00000000
[type] => 05c3
[serial] => 9eb4
[timestamp] => 1543552694
[checksum] => ffffffffffffffffffffffffffffffff
[result] => 1
)

REQUEST : Array
(
[method] => miIO.get_ota_state
[params] =>
[id] => -997821
)
RESPONSE : Array
(
[header] => 2131
[length] => 80
[zeroes] => 00000000
[type] => 05c3
[serial] => 9eb4
[timestamp] => 1543552694
[checksum] => 26058a2c68630d998beba7bc7763ef97
[result] => downloading
)

REQUEST : HANDSHAKE
RESPONSE : Array
(
[header] => 2131
[length] => 32
[zeroes] => 00000000
[type] => 05c3
[serial] => 9eb4
[timestamp] => 1543552694
[checksum] => ffffffffffffffffffffffffffffffff
[result] => 1
)

REQUEST : Array
(
[method] => miIO.get_ota_state
[params] =>
[id] => -997820
)
RESPONSE : Array
(
[header] => 2131
[length] => 80
[zeroes] => 00000000
[type] => 05c3
[serial] => 9eb4
[timestamp] => 1543552694
[checksum] => 5d05c451459f99395ca4140eca44c3bb
[result] => downloading
)

REQUEST : HANDSHAKE
RESPONSE : Array
(
[header] => 2131
[length] => 32
[zeroes] => 00000000
[type] => 05c3
[serial] => 9eb4
[timestamp] => 1543552695
[checksum] => ffffffffffffffffffffffffffffffff
[result] => 1
)

REQUEST : Array
(
[method] => miIO.get_ota_state
[params] =>
[id] => -997819
)
RESPONSE : Array
(
[header] => 2131
[length] => 80
[zeroes] => 00000000
[type] => 05c3
[serial] => 9eb4
[timestamp] => 1543552695
[checksum] => a3a880b7d7621fa764ce9d66d904e29c
[result] => failed
)
Т.е. вроде как выгрузка прошивки начинается (?), но потом сразу прерывается по неведомым причинам.

А до разработчиков как-то можно достучаться, дабы узнать как это дело отдебажить корректно? Ну, скажем, ту же прошивку http://192.168.0.103:6…es/v11_001780_root.pkg можно ли искусственно представить для аплоада, чтобы убедиться, что скачка с хоста возможна?

Любопытно, решил токен получить напрямую с БД (на всякий случай свериться), MiHome от vevs:
sqlite> select localIP,token from devicerecord;
192.168.0.107|
Через MiToolkit аналогичная картинка:
roborock.vacuum.s5 - Roborock Vacuum - - 192.168.0.107
Ну да ладно, я не первый тут с подобной траблой (правда, объяснений по этому поводу я так и не обнаружил за исключением "ерундового").
Меня бы скрипт, наверное, не пустил бы на процесс прошивки, если бы токен я неверно ввел, да?

Сообщение отредактировал The_Immortal - 30.11.18, 08:54



Реп: (1148)
Причина банальна: приложение дает роботу команду забрать прошивку и начать обновление. Тут робот пытается обратиться по адресу, а у него ничего не выходит. Компьютер блокирует входящее подключение. Попробуйте с мобильника обратиться по адресу, который передает приложение роботу. Если не смогли зайти, значит 90% виновата настройка компа и 10% роутер. Например, на Xiaomi Mi Router это частная проблема. Он как-то блокирует трафик. Уже 3 человека отписывались, как только они подключались через другой роутер или напрямую к роботу, то сразу все прошивалось.

А на счет dll странно, он там должен должен изначально. Без него ни у кого не работало бы. Может архив битым скачался и не распаковался как надо?

На счет ерундового в моем высказывании? Человек говорит, что токены заблокировали в новых прошивках, что ерунда полная. И типа все ппц, больше никаких прошивок и получений токенов. Единственное, что они сделали - это убрали хранение токена в памяти приложения, а получают его с китайских серверов, но для нас это абсолютно не проблема. Только это касается именно приложения, а не прошивок.

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



Реп: (82)
* .//Hack,
.//Hack @ 01.12.18, 02:23 *
А на счет dll странно, он там должен должен изначально. Без него ни у кого не работают бы. Может архив битым скачался и не распаковался как надо?
Ну Вы сами можете скачать архив и убедиться, что требуемого на моей ОС php5.dll там нет :) Другой вопрос почему именно на моей ОС запросилась эта либа - тут не ясно.

.//Hack @ 1.12.18, 2:23 *
Уже 3 человека отписывались, как только они подключались ... напрямую к роботу
Это как так "напрямую"?

.//Hack @ 1.12.18, 2:23 *
Попробуйте с мобильника обратиться по адресу, который передает приложение роботу.
Да для начала хотелось бы вообще с самого хоста скачать прошивку по тому адресу. В связи с этим я выше и спрашивал:
The_Immortal @ 30.11.18, 1:42 *
http://192.168.0.103:6…1_001780_root.pkg можно ли искусственно представить для аплоада, чтобы убедиться, что скачка с хоста возможна?
Как это сделать? Я просто в коде не разбираюсь и не могу понять в какой момент времени происходит расшаривание прошивки и последующее закрытие соединения, чтобы выдрать этот кусок кода.

Сообщение отредактировал The_Immortal - 01.12.18, 12:55



Реп: (1148)
The_Immortal @ 01.12.18, 12:27 *
Это как так "напрямую"?

При сбросе Wi-Fi робот становится точкой доступа. Подключаемся к нему напрямую и делаем все манипуляции.
The_Immortal @ 01.12.18, 12:27 *
Как это сделать? Я просто в коде не разбираюсь и не могу понять в какой момент времени происходит расшаривание прошивки и последующее закрытие соединения, чтобы выдрать этот кусок кода.

Сервер поднимается в момент запуска программы. Вы можете скормить роботу прошивку прям с моего дропбокса, подменив адрес на https://www.dropbox.co…1_001780_root.pkg?dl=1 в файле /environment/php-mirobo/mirobo.php cтрока 358. Было:
if($result=$this->device->firmware_install("{$this->webserver->url}/firmwares/$name",md5_file($firmware))) {

Стало:
if($result=$this->device->firmware_install("https://www.dropbox.com/s/tb9z10gu0xetdpq/v11_001780_root.pkg?dl=1", "cd4bb2b216d0d42cc812c4ee390b7bbe")) {



Реп: (1148)
The_Immortal @ 01.12.18, 12:27 *
Ну Вы сами можете скачать архив и убедиться, что требуемого на моей ОС php5.dll там нет :) Другой вопрос почему именно на моей ОС запросилась эта либа - тут не ясно.

Да, там этого файла нет, там файл php5ts.dll (его и можно было переименовать, а не качать заново такой же файл и переименовывать). Почему Вас запросил именно php5.dll, я не знаю.

Сообщение отредактировал .//Hack - 01.12.18, 14:15



Реп: (82)
* .//Hack,
.//Hack @ 01.12.18, 13:45 *
Да, там этого файла нет, там файл php5ts.dll (его и можно было переименовать, а не качать заново такой же файл и переименовывать).
Я первым делом его переименовал, но при запуске получили сразу пакет ошибок по необнаруженным функциям, поэтому скачал либу поновее и уже её переименовал.

.//Hack @ 01.12.18, 13:37 *
Сервер поднимается в момент запуска программы
Так... А как проверить на компе что веб-сервер вообще поднялся? Также любопытно почему урл у меня в логах выводится вот таким "[app_url] => 192.168.0.103:65000/firmwares/v11_001780_root.pkg", когда в mirobo.php прописано:
function webserver_start() {
$this->write("Starting webserver...");
usleep($this->delay);
$this->webserver = new stdClass();
$this->webserver->ip = $this->client_ip;
$this->webserver->port = 64999;
Т.е. порт в коде 64999, а в логе 65000. Так и должно быть?

.//Hack @ 01.12.18, 13:37 *
Вы можете скормить роботу прошивку прям с моего дропбокса
Пока возможности такой инет, ибо доступа в Инет нема на месте с роботом...

Сообщение отредактировал The_Immortal - 01.12.18, 15:42



Реп: (0)
Добрый вечер,не могу нигде достать токен.
через Mitoolkit - показывает только название и айпи адрес
Через рут на телефоне папки ксиоми пустая
через разные версии приложения mi home от vevs тоже не показывает токен.(регионы меняла)
Что я делаю не так? o.O

Сообщение отредактировал mariasol7 - 01.12.18, 14:34



Реп: (6)
* mariasol7, версию МиХоума, которую минимальную брали? должно быть меньше 5.0.19. Кстати можно и оригинальную.
Я брал 5.0.9 и вытягивал sqlite базу, с бэкапа по этой инструкции - Xiaomi Mi Robot Vacuum - Прошивка и языковые пакеты



Реп: (4)
mariasol7 @ 01.12.18, 14:31 *

mi home от vevs пылесос видит? Управляет им?



Реп: (1148)
The_Immortal @ 01.12.18, 14:30 *
А как проверить на компе что веб-сервер вообще поднялся?

Зайти в браузере по этому адресу. Например:
http://192.168.0.103:65000/win-mirobo.ini



Реп: (82)
The_Immortal @ 1.12.18, 14:30 *
порт в коде 64999, а в логе 65000. Так и должно быть?
А что по поводу этого?

.//Hack @ 1.12.18, 18:48 *
Зайти в браузере по этому адресу. Например:
Файл ini скачался. Иду далее: выбираю в скрипте firmware, указываю прошивку, Sending - OK, Updating - failed. Не закрывая скрипт, в браузере компа пытаюсь обратиться по адресу: 192.168.0.103:65000/firmwares/v11_001780_root.pkg,
Но такой урл браузер не видит... Почему? Т.е. файл прошивки похоже вообще не расшаривается на ПК.

Сообщение отредактировал The_Immortal - 01.12.18, 20:27



Реп: (1148)
The_Immortal @ 01.12.18, 20:23 *
А что по поводу этого?

В данном случае это нормально
The_Immortal @ 01.12.18, 20:23 *
Не закрывая скрипт, в браузере компа пытаюсь обратиться по адресу: 192.168.0.103:65000/firmwares/v11_001780_root.pkg

То есть ini-файл скачивает, но тут же если попробовать обратиться к прошивке, то не видит? Очень странно
Могу посоветовать кинуть копию прошивки в корень и жестко прописать адрес к ней, как я указывал ранее.



Реп: (1)
cr_az @ 20.01.18, 20:52 *
Сделал украинскую озвучку "Софія" uk_sofiia.pkg.zip ( 17,14 МБ )
, озвучили на студии - звучит приятно.
Добавьте в шапку, плз.

Добавить - добавили, а проверить контент видимо не пьітались. Там в zip лежит pkg которьій распаковать невозможно, на windows так точно.



Реп: (1148)
* Hexxx,
А Вы, видимо, даже не старались читать.... pkg и надо заливать в робота.

Сообщение отредактировал .//Hack - 02.12.18, 14:56



Реп: (35)
* Hexxx, все отлично работает и заливается. Сам пользуюсь. Жаль автор не захотел немного доделать


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

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

Сейчас: 07.12.23, 15:32