Андрей Смирнов
Время чтения: ~10 мин.
Просмотров: 41

О том как прошить робот пылесос xiaomi mi robot vacuum — пошаговая инструкция от А до Я

Технологии не стоят на месте, с каждым годом появляются новые, полезные гаджеты, которые облегчают нашу жизнь. Самым интересным и полезным в этом году для меня стал робот пылесос Xiaomi Mi Robot Vacuum Cleaner первого поколения, цена на который немного упала к концу 2019 года. Я долго решался с покупкой, но все такие решился и купил, скажу сразу о покупке не жалею, все свои основные функции робот выполняет хорошо, есть конечно небольшие минусы, но об этом немного позже. А сегодня я поделюсь с Вами подробной и понятной инструкцией по установке различных, русских голосовых пакетов, как с помощью телефона Android так с помощью компьютера под управлением операционной системой Windows.  Данная инструкция подойдет для первого поколения и для второго. Начнем с того, что в первой версии Xiaomi Mi Robot Vacuum Cleaner из коробки нет русского официального языка, но это не трудно исправить. После того, как Вы достали пылесос из коробки я посоветую Вам поставить на док станцию для зарядки так, как если заряда меньше 20% языковой пакет не установится. Как только пылесос зарядился, то можем начать установку голосового пакета, у нас есть несколько вариантов для этого, мы начнем с самого легкого.

Установка русского голосового пакета с помощью телефона(Android)

Вариант с автоматическим определением ip адреса и получением токена.

Токен — уникальный идентификатор робота пылесоса(после сброса настроек wifi изменяется).

    • Скачиваем и устанавливаем на телефон программу XVacuum Firmware 3.3.0
    • Скачиваем для примера официальный русский язык ru_official и распаковываем из архива, в результате на телефоне должен находится файл с расширением .pkg
    • Зажимаем на пылесосе две кнопки на несколько секунд пока не прозвучит фраза о сбросе настроек Wifi(скорее всего будет на китайском языке)
  • Зажимаем две кнопки для сброса настроек wifi
    • Далее на телефоне желательно отключить мобильный интернет и включить wifi, в списке доступных сетей у нас должна появиться сеть от нашего робота к которой нам и необходимо подключиться.
  • Подключаемся к wifi сети от робота пылесоса
    • Теперь запускам программу Xvacuum Firmware, выбираем Flash Sound

Xvacuum Firmware нажимаем на кнопку Flash Sound

  • Выбираем голосовой пакет, который перед этим извлекали из архива на телефоне.
Выбираем голосовой пакет, который скачали ранее
  • Ждем завершения процесса установки.
Установка голосового пакета

Вариант с ручным прописанием ip адреса и токена

  • Скачиваем и устанавливаем XVacuum Firmware 3.3.0 если еще не установили
  • Потребуется установить на телефон модифицированный Mi Home vevs,  через который можно посмотреть ip адрес и токен, если до этого использовали MiHome из PlayMarket, то его необходимо будет его удалить.
  • Скачиваем официальный русский языковой пакет ru_official  и извлекаем его из архива, файл должен быть в формате .pkg
  • Открываем модифицированный MiHome, добавляем наш пылесос в приложение, нажимаем на него, перед нами откроется карта с помещением и информацией о заряде и предыдущей уборке, нас интересуют три точки в правом верхнем углу — нажимаем на них и выбираем общие настройки -> дополнительные настройки -> информация о сети и видим IP-адрес нашего пылесоса и его токен. Токен выделяем и копируем, а IP-адрес запоминаем
Смотрим в mi home от vevs ip-адрес и токен
  • Открываем приложение Xvacuum Firmware и нажимаем натри горизонтальных  полосы в правом верхнем углу, перед нами откроется меню в котором выбираем Settings,
  • В поле IP вписываем IP-адрес нашего роутера, который запоминали на предыдущем шаге, а в поле Token вставляем Token скопированный с модифицированного приложения Mi Home и нажимаем на кнопку Save
  • Перезапускам приложение Xvacuum Firmware
  • У нас должны стать активными кнопки FLASH FIRMWARE и FLASH SOUND, сейчас нас будет интересовать кнопка FLASH SOUND нажимаем на нее

Xvacuum Firmware нажимаем на кнопку Flash Sound

  • Далее нам необходимо выбрать распакованный языковой пакет в формате .pkg, который был извлечен из архива ранее на телефоне.
  • Ждем окончания прошивки, на этом установка языкового пакета завершена.

Установка русского голосового пакета с помощью компьютера с операционной системой Windows (win-miribot)

  • Ставим пылесос на док станцию для зарядки, заряда должно быть не менее 20%, в противном случае прошить языковой пакет не удастся.
  • Узнаем IP-адрес робота и токен, проще всего через модифицированный MiHome, процесс получения IP-адреса и токена описан немного выше, в 4 пункте.
  • Теперь нам необходимо скачать win-mirobo-1.1.0-min  на компьютер и распаковать архив
  • Открыть блокнотом файл win-mirobo.ini и ввести свой IP-адрес и токен, обязательно сохраняем файл после изменения.
Вводим свой ip адрес и токен в файл win mirobo.ini
  • Скачивание необходимый голосовой пакет и помещаем его в папку voicepacks. Голосовой пакет может быть, как в формате .pkg так и папка с файлами в формате wav (по умолчанию в папке лежит официальный русский голосовой пакет).
  • Запускаем файл win-mirobo.bat
  • Если все сделали правильно, то увидим на экране под пунктом два надпись Flash voice package, для ее выбора нам необходимо ввести с клавиатуры цифру 2 и нажать на enter
  • Далее у нас должны отобразиться доступные голосовые пакеты, те которые вы поместили в папку voicepacks, каждый будет под определенным номером, поэтому вводим с клавиатуры необходимый номер и нажимаем на кнопку enter
  • Ждем около минуты, пока установится голосовой пакет.
  • Установка голосового пакета завершена.

Хочу подвести небольшой итог, сегодня мы с Вами рассмотрели несколько различных способов по установке голосового пакета на робот пылесос от фирмы Xiaomi, как видим установить голосовой пакет очень легко, с этим справится даже не подготовленный пользователь. В статье старался все подробно описать и показать на скриншотах, все выше описанные способы были протестировать лично мной, всё прошло без каких либо проблем, после проделанных манипуляций мой робот пылесос стал говорить на понятном мне языке. Попробовал много различных озвучек и сделал для себя небольшой вывод, что самая подходящая для меня озвучка — это официальная русская, конечно можно установить любую другую, существует множество разных, выбирать только Вам. Спасибо за внимание, кому не сложно прошу оценить мои старания с помощью нашего рейтинга на сайте и поделиться записью с друзьями в социальных сетях. Помогите стать нам немного популярнее. Если у Вас возникли вопросы задавайте их в комментариях. Надеюсь кому-то из Вас помог.

</figcaption></figcaption>

  • Tutorial

c1fcnupqwl5mqy-4aocsu0i2z8g.jpeg

Приветствую!

Есть такая замечательная библиотека python-miio, позволяющая управлять многими гаджетами Xiaomi: пылесосом, очистителем/увлажнителем воздуха, лампами и тд. В процессе чтения документации я наткнулся на в целом бесполезную, но занятную возможность заменить стандартную озвучку робота-пылесоса на свою. А поскольку на Гиктаймс мне доселе ничего подобного не попадалось, и бытовые гаджеты Xiaomi пользуются популярностью, я решил, что возможно описание процесса окажется для кого-то полезным.

0. python-miio

Начинается все с библиотеки. Как минимум она хороша тем, что позволяет отказаться от проприетарного приложения Xiaomi и вообще закрыть IoT гаджетам доступ в интернет, ограничившись изолированной локалкой. Помимо Python 3 для установки потребуются libffi-dev libssl-dev и ccrypt. Выполняем:

pip3 install -U setuptools pip3 install python-miio

На маке и Debian (Raspberry Pi) больше никаких зависимостей не потребовалось.

1. Токены устройств

Для общения с девайсами Xiaomi нужно получить токены устройств (в данном случае пылесоса), это, пожалуй, самая унылая часть. Если привязываться к приложению Xiaomi нет необходимости (python-miio позволяет настроить wi-fi и расписание без участия MiHome, однако, посмотреть карту например возможности нет), то есть легкий способ:

  • сбрасываем настройки Wi-Fi одновременным нажатием двух кнопок на роботе
  • подключаемся к создаваемой пылесосом точке доступа
  • выполняем
    mirobo discover --handshake 1

    и получаем ip и token

  • далее можно настроить Wi-Fi
    mirobo configure_wifi  <passw>

    и тд, см mirobo --help

Если же нужны дополнительные фишки и без официального приложения MiHome, никак, то ставим его, регистрируемся, добавляем пылесос штатным образом, затем в случае iOS:

  • делаем незашифрованный бэкап через iTunes
  • открываем бэкап с помощью iBackup Viewer (софтина платная, но нашим целям ограничения бесплатной версии не помешают), в нем выбираем просмотр файловой системы (raw files) и ищем приложение Xiaomi MiHome (com.xiaomi.mihome). Извлекаем один файл с названием <цифры>_mihome.sqlite
  • полученную БД открываем, например, DB Browser for SQLite. Оттуда можно извлечь параметры для всех устройств, в частности нужный нам токен (поле ZTOKEN).
  • далее открываем Терминал и выполняем
    echo '0: <извлеченный_токен>' | xxd -r -p | openssl enc -d -aes-128-ecb -nopad -nosalt -K 00000000000000000000000000000000

в случае Android:Понадобится adb. Делаем бэкап базы

adb backup -noapk com.xiaomi.smarthome -f backup.ab

с помощью ADB Backup Extractor извлекаем содержимое

java -jar Android Backup Utilities/Android Backup Extractor/android-backup-extractor-20171005-bin/abe.jar unpack backup.ab unpacked.tar

и распаковываем

tar -xvf unpacked.tar

из полученной БД с помощью, например, DB Browser for SQLite извлекаем нужный нам токен (поле ZTOKEN). Вместо просмотра полученных баз вручную, можно воспользоваться инструментом из библиотеки python-miio, должно работать с базами и с Android и с iOS:

miio-extract-tokens <файл_бд>

Самая скучная часть позади, впереди часть творческая.

2. Озвучка

Я воспользовался готовым скриптом. Клонируем к себе, понадобится только папка dustcloud/devices/xiaomi.vacuum/audio_generator. Отредактируем скрипт generate_audio.py. Я все проделывал на Маке и, соответственно, использовал его генератор речи, но понадобилось внести пару правок:

84.  os.system("say -v <голос> -o " + path + " --data-format=LEI16@22050 " + text)

С голосом все просто, выбираете тот, какой нравится (весь список можно посмотреть, набрав в Терминале)

say -v ?

Я поставил русский голос Milena. Обратите внимание на параметр —data-format, в оригинальном скрипте автор использует LEF32@22050, но у меня при таком атрибуте робот выдавал тишину. Глянув вывод ffmpeg, я увидел, что в оригинальной озвучке используется pcm_s16le, поэтому я сменил в скрипте параметр на LEI16, после чего все заработало. У меня первое поколение пылесоса, возможно на втором другой формат звуковых файлов, тем не менее, если робот молчит, рекомендую в первую очередь убедиться, что звуковые файлы имеют одинаковые параметры. Поправив скрипт, идем в ./language, где хранятся списки фраз. Дублируем любую, переименовываем в audio_ru.csv и правим как душе угодно. После запускаем скрипт

./generate_audio.py

выбрав в интерактивном режиме наш файл с фразами (audio_ru.csv) и tts-движок. На выходе получим файл ru.pkg, который нужно залить на пылесос командой

mirobo install_sound ./ru.pkg

предварительно выполнив

export MIROBO_TOKEN=<токен>

и

export MIROBO_IP=<ip>

3. Задел на будущее В принципе, все вышеописанное есть в документации к библиотеке python-miio, но, надеюсь, данный мини-мануал все же кому-нибудь пригодится) Пользуясь случаем, хочу спросить: интересна ли будет еще одна статья по «умному» дому? Дело в том, что я уже достаточно долгое время выстраиваю домашнюю экосистему на основе девайсов от Xiaomi и Philips, но без фирменных приложений, всем рулит Home Assistant. Занятие это вполне себе бесконечное, однако на данный момент система пришла к более-менее стабильному виду. С одной стороны, на Geektimes полно подобных статей, с другой – я бы хотел больший упор сделать на опыт эксплуатации, косяки и ошибки, с которыми столкнулся. Возможно мой опыт уберег бы кого-то от таких же граблей, или подкинул новых идей.UPD. Добавил опробованный способ получения токена без привязки к MiHome.

Нужна ли еще одна статья про «умный» дом?

  • 88,0%Да
  • 12,0%Нет, их и так уже овер9000

Проголосовали 209 пользователей. Воздержались 39 пользователей.

Для этого нам необходим компьютер на базе Windows (желательно 10 версии), смартфон на Android и сам пылесос.  Важно! Данная инструкция подходит исключительно для робот-пылесоса Xiaomi Roborock Sweep One.

  • Устанавливаем кастомное приложение “Mi Home”. Если на смартфоне есть эта программа – то необходимо ее удалить и заменить на версию, которую мы предлагаем;
  • Проходим регистрацию, выбираем китайский/южнокорейский регион (зависит от версии пылесоса китайский или глобальный) и синхронизируем пылесос со смартфоном;

623f791376b35be249c45bdd8fbf4781.png

  • Заходим во вкладку с пылесосом;
  • Кликаем на три точки в правом верхнем углу и выбираем “General Settings”;
  • Нажимаем “Информация о сети”;
  • Запоминаем два параметра: IP адрес и токен;

f1d4d689961baffbb43e537e50d6e66c.png

  • Скачиваем архив на компьютер;
  • Открываем его и выбираем файлы «win-mirobo” с разрешениями “.ini”, и “.bat”;

e67513c25e7f08d9151fd9e115827f96.png

  • Открываем файл с расширением “.ini” и заменяем IP и токен на те, которые мы получили в приложении “Mi home”;
  • Сохраняем, выходим из файла и ставим пылесос на станцию зарядки (минимум — 20%);
  • Запускаем файл с расширением “.bat”. Соглашаемся со всеми запросами и ожидаем окончания загрузки консоли;
  • В консоли прописываем “1” и кликаем “Еnter”;
  • Повторяем предыдущее действие;

b022f062ac2858eb2fc94b393a344c8d.jpg

  • Ожидаем окончания процесса прошивки Xiaomi Mi Robot Vacuum;

6b5e41b22e171edfac2574700679491d.jpg

  • Добавляем русский язык;
  • Запускаем файл “win-mirobo” с расширением “.bat”;
  • Вводим “2” и нажимаем “Enter”;
  • Вводим цифру одного из языковых пакетов, например 4, кликаем “Enter”;

64fc66e4fe7302f77a1330e6334333d7.jpg

Варианты озвучки можно прослушать в папке “voicepacks”. После окончания прошивки пылесос заговорит на выбранном языке.

9726de3c103ac323532d951347cf5a38.png

Узнавайте новое вместе с Midusa.Ассортимент робот-пылесосов в каталоге…

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

Источник xistore.by

Используемые источники:

  • https://ninja-it.ru/xiaomi-mi-robot-vacuum-cleaner-ustanavlivaem-russkij-golosovoj-paket/
  • https://habr.com/post/371479/
  • https://krasnoperekopsk.midusa.ru/blog/sovety-pokupatelyam/kak-proshit-pylesos-xiaomi-roborock-na-russkiy-yazyk/

Рейтинг автора
5
Подборку подготовил
Максим Уваров
Наш эксперт
Написано статей
171
Ссылка на основную публикацию
Похожие публикации