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

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

Материал из Wiki yaboard
мНет описания правки
Нет описания правки
 
(не показано 6 промежуточных версий 2 участников)
Строка 1: Строка 1:
{{metadesc| Подключаем Китайский Aqara Hub к европейскому серверу }}
{{metadesc| Подключаем Aqara Hub региона Китай к европейскому серверу }}
__NOEDITSECTION__
__NOEDITSECTION__
__TOC__
__TOC__


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


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


Начнем...
== Что нам понадобится? ==
 


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




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


# Переводим Hub в режим сопряжения (сбрасываем)
 
# Удаляем из аккаунтов, если был ранее подключен к региону Китай
[[Файл:Отвертка.jpg|350px|thumb|Отвертка]]
# Разбираем Hub, снимаем заглушки для болтов и откручиваем (Понадобится отвертка 2.6). Очень аккуратно, не порвите провода. <br> [[Файл:Отвертка.jpg|350px|Отвертка]]
[[Файл:Схема подключения.jpg|350px|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'''.
# Открываем сеанс.
 
<pre class="red">
Теперь нужно прервать загрузку хаба.
Для этого постоянно нажимаем "пробел" - и включаем питание на хабе.
Когда всё удастся, терминал остановится на строке '=>'
</pre>


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


# Добавляем в конец init=/bin/sh
'''Проверяем bootargs'''
=> 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
=> printenv
baudrate=115200
board_name=EVK
board_rev=14X14
bootargs=console=ttymxc0,115200 ubi.mtd=3 root=ubi0:rootfs rootfstype=ubifs  
...
 
'''Добавляем в конец 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
'''Заходим в sh:'''
=> 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
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#


NAND read: device 0 offset 0xa00000, size 0x100000
'''Устанавливаем пароль пользователю root:'''
1048576 bytes read: OK
 
Kernel image @ 0x80800000 [ 0x000000 - 0x617290 ]
sh-4.3# mount -o remount,rw /
...
sh-4.3# passwd
[    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
После перезагрузки оказываемся в утилите hkbridge по умолчанию, поэтому нужно ввести:
sh: no job control in this shell
* <span class="tocopy">exit_factory</span>
sh-4.3# </pre>
* пользователь root
* Устанавливаем пароль пользователю root:
* пароль - тот, который ставили ранее.
<pre>
 
sh-4.3# mount -o remount,rw /
Исправляем конфиги: при помощи vim заменяем lumi.gateway.aqhm'''01''' на <span class="tocopy">lumi.gateway.aqhm'''02'''</span>
sh-4.3# passwd
 
</pre>
root@Aqara_Hub-1625:~# vi /lumi/conf/device.conf
Далее отключаем питание и заново включаем, на этот раз пробел не жмем.<br>
root@Aqara_Hub-1625:~# vi /root/hkbridge/hostap.conf
После перезагрузки вы попали в утилиту hkbridge по умолчанию, поэтому вам нужно ввести «exit_factory». пользователя вводите root, а пароль который ставили ранее.<br>
root@Aqara_Hub-1625:~# vi /root/hkbridge/wpa_ap.conf
Теперь нам потребуется исправить конфиги.<br>
 
При помощи VIM заменяем lumi.gateway.aqhm01 на lumi.gateway.aqhm02
После применения изменений:
<pre>
* Запускаем команду reboot. Хаб перезагрузится.
root@Aqara_Hub-1625:~# vi /lumi/conf/device.conf
* Добавляем хаб через Aqara Home (через MiHome сразу завести не удалось, но это непринципиально).
root@Aqara_Hub-1625:~# vi /root/hkbridge/hostap.conf
* Обновляем устройства в приложении Яндекс.
root@Aqara_Hub-1625:~# vi /root/hkbridge/wpa_ap.conf
 
</pre>
Ура, всё появилось! Осталось собрать хаб обратно )
после применения изменений запускам команду reboot. (Hub перезагрузится) <br><br>
 
Добавляем hub стандартно через Aqara Home(Через MiHome завести не удалось, но и не старался), и обновляем устройства в яндексе.
 
Ура! Все появилось. Осталось собрать обратно)
== Результат ==
 
 
Хаб начал работать через европейский сервер и определяться Алисой (видимо, они не привязываются к MAC-адресу).
На удивление к хабу подключаются и китайские и европейские устройства, и успешно приходят и устанавливаются OTA-обновления.
 
 
== Возможные проблемы ==




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


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


== Примечание ==
У меня была проблема что после отключения Arduino, Hub отказывался запускаться, а при подключении обратно запускался. Данную проблему решил запаяв rx и tx на землю (т.е. все три контакта)


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

Текущая версия от 13:05, 22 августа 2020


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

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

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

Начнем...

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

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

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

Подготовка

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

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

Проверяем bootargs

=> 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

Заходим в 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 на землю (т.е. все три контакта).