Инструкция относится только к европейской версии шлюза от xiaomi mieu01, с европейской вилкой, а также к версии шлюза от Aqara ZHWG11LM с китайской или европейской вилкой. Для версии xiaomi gateway2 с китайской вилкой DGNWG02LM она не подойдёт, в нём установлены другие аппаратные комплектующие.
Данная инструкция подразумевает, что у вас уже есть доступ ssh к шлюзу. Если вы это не сделали, воспользуйтесь инструкцией
Сделайте резервную копию. Если вы решите вернуться на оригинальную прошивку, для восстановления вам потребуется tar.gz с архивом корневой файловой системы.
tar -cvpzf /tmp/lumi_stock.tar.gz -C / . —exclude=’./tmp/*’ —exclude=’./proc/*’ —exclude=’./sys/*’
После того, как бэкап сделается, скачайте его на локальный компьютер
scp [email protected]*GATEWAY_IP*:/tmp/lumi_stock.tar.gz .
или с помощью программы WinScp в режиме scp (dropbear на шлюзе не поддерживает режим sftp)
Если у вас уже есть образ rootfs сделанный через dd, всё равно сделайте архив. На этапе загрузки образа dd обычно возникают ошибки nand flash или ubifs. Вариант с tar.gz лишён этих недостатков, потому что форматирует флеш перед загрузкой.
Обновленный Xiaomi Gateway 3 ZNDMWG03LM — Bluetooth + Zigbee 3.0 обзор и возможности
Прошивка по воздуху
Это наиболее простой метод, который можно использовать даже через ssh. Он не требует дополнительной пайки но работает только на оригинальной операционной системе.
Убедитесь, что у вас нет лишних архивов во временной папке /tmp, потребуется место для скачивания архивов. Также, шлюз должен быть подключён к интернету.
echo -e «GET /openlumi/owrt-installer/main/install.sh HTTP/1.0nHost: raw.githubusercontent.comn» | openssl s_client -quiet -connect raw.githubusercontent.com:443 2>/dev/null | sed ‘1,/^r$/d’ | bash
Данная команда завершит все процессы на шлюзе (если у вас оборвётся) сеанс ssh, это ожидаемое поведение. Прошивка занимает несколько минут. По окончанию прошивки, шлюз поднимет открытую сеть OpenWrt. Если это произошло, можно сразу переходить к разделу «Использование OpenWrt»
Если по каким-то причинам, у вас не сработал метод прошивки по воздуху, вы почти всегда можете вернуть к жизни шлюз припаяв usb и uart и прошить через mfgtools
Припаяйте usb + uart
Чтобы провести модификацию прошивки вам потребуется произвести аппаратные модификации, припаять 7 проводов к самому шлюзу
- 3 провода на usb2uart переходник (вы это делали на этапе получения рута)
- 4 провода на usb разъём или провод с usb штекером на конце. Достаточно припаять 4 провода, +5v, d+, d- и gnd. ID провод не задействуется Проверьте, что d+ и d- не перепутаны местами, иначе устройство не определится
Мы подготовили архив с программой mfgtools для загрузки прощивки на шлюз, а также саму прошивку. В архив включена программа для windows и консольное приложение под linux
Подключите шлюз к компьютеру
Xiaomi Gateway 3, интеграция в Home Assistant, кастомная прошивка
Нужно подключить шлюз двумя кабелями к компьютеру. UART и USB. USB на данном этапе не будет определяться в компьютере. Чтобы подключиться к консоли шлюза, для windows используйте программу PuTTY и используйте COM-порт, который появился для usb2uart. Для linux используйте любую терминальную программу, например picocom /dev/ttyUSB0 -b 115200
Перевод в режим загрузки через USB
Для того чтобы перевести в режим прошивки, нужно при старте шлюза в консоли на последовательном порту прервать загрузку uboot нажатием любой кнопки. У вас будет 1 секунда на это. Появится приглашение для команд
Далее в командной строке uboot вам надо ввести
bmode usb
И нажать enter. После этого шлюз перейдёт в режим загрузки по usb и mfgtools сможет обновить разделы в памяти шлюза.
В случае если у вас Windows, вам может потребоваться установить драйвера, из папки Drivers.
В случае windows, у вас откроется окно. Если всё припаяно правильно и драйвера установлены верно, то в строке в программе будет написано HID-compliant device
Нужно нажать кнопку Start для начала прошивки.
После окончания прошивки, когда полоска прогресса дойдёт до конца и станет зелёной, нужно нажать Stop. Если этого не сделать, спустя несколько минут программа начнёт прошивку повторно, и это приведёт к ошибке. Если такое случилось, перезагрузите шлюз и повторите процедуру, начиная перевода шлюза в bmode usb .
Перейдите в папку с прошивкой. Запустите консольную утилиту от суперпользователя
sudo ./mfgtoolcli -p 1
В псевдографическом интерфейсе будут отображаться этапы прошивки
При подключении шлюза и обнаружении hid устройства, программа сразу начнёт процесс прошивки. Если процесс не пошёл, проверьте, что устройство подключено и определилось в выводе команды dmesg
Следить за этапами прошивки можно также и в консоли вывода самого шлюза. По окончанию прошивки в консоли будет выведено
Update Complete!
После этого можно перезагружать шлюз. Вытащите его из розетки и воткните обратно. Иногда, шлюз виснет на финальном этапе. Если в течение 5 минут ничего не происходит, то скорее всего прошивка прошла удачно и можно перезагрузить шлюз.
Не забудьте подключить антенны!
Иначе проблемы с подключением к сети обеспечены
После прошивки шлюз поднимает открытую wifi сеть с именем OpenWrt. Чтобы подключить его уже к своему роутеру, вам нужно подключиться к этой сети и зайти на адрес http://192.168.1.1/
По умолчанию вход на шлюз: логин root без пароля.
Перейдите в раздел Network -> Wireless
Нажмите кнопку Scan напротив первого интерфейса radio0 Через несколько секунд вы сможете увидеть список сетей. Найдите вашу сеть и нажмите Join Network
В появившемся окне отметьте галочку «Replace wireless configuration». Ниже укажите пароль от вашей сети
На следующем экране подтвердите параметры, нажмите кнопку Save.
Чтобы правильно применить изменения, нужно отключить точку доступа нажав кнопку «Disable» напротив подключения для второго интерфейса.
Шлюз отключит вас от точки доступа и применит изменения сети. После прошивки меняется mac адрес шлюза, потому ip адрес тоже скорее всего поменяется. Проверьте его в роутере или в самом шлюзе.
На шлюзе предустановлены:
- Графический интерфейс OpenWrt LuCi на 80 порту http
- командная утилита для прошивки zigbee модуля jn5169
Не включайте на шлюзе одновременно режимы WiFi AP + Station. Драйвер, который используется в системе не может работать в двух режимах одновременно. Если вы поменяли настройки LuCi и после этого шлюз перестал подключаться к сети, зажмите кнопку на шлюзе на 10 секунд. Он промигает жёлтым цветом 3 раза и перейдёт в режим начальной настройки сети, подняв точку доступа AP
Работа с Zigbee
Модуль Zigbee может работать только с одной из систем, потому вам нужно выбрать, какую из программ вы будете использовать. В то же время, можно использовать, например zigbee2mqtt для работы с zigbee и domoticz для других автоматизаций.
- Установка Zigbee2mqtt
- Установка Zesp32
- Установка Domoticz и настройка плагина zigate
Сброс на заводские настройки
Чтобы сбросить все данные на прошивке OpenWrt и вернуться на этап начальной установки (как будто вы только что прошили шлюз), нужно зажать кнопку на 20 секунд. Шлюз промигает красным 3 раза и вернётся к начальной настройке с поднятием точки доступа. Будьте аккуратны со сбросом настроек, все программы и настройки будут стёрты. Используйте его в крайнем случае, когда сброс сети и дальнейшая настройка не помогает.
Возврат на стоковую прошивку
Для возврата на родную прошивку нужно прошить оригинальные ядро, dtb и файловую систему из резервной копии. Ядро и dtb одинаковые на все прошивки, а для работы оригинального приложения xiaomi вам потребуется бекап.
Положите свой бекап с именем lumi_stock.tar.gz в папку Profiles/Linux/OS Firmware/files поверх пустого файла lumi_stock.tar.gz
Дальше переведите шлюз в режим загрузки по usb и через mfgtools прошейте оригинальную прошивку.
opkg update opkg install gpioctl-sysfs opkg install kmod-spi-gpio opkg install kmod-spi-dev opkg install kmod-spi-gpio-custom
echo «69» > /sys/class/gpio/export echo «70» > /sys/class/gpio/export echo «out» > /sys/class/gpio/gpio69/direction echo «out» > /sys/class/gpio/gpio70/direction echo «1» > /sys/class/gpio/gpio70/value echo «0» > /sys/class/gpio/gpio70/value
Номера GPIO в системе. номера контактов начинаются с нижнего на фото и продолжаются вверх. DOWN и UP значит куда подтяжка. Down к GND, UP — 3.3v
2 | DOWN | 69 |
1 | DOWN | 70 |
14 | DOWN | 71 |
15 | DOWN | 72 |
16 | UP | 73 |
4 | DOWN | 74 |
3 | DOWN | 75 |
17 | UP | 76 |
6 | DOWN | 77 |
5 | DOWN | 78 |
18 | DOWN | 79 |
20 | UP | 80 |
19 | DOWN | 81 |
8 | DOWN | 82 |
7 | DOWN | 83 |
22 | DOWN | 84 |
21 | DOWN | 85 |
10 | DOWN | 86 |
9 | DOWN | 87 |
24 | DOWN | 88 |
23 | DOWN | 89 |
12 | DOWN | 90 |
11 | DOWN | 91 |
13 | DOWN | 92 |
- Статья, которая подробно описывает изменения технические модификации: Xiaomi Gateway (eu version — Lumi.gateway.mieu01 ) Hacked
- Сборник информации по аппаратному и програмному модингу Xiaomi Gateway https://github.com/T-REX-XP/XiaomiGatewayHack
- Телеграм канал с обсуждением модификаций https://t.me/xiaomi_gw_hack
Источник: giter.club
Шлюз Xiaomi lumi.gateway.mieu01 получаем root и устанавливаем OpenWrt
Еще в сентябре 2020 года очень удачно приобрел пару наборов “Датчиков безопасности Mi” . Первый набор обошелся в 2000 рублей, а второй получилось забрать за 1000 рублей. И датчики из этих наборов очень быстро разошлись по моему “умному дому”.
В наборах нетронутыми лежали лишь европейские zigbee шлюзы от xiaomi. Интегрировать штатными средствами в Home assistant с пробросом zigbee устройств их было нельзя, поэтому они на время остались лежать в коробках. Массовые распродажи таких наборов сильно подстегнули энтузиастов к взлому и прошивке этих шлюзов на альтернативное программное обеспечение. Самый распространенный на данный момент проект это https://openlumi.github.io/ и соответствующий телеграмм-чат .
Пришла пора разобрать свой шлюз, посмотреть, как там все устроено, и перепрошить его на альтернативную прошивку.
Разборка и внешний вид
Вот так выглядит шлюз с его “лицевой стороны”.
С обратной стороны нас встречает европейская вилка, наклейка с моделью и надписью “Сделано в Китае”. Насколько мне известно, для перепрошивки устройства в первый раз его в любом случае придется разобрать и использовать паяльник. Для того чтобы вскрыть устройство, необходимо удалить три матовые резиновые заглушки.
Далее нам откроется доступ к винтам. Головка у них нестандартная, а на одном из них наклеена гарантийная пломба. Разобрать шлюз, не повредив наклейку, будет проблематично. Благо необходимая отвертка у меня была.
Аккуратно снимая верхнюю крышку, нужно не забыть отсоединить разъем динамика и две антенны, нижняя часть так же легко снимается. У нас в руках остается бутерброд из двух плат.
Верхняя — непосредственно та, что нас интересует, тут находится модуль wifi и zigbee и вся логическая часть.
Нижняя плата — блок питания. При этом, несмотря на европейскую вилку, блок питания явно разрабатывался под китайский рынок, о чем свидетельствуют три типично-расположенных силовых контакта.
Платы можно отделить друг от друга, вот как они выглядят с других сторон.
На блоке питания заметны невооруженным глазом светодиоды, которые отвечают за декоративную и информационную подсветку шлюза.
Получаем root права
Для прошивки нам понадобится USB UART TTL адаптер, программа putty и припаять провода к контактам на плате шлюза.
Куда припаивать контакты понятно из официальной документации проекта openlumi, изображение прикрепляю ниже.
Фото с официальной документации проекта.
На USB-UART адаптер нужно подключить другие концы этих проводов, а самого его подключить в USB порт вашего компьютера, шлюз при этом должен быть пока обесточен. А теперь начнем с получением root прав.
Открываем putty и выбираем Serial и скорость в 115200. Номер COM порта нужно посмотреть в диспетчере устройств, в моем случае это COM16.
Далее нажимаем Open. Теперь необходимо наконец подать питание на шлюз или вставить его в розетку. Если все сделать правильно, в консоле появится куча текста во время загрузки шлюза. Прямо в это время нужно нажать любую клавишу, чтобы остановить загрузку шлюза. Не успели?
Ничего страшного, отключаем шлюз от питания, подключаем заново и пробуем еще раз. Когда все получится, в консоли вы увидите символ =>
Теперь начнем вводить команды.
setenv bootargs «$ single rw init=/bin/bash» boot
После загрузится bash и нужно будет сменить пароль на root:
Необходимо ввести пароль два раза, но можно оставить его пустым, тогда просто нажмите Enter для подтверждения пустого пароля столько раз, сколько это потребуется.
Теперь у нас есть root права на шлюзе. Необходимо разрешить к нему доступ по ssh. Для этого открываем файл etc/rc.local.
nano /etc/rc.local
Находим в нем в конце строку /home/root/fac/fac_test
И перед ней вставляем строку
/etc/init.d/dropbear start GET /openlumi/owrt-installer/main/install.sh HTTP/1.0nHost: raw.githubusercontent.comn» | openssl s_client -quiet -connect raw.githubusercontent.com:443 2>/dev/null | sed ‘1,/^r$/d’ | bash
Прошивка займет несколько минут, подключение ssh отвалится и это нормально. После успешной прошивки шлюз поднимает wi-fi сеть с именем OpenWrt и без пароля. При подключении к шлюзу по ip адресу http://192.168.1.1/ будет доступен web интерфейс. Учетная запись root без пароля.
Далее в интерфейсе нужно настроить подключение к вашему wi-fi роутеру, что также достаточно подробно описано в документации .
Остановимся пока на этом. Теперь европейский шлюз xiaomi lumi.gateway.mieu01 отвязан от китайских облаков, но пока ничего не может, кроме того, что подключаться к вашему wi-fi. Далее на него можно установить zigbee2mqtt, Zesp32, Homeassistant и ZHA компонент для работы с zigbee, Domoticz, Node Red и программное обеспечение для управления подсветкой и динамиком шлюза.
Также в шлюзе есть bluetooth, его можно прошить как роутер для zigbee сетей. Возможностей много, и все они не поместятся в одну статью. Поэтому подписывайтесь на канал, чтобы не пропустить новые материалы.
А как бы вы использовали данный шлюз? Какой бы софт установили?
#умный дом #home assistant #xiaomi #xiaomi #zesp #zigbee #openwrt #openlumi #технологии #интернет вещей
Источник: dzen.ru
Home Assistant. Урок 9.3 ADD-ON — Xiaomi Gateway 3, токены xiaomi устройств, обновление 2021
В этом, обновленном по состоянию на конец февраля уроке 9.3, я актуализирую информацию по интеграции Xiaomi Gateway 3 от AlexxIT, а также подробно покажу как добавить в Home Assistant этот шлюз вне зависимости от версии прошивки, без вскрытия и паяльника. Кроме этого, все что показано в этом уроке — никак не влияет на работу шлюза в mihome. Ссылки и команды — kvazis.link/unit_9_3_2021 Источники — Интеграция Xiaomi Gateway 3 — kvazis.link/XiaomiGateway3 Soft hack Xiaomi Gateway 3 — kvazis.link/soft_hack Обновление 22.02.2022 — Не надо прошивать, используем штатную прошивку. Купить шлюз на Aliexpress: Mi 3C Store — lres.bz/6mefk1 MIJIA-GLOBAL Store — lres.bz/6meflz Мой канал в телеграмм smarthomesell — kvazis.link/telegram Форум Умный дом — kvazis.link/forum Интерактивный каталог устройств умного дома — kvazis.link/catalog Плейлист уроков по Home Assistant — kvazis.link/ha_lessons Обратная связь — ask.kvazisgmail.com Поддержать канал — Patreon — kvazis.link/patreon Paypal — kvazis.link/paypal Конфигурация Home Assistant — kvazis.link/github Мод MiHome от vevs (kapiba.ru) — kvazis.link/mihome_vevs “Production Music courtesy of Epidemic Sound” epidemicsound.com #kvazis #hassio #homeassistant #learn 00:00 — Приветствие 00:32 — Вводная часть 01:19 — Установка 02:03 — Подключение к облаку 02:35 — Токены 03:14 — Подключение шлюза 04:27 — Прошивка 06:26 — BLE устройства 07:52 — Заключение
Источник: www.ortokid.ru