Руссифицируем Робот-пылесос Xiaomi Mijia LDS Robot Vacuum STYJ02YM

11 August
Руссифицируем Робот-пылесос Xiaomi Mijia LDS Robot Vacuum STYJ02YM

Для того что бы "обучить" данное устройство русскому нам понадобится: 1. Маленькая крестовая отвертка.
2. Кабель Micro-USB.
3. Загрузочная Флешка с Linux дистрибутивом или установленный Linux на ПК.
4. Желание всем этим заняться и прямые руки. =)

Загружаемся из под Linux. (я делал из под Kali linux или LinuxMint)

Скачиваем Языковой пакет для данной модели и распаковываем его в папку Downloads, чтобы mp3 лежали прямо в этой папке .

Берем отвертку и нашего робота-помощника, снимаем щетку и откручиваем 4 саморезика. Открываем крышку и ОБЯЗАТЕЛЬНО отключаем аккумулятор. Под ним находится Мicro-Usb порт. Подключаемся его к нашему ПК.

В папке Downloads создать файл без расширения "adb_shell" (без кавычек) с содержимым:
#!/bin/sh
export ENV='/etc/adb_profile'
exec /bin/sh "$@"

В папке Downloads открывает терминал "Open Terminal Here"
И устанавливаем нужные пакеты (ПК должен быть подключен к интернету) вводим команды:

sudo apt install adb
sudo apt install android-sdk-platform-tools

далее после установки пакетов вводим:

chmod 755 adb_shell
while true; do adb push -a adb_shell /bin/adb_shell | grep -v "no devices"; done

Пере подключаем пылесос к нашему ПК и должны увидеть:

adb_shell: 1 file pushed, 0 skipped. 0.0 MB/s (100 bytes in 0.033s)
adb_shell: 1 file pushed, 0 skipped. 0.0 MB/s (100 bytes in 0.033s)
adb_shell: 1 file pushed, 0 skipped. 0.0 MB/s (100 bytes in 0.033s)

Если не видим эти сообщения и слышим что пылесос на нас ругается словами "kanchi" отключаем кабель, ждем 2 - 3 секунды и подключаем снова.

Как появились сообщения: adb_shell: 1 file pushed, 0 skipped. 0.0 MB/s (100 bytes in 0.033s) ... нажимаем CTRL+C и вводим:

while true; do (adb shell rm /etc/rc.d/S90robotManager && echo "Done") 2>&1 | grep -v "no devices"; done

ждем...

появится DONE, все отлично и просто выдергиваем кабель на пару секунд и подключаем снова.

Удаляем китайский языковой пакет и копируем русский:

adb shell rm /usr/share/audio/mandarin/*
adb push 1sound_appoint_global_clean_start.mp3 /usr/share/audio/mandarin/
adb push 2sound_appoint_corner_clean_start.mp3 /usr/share/audio/mandarin/
adb push 3sound_appoint_area_clean_start.mp3 /usr/share/audio/mandarin/
adb push 4sound_appoint_mopping_clean_start.mp3 /usr/share/audio/mandarin/
adb push 5sound_appoint_area_mopping_start.mp3 /usr/share/audio/mandarin/
adb push 6sound_appoint_corner_mopping_start.mp3 /usr/share/audio/mandarin/
adb push 7sound_global_clean_start.mp3 /usr/share/audio/mandarin/
adb push 8sound_corner_clean_start.mp3 /usr/share/audio/mandarin/
adb push 9sound_area_clean_start.mp3 /usr/share/audio/mandarin/
adb push 10sound_point_clean_start.mp3 /usr/share/audio/mandarin/
adb push 11sound_mopping_clean_start.mp3 /usr/share/audio/mandarin/
adb push 12sound_corner_mopping_clean_start.mp3 /usr/share/audio/mandarin/
adb push 13sound_area_mopping_clean_start.mp3 /usr/share/audio/mandarin/
adb push 14sound_point_mopping_clean_start.mp3 /usr/share/audio/mandarin/
adb push 15sound_sweep_clean_finish_to_charging.mp3 /usr/share/audio/mandarin/
adb push 16sound_mopping_clean_finish_to_charging.mp3 /usr/share/audio/mandarin/
adb push 17sound_broken_charging_completed_to_sweep.mp3 /usr/share/audio/mandarin/
adb push 18sound_broken_charging_completed_to_mopping.mp3 /usr/share/audio/mandarin/
adb push 19sound_battery_low_to_charging.mp3 /usr/share/audio/mandarin/
adb push 20sound_long_move_to_clean.mp3 /usr/share/audio/mandarin/
adb push 21sound_continue_sweep_clean.mp3 /usr/share/audio/mandarin/
adb push 22sound_continue_mopping_clean.mp3 /usr/share/audio/mandarin/
adb push 23sound_pause_sweep_clean.mp3 /usr/share/audio/mandarin/
adb push 24sound_pause_mopping_clean.mp3 /usr/share/audio/mandarin/
adb push 25sound_reset_network_config.mp3 /usr/share/audio/mandarin/
adb push 26sound_charging_start.mp3 /usr/share/audio/mandarin/
adb push 27sound_go_charge.mp3 /usr/share/audio/mandarin/
adb push 28sound_stop_charge.mp3 /usr/share/audio/mandarin/
adb push 29sound_power_off.mp3 /usr/share/audio/mandarin/
adb push 30sound_power_on.mp3 /usr/share/audio/mandarin/
adb push 31sound_I_am_here.mp3 /usr/share/audio/mandarin/
adb push 32sound_dust_box_take_out.mp3 /usr/share/audio/mandarin/
adb push 33sound_dia_box_take_out.mp3 /usr/share/audio/mandarin/
adb push 34sound_water_box_take_out.mp3 /usr/share/audio/mandarin/
adb push 35sound_dust_box_installed.mp3 /usr/share/audio/mandarin/
adb push 36sound_dia_box_installed.mp3 /usr/share/audio/mandarin/
adb push 37sound_water_box_installed.mp3 /usr/share/audio/mandarin/
adb push 38sound_remove_mopping.mp3 /usr/share/audio/mandarin/
adb push 39sound_reset_factory_config.mp3 /usr/share/audio/mandarin/
adb push 40sound_reset_factory_config_starting.mp3 /usr/share/audio/mandarin/
adb push 41sound_reset_factory_config_failure.mp3 /usr/share/audio/mandarin/
adb push 42sound_reset_factory_config_successful.mp3 /usr/share/audio/mandarin/
adb push 43sound_auto_clean_stop.mp3 /usr/share/audio/mandarin/
adb push 50sound_appoint_sweep_mopping_clean_start.mp3 /usr/share/audio/mandarin/
adb push 51sound_appoint_area_sweep_mopping_clean_start.mp3 /usr/share/audio/mandarin/
adb push 52sound_appoint_corner_sweep_mopping_clean_start.mp3 /usr/share/audio/mandarin/
adb push 53sound_sweep_mopping_clean_start.mp3 /usr/share/audio/mandarin/
adb push 54sound_corner_sweep_mopping_clean_start.mp3 /usr/share/audio/mandarin/
adb push 55sound_area_sweep_mopping_clean_start.mp3 /usr/share/audio/mandarin/
adb push 56sound_point_sweep_mopping_clean_start.mp3 /usr/share/audio/mandarin/
adb push 57sound_sweep_mopping_clean_finish_to_charging.mp3 /usr/share/audio/mandarin/
adb push 58sound_broken_charging_completed_to_sweep_mopping.mp3 /usr/share/audio/mandarin/
adb push 59sound_continue_sweep_mopping_clean.mp3 /usr/share/audio/mandarin/
adb push 60sound_pause_sweep_mopping_clean.mp3 /usr/share/audio/mandarin/
adb push 100sound_exception_radar_shading.mp3 /usr/share/audio/mandarin/
adb push 101sound_exception_dust_box_lost.mp3 /usr/share/audio/mandarin/
adb push 102sound_exception_low_power.mp3 /usr/share/audio/mandarin/
adb push 103sound_exception_mopping_lost.mp3 /usr/share/audio/mandarin/
adb push 104sound_exception_trapped.mp3 /usr/share/audio/mandarin/
adb push 105sound_exception_charging_to_power_off.mp3 /usr/share/audio/mandarin/
adb push 106sound_exception_robot_tilted.mp3 /usr/share/audio/mandarin/
adb push 107sound_exception_upgrading.mp3 /usr/share/audio/mandarin/
adb push 108sound_exception_water_box_lost.mp3 /usr/share/audio/mandarin/
adb push 109sound_exception_robot_dangling.mp3 /usr/share/audio/mandarin/
adb push 110sound_exception_go_charge_failure.mp3 /usr/share/audio/mandarin/
adb push 111sound_exception_waiting_to_charge.mp3 /usr/share/audio/mandarin/
adb push 112sound_exception_mopping_installed.mp3 /usr/share/audio/mandarin/
adb push 113sound_exception_cliff.mp3 /usr/share/audio/mandarin/
adb push 114sound_exception_magnetic.mp3 /usr/share/audio/mandarin/
adb push 115sound_exception_bumper.mp3 /usr/share/audio/mandarin/
adb push 116sound_exception_battery_temperature.mp3 /usr/share/audio/mandarin/
adb push 117sound_exception_charge_clip.mp3 /usr/share/audio/mandarin/
adb push 118sound_install_dustbox_or_diad_box.mp3 /usr/share/audio/mandarin/
adb push 119sound_remove_mop.mp3 /usr/share/audio/mandarin/
adb push 120sound_install_dustbox_or_diad_box_and_remove_mop.mp3 /usr/share/audio/mandarin/
adb push 121sound_install_mop_and_water_box.mp3 /usr/share/audio/mandarin/
adb push 123sound_install_diad_box_and_mop.mp3 /usr/share/audio/mandarin/
adb push 124sound_install_diad_box.mp3 /usr/share/audio/mandarin/
adb push 150sound_charging_to_clean_dust_box.mp3 /usr/share/audio/mandarin/
adb push 151sound_charging_to_clean_water_box.mp3 /usr/share/audio/mandarin/
adb push 152sound_charging_to_remove_mop.mp3 /usr/share/audio/mandarin/

По окончании вводим:

adb shell ln -s/etc/init.d/robotManager /etc/rc.d/S90robotManager

если выдаст ошибку тогда вводим "adb shell"
После приветствия:
----------------------------------------------
Tina Linux (Neptune, 57513AA3)
----------------------------------------------
root@TinaLinux:~#
ввести:
cd /etc/rc.d/
ln -s ../init.d/robotManager S90robotManager

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

Данный материал подготовлен с помощью форума 4pda.ru