Перейти к содержанию

Aqara Hub Китай и европейский сервер: различия между версиями

Материал из Wiki yaboard
мНет описания правки
Нет описания правки
Строка 3: Строка 3:
__TOC__
__TOC__


{{Unofficial}}
{{Skills}}
{{Hands}}
{{Hands}}
{{HighVoltage}}
{{HighVoltage}}


На данной странице размещена инструкция по доработке Китайского Aqara Hub для работы с Европейскими серверами. Обязательно пригодится тем, кто:
На данной странице размещена инструкция по доработке Китайского Aqara Hub для работы с европейскими серверами.  
* любит "дешево и сердито";
 
* случайно купил Китайскую версию;
Обязательно пригодится тем, кто:
* Любит "дешево и сердито";
* Случайно купил Китайскую версию.


Начнем...
Начнем...


== Что нам понадобится? ==
== Что нам понадобится? ==
# Aqara Hub
 
# Arduino или ttl преобразователь
 
# Канцелярские резинки
* '''Aqara Hub'''
# Паяльник
* '''Arduino''' или TTL-преобразователь (в статье используется Arduino просто потому, что уже была под рукой)
# Компьютер с установленным Putty
* Канцелярские '''резинки'''
* '''Паяльник'''
* Компьютер с установленным '''Putty'''




== Подготовка ==
== Подготовка ==


# Переводим Hub в режим сопряжения (сбрасываем)
 
# Удаляем из аккаунтов, если был ранее подключен к региону Китай
[[Файл:Отвертка.jpg|350px|thumb|Отвертка]]
# Разбираем Hub, снимаем заглушки для болтов и откручиваем (Понадобится отвертка 2.6). Очень аккуратно, не порвите провода. <br> [[Файл:Отвертка.jpg|350px|Отвертка]]
[[Файл:Схема подключения.jpg|420px|thumb|Схема подключения]]
# Перетягиваем резинками. Т.к. будем подключать к электричеству и включать. Собираем согласно схеме: <br> [[Файл:Схема подключения.jpg|420px|Схема подключения]] <br> Я использовал Arduino, т.к. не было ttl под рукой. <br> В Arduino замыкаем reset на землю, чтобы она заработала в режиме UART
# Переводим хаб в режим '''сопряжения''' (сбрасываем).
# Подключаем HUB в отключенный сетевой фильтр. резинки нужны как раз для обеспечения контактов питания.
# '''Удаляем''' из аккаунтов (если уже подключался к региону Китай).
# Подключаем Arduino к компьютеру.
# '''Разбираем''' хаб, снимаем заглушки для болтов и откручиваем (отвертка "2.6"). Очень аккуратно, не порвите провода!
# Смотрим на каком порте висит Arduino в управлении устройствами.
# Перетягиваем резинками (будем подключать к 220В в открытом виде). '''Собираем согласно схеме''' справа.
# Запускаем Putty, выбираем тип подключения Serial, Прописываем свой порт устанавливаем скорость 115200. Запускаем сеанс.
# Подключаем хаб '''в обесточенный сетевой фильтр'''. Резинки обеспечивают контакты питания.
# Теперь нам нужно прервать загрузку hub-а. <br> Для этого: Постоянно нажимаем пробел и включаем питание на hub. <br> У вас должно остановится на строке '''=>'''
# '''Подключаем Arduino''' к компьютеру.
# Смотрим, '''на каком порту''' обнаружится Arduino.
# '''Запускаем Putty''', выбираем тип подключения '''Serial''', указываем порт Arduino и скорость 115200.
# Открываем сеанс.
 
Теперь нужно прервать загрузку хаба.
Для этого постоянно нажимаем пробел и включаем питание на хабе.
Когда всё удастся, терминал остановится на строке '''=>'''
 


== Изменение конфигурации ==
== Изменение конфигурации ==
Заходим в sh:
Заходим в sh:
<pre>
=> printenv
=> printenv
baudrate=115200
baudrate=115200
board_name=EVK
board_name=EVK
board_rev=14X14
board_rev=14X14
bootargs=console=ttymxc0,115200 ubi.mtd=3 root=ubi0:rootfs rootfstype=ubifs  
bootargs=console=ttymxc0,115200 ubi.mtd=3 root=ubi0:rootfs rootfstype=ubifs  
...
...


# Добавляем в конец init=/bin/sh
Добавляем в конец 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
=> 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


NAND read: device 0 offset 0x300000, size 0x700000
=> boot
NAND read: device 0 offset 0x300000, size 0x700000
  7340032 bytes read: OK
  7340032 bytes read: OK
 
NAND read: device 0 offset 0xa00000, size 0x100000
NAND read: device 0 offset 0xa00000, size 0x100000
  1048576 bytes read: OK
  1048576 bytes read: OK
Kernel image @ 0x80800000 [ 0x000000 - 0x617290 ]
Kernel image @ 0x80800000 [ 0x000000 - 0x617290 ]
...
...
[    2.793281] VFS: Mounted root (ubifs filesystem) readonly on device 0:14.
[    2.793281] VFS: Mounted root (ubifs filesystem) readonly on device 0:14.
[    2.800990] devtmpfs: mounted
[    2.800990] devtmpfs: mounted
[    2.805094] Freeing unused kernel memory: 540K (80aa1000 - 80b28000)
[    2.805094] Freeing unused kernel memory: 540K (80aa1000 - 80b28000)
sh: cannot set terminal process group (-1): Inappropriate ioctl for device
sh: cannot set terminal process group (-1): Inappropriate ioctl for device
sh: no job control in this shell
sh: no job control in this shell
sh-4.3# </pre>
sh-4.3#  
* Устанавливаем пароль пользователю root:
 
<pre>
Устанавливаем пароль пользователю root:
sh-4.3# mount -o remount,rw /
 
sh-4.3# passwd
sh-4.3# mount -o remount,rw /
</pre>
sh-4.3# passwd
Далее отключаем питание и заново включаем, на этот раз пробел не жмем.<br>
 
После перезагрузки вы попали в утилиту hkbridge по умолчанию, поэтому вам нужно ввести «exit_factory». пользователя вводите root, а пароль который ставили ранее.<br>
Отключаем и включаем питание, ничего не нажимаем. После перезагрузки оказываемся в утилите hkbridge по умолчанию, поэтому нужно ввести:
Теперь нам потребуется исправить конфиги.<br>
* «exit_factory»  
При помощи VIM заменяем lumi.gateway.aqhm01 на lumi.gateway.aqhm02
* пользователь root
<pre>
* пароль - тот, который ставили ранее.
root@Aqara_Hub-1625:~# vi /lumi/conf/device.conf
 
root@Aqara_Hub-1625:~# vi /root/hkbridge/hostap.conf
Исправляем конфиги: при помощи vim заменяем lumi.gateway.aqhm'''01''' на <span class="tocopy">lumi.gateway.aqhm'''02'''</span>
root@Aqara_Hub-1625:~# vi /root/hkbridge/wpa_ap.conf
 
</pre>
root@Aqara_Hub-1625:~# vi /lumi/conf/device.conf
после применения изменений запускам команду reboot. (Hub перезагрузится) <br><br>
root@Aqara_Hub-1625:~# vi /root/hkbridge/hostap.conf
Добавляем hub стандартно через Aqara Home(Через MiHome завести не удалось, но и не старался), и обновляем устройства в яндексе.
root@Aqara_Hub-1625:~# vi /root/hkbridge/wpa_ap.conf
Ура! Все появилось. Осталось собрать обратно)
 
После применения изменений:
* Запускаем команду reboot. Хаб перезагрузится.
* Добавляем хаб через Aqara Home (через MiHome сразу завести не удалось, но это непринципиально).
* Обновляем устройства в приложении Яндекс.
 
Ура! Все появилось. Осталось собрать хаб обратно )




== Итого ==
== Итого ==
Не знаю точно почему они не привязываются к маку, но hub начал работать через европейский сервер и определяться Алисой. <br> На удивление к хабу подключаются как Китайские так и Европейские устройства и успешно приходят и устанавливаются OTA обновления.




== Примечание ==
Хаб начал работать через европейский сервер и определяться Алисой (видимо, они не привязываются к MAC-адресу).
У меня была проблема что после отключения Arduino, Hub отказывался запускаться, а при подключении обратно запускался. Данную проблему решил запаяв rx и tx на землю (т.е. все три контакта)
На удивление к хабу подключаются и китайские и европейские устройства, и успешно приходят и устанавливаются OTA-обновления.
 
 
== Возможные проблемы ==
 
 
После отключения Arduino хаб отказывался запускаться, при подключении Arduino обратно - запускался успешно.
 
Проблему решил, запаяв rx и tx на землю (т.е. все три контакта).


[[Category:Умный дом]]
[[Category:Умный дом]]
[[Category:Своими руками]]
[[Category:Своими руками]]

Версия от 12:34, 22 августа 2020

Требуются прямые руки И вдумчивое отношение к инструкции
Мы не несём никакой ответственности за правильное или неправильное применение, или неприменение, и/или неспособность применить данное руководство.
Телефон вызова экстренных служб - 112.
Высокое напряжение Опасность поражения током
Не повторяйте эти действия, если не обладаете нужными знаниями и природной осторожностью.
Телефон вызова экстренных служб - 112.

На данной странице размещена инструкция по доработке Китайского Aqara Hub для работы с европейскими серверами.

Обязательно пригодится тем, кто:

  • Любит "дешево и сердито";
  • Случайно купил Китайскую версию.

Начнем...

Что нам понадобится?

  • Aqara Hub
  • Arduino или TTL-преобразователь (в статье используется Arduino просто потому, что уже была под рукой)
  • Канцелярские резинки
  • Паяльник
  • Компьютер с установленным Putty

Подготовка

Отвертка
Схема подключения
  1. Переводим хаб в режим сопряжения (сбрасываем).
  2. Удаляем из аккаунтов (если уже подключался к региону Китай).
  3. Разбираем хаб, снимаем заглушки для болтов и откручиваем (отвертка "2.6"). Очень аккуратно, не порвите провода!
  4. Перетягиваем резинками (будем подключать к 220В в открытом виде). Собираем согласно схеме справа.
  5. Подключаем хаб в обесточенный сетевой фильтр. Резинки обеспечивают контакты питания.
  6. Подключаем Arduino к компьютеру.
  7. Смотрим, на каком порту обнаружится Arduino.
  8. Запускаем Putty, выбираем тип подключения Serial, указываем порт Arduino и скорость 115200.
  9. Открываем сеанс.
Теперь нужно прервать загрузку хаба.
Для этого постоянно нажимаем пробел и включаем питание на хабе.
Когда всё удастся, терминал остановится на строке =>

Изменение конфигурации

Заходим в 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. Хаб перезагрузится.
  • Добавляем хаб через Aqara Home (через MiHome сразу завести не удалось, но это непринципиально).
  • Обновляем устройства в приложении Яндекс.

Ура! Все появилось. Осталось собрать хаб обратно )

Итого

Хаб начал работать через европейский сервер и определяться Алисой (видимо, они не привязываются к MAC-адресу).
На удивление к хабу подключаются и китайские и европейские устройства, и успешно приходят и устанавливаются OTA-обновления.

Возможные проблемы

После отключения Arduino хаб отказывался запускаться, при подключении Arduino обратно - запускался успешно.

Проблему решил, запаяв rx и tx на землю (т.е. все три контакта).