Aqara Hub Китай и европейский сервер
Любые действия и программы вы применяете на свой собственный страх и риск.
Материал носит информационный характер, и не является прямым указанием к действию!
Телефон вызова экстренных служб - 112.
Телефон вызова экстренных служб - 112.
На данной странице размещена инструкция по доработке Китайского Agara Hub для работы с Европейскими серверами. Обязательно пригодится тем, кто:
- любит "дешево и сердито";
- случайно купил Китайскую версию;
Начнем...
Что нам понадобится?
- Agara Hub
- Arduino или ttl преобразователь
- Канцелярские резинки
- Паяльник
- Компьютер с установленным Putty
Подготовка
- Переводим Hub в режим сопряжения (сбрасываем)
- Удаляем из аккаунтов, если был ранее подключен к региону Китай
- Разбираем Hub, снимаем заглушки для болтов и откручиваем (Понадобится отвертка 2.6). Очень аккуратно, не порвите провода.

- Перетягиваем резинками. Т.к. будем подключать к электричеству и включать. Собираем согласно схеме:
Я использовал Arduino, т.к. не было ttl под рукой.
В Arduino замыкаем reset на землю, чтобы она заработала в режиме UART - Подключаем HUB в отключенный сетевой фильтр. резинки нужны как раз для обеспечения контактов питания.
- Подключаем Arduino к компьютеру.
- Смотрим на каком порте висит Arduino в управлении устройствами.
- Запускаем Putty, выбираем тип подключения Serial, Прописываем свой порт устанавливаем скорость 115200. Запускаем сеанс.
- Теперь нам нужно прервать загрузку hub-а.
Для этого: Постоянно нажимаем пробел и включаем питание на hub.
У вас должно остановится на строке =>
Изменение конфигурации
Заходим в sh:
=> printenv baudrate=115200 board_name=EVK board_rev=14X14 bootargs=console=ttymxc0,115200 ubi.mtd=3 root=ubi0:rootfs rootfstype=ubifs ... # Добавляем в конец init=/bin/sh => editenv bootargs edit: console=ttymxc0,115200 ubi.mtd=3 root=ubi0:rootfs rootfstype=ubifs cma=96M mtdparts=gpmi-nand:3m(boot),7m(kernel),1m(dtb),-(rootfs) init=/bin/sh => boot NAND read: device 0 offset 0x300000, size 0x700000 7340032 bytes read: OK NAND read: device 0 offset 0xa00000, size 0x100000 1048576 bytes read: OK Kernel image @ 0x80800000 [ 0x000000 - 0x617290 ] ... [ 2.793281] VFS: Mounted root (ubifs filesystem) readonly on device 0:14. [ 2.800990] devtmpfs: mounted [ 2.805094] Freeing unused kernel memory: 540K (80aa1000 - 80b28000) sh: cannot set terminal process group (-1): Inappropriate ioctl for device sh: no job control in this shell sh-4.3#
- Устанавливаем пароль пользователю root:
sh-4.3# mount -o remount,rw / sh-4.3# passwd
Далее отключаем питание и заново включаем, на этот раз пробел не жмем.
После перезагрузки вы попали в утилиту hkbridge по умолчанию, поэтому вам нужно ввести «exit_factory». пользователя вводите root, а пароль который ставили ранее.
Теперь нам потребуется исправить конфиги.
При помощи VIM заменяем lumi.gateway.aqhm01 на lumi.gateway.aqhm02
root@Aqara_Hub-1625:~# vi /lumi/conf/device.conf root@Aqara_Hub-1625:~# vi /root/hkbridge/hostap.conf root@Aqara_Hub-1625:~# vi /root/hkbridge/wpa_ap.conf
после применения изменений запускам команду reboot. (Hub перезагрузится)
Добавляем hub стандартно через Aqara Home(Через MiHome завести не удалось, но и не старался), и обновляем устройства в яндексе.
Ура! Все появилось. Осталось собрать обратно)
Итого
Не знаю точно почему они не привязываются к маку, но hub начал работать через европейский сервер и определяться Алисой.
На удивление к хабу подключаются как Китайские так и Европейские устройства и успешно приходят и устанавливаются OTA обновления.
Примечание
У меня была проблема что после отключения Arduino, Hub отказывался запускаться, а при подключении обратно запускался. Данную проблему решил запаяв rx и tx на землю (т.е. все три контакта)