Xiaomi gateway 3 bluetooth не видит
Xiaomi Gateway 3 шлюз, пришедший на смену шлюзу второй версии. Новая версия обзавелась поддержкой протокола ZigBee версии 3 и поддержкой BLE, теперь не надо специально покупать отдельный BLE шлюз для использования в сценариях Bluetooth устройств (как минимум в умном доме Xiaomi с использованием программы Mi Home).
Устройство лицензировано для использования с Apple HomeKit, а это значит, что режима управления по LAN (он же режим разработчика) у шлюза нет, но устройство можно подключить к альтернативным системам автоматизации через интеграцию HomeKit, хоть и с ограничениями. Но благодаря трудам человека под именем AlexxIT стало возможно подключить Gateway 3 к Home Assistant и управлять подключенными устройствами по LAN. Он разработал компонент, который при помощи токена открывает доступ к telnet устройства и запускает на нем MQTT сервер откуда уже считываются данные с подключенных к шлюзу ZigBee устройств, через telnet обрабатываются данные подключенных BLE устройств.
Список поддерживаемых устройств перечислен на сайте проекта.
Версии прошивок
До прошивки версии v.1.4.6_0030 включительно никаких дополнительных манипуляций с устройством не требовалось, достаточно было только установить компонент в Home Assistant и получить токен устройства. Начиная с прошивки версии v.1.4.6_0043 на telnet был установлен пароль, который необходимо сбросить либо понизить версию прошивки, это реализуется паяльно-термальным методом (уже не удивительно). На данный момент дела обстоят так, что новые устройства идут с заводскими прошивками не ниже версии v.1.4.6_0043.
Основным методом работы с устройством автор компонента рекомендует установку модифицированной прошивки версии v.1.4.6_0012, объясняет он это следующим:
- Прошивка версии v.1.4.6 стабильнее прошивок v.1.4.7
- Отсутствует пароль на telnet
- Улучшена работа с BLE устройствами
- Основную работу над компонентом он ведет для прошивки версии v.1.4.6
Для устройств с заводской прошивкой v.1.4.7_0063 возможен только метод понижения до модифицированной прошивки.
Прошивка устройства
ВНИМАНИЕ! Автор статьи не несет никакой ответственности за последствия, которые могут произойти при выполнении действий, описанных в данной статье! Всё что вы делаете, вы делаете только на свой страх и риск!
Для разборки устройства, не повредив его необходимо будет приложить некоторые усилия. Как разобрать устройство наглядно показано на YouTube канале автора проекта.
Припаиваемся к техническим контактам на плате шлюза (TP8 - GND, TP11- TX, TP4 - RX).
Скачиваем необходимое ПО:
- Загрузчик из каталога, автор рекомендует этот (rtkboot_115200)
- Скачиваем файл прошивки mgl03_xxxxx.uart из каталога.
- Скачиваем файл mgl03_uart_recovery.ttl
- Скачиваем и устанавливаем программу Tera Term для Windows
Запускаем Tera Term , выбираем Serial -> выбираем порт UART адаптера -> OK :
Выбираем Control -> Macro , в открывшемся окне выбираем загруженный ранее файл mgl03_uart_recovery.ttl :
В появившемся окне нажимаем OK .
ВНИМАНИЕ! Питание 3.3V или 5V с адаптера UART НЕ ПОДКЛЮЧАТЬ!
После перезагрузки шлюза нажимаем на нем 10 раз единственную кнопку для сброса к заводским настройкам. Шлюз заново перезагрузится, издаст звуковой сигнал и будет моргать зеленым диодом. Теперь его можно подключить к Mi Home из приложения штатными средствами (если шлюз уже был до этого добавлен в Mi Home, то его необходимо удалить). В свойствах шлюза проверяем, что установлена прошивка, которая нам нужна. Программа будет предлагать обновиться, чего делать не стоит.
Отключаем шлюз от питания и USB-2-TTL адаптера, закрываем Tera Term, если необходимо собираем шлюз. Подключаем питание. Проверяем работу telnet, в командной строке выполняем:
gateway_ip_address - IP адрес шлюза в локальной сети. Пользователь: admin
В качестве бонуса получаем токен устройства.
Безопасность! Поскольку пароль на telnet не установлен, то необходимо позаботиться о том, чтобы доступ к устройству был ограничен не только из внешней сети, но и в локальной. Если есть возможность, то все устройства умного дома лучше всего вывести в отдельную подсеть с ограниченным доступом.
Подключение к Home Assistant
Если у вас еще не установлен HACS, то читаем статью Установка HACS в Home Assistant.
В Home Assistant переходим HACS -> Integration -> Меню -> Custom repositories .
В поле Add custom repository URL пишем AlexxIT/XiaomiGateway3 , в разделе Categoty выбираем Integration . При нажатии кнопки ADD будет найден компонент (возможно, что репозиторий уже будет добавлен).
В разделе HACS -> Integration находим и устанавливаем добавленный репозиторий, перезагружаем Home Assistant.
Если по каким-то причинам установка компонента из HACS не возможна, то компонент можно установить вручную.
Скачиваем со страницы компонента на GitHub архив, из архива папку xiaomi_gateway3 со всем содержимым кладем в .homeassistant/custom_components , если ее нет, то необходимо создать. На момент написания статьи последним релизом компонента была версия v.0.11.0. Для Linux/Unix систем будет так:
Удаляем архив и распакованные файлы и папки:
Добавление интеграции Xiaomi Gateway 3 в Home Assistant
В Home Assistant переходим Configuration -> Integrations -> + Add integration , находим и добавляем интеграцию Xiaomi Gateway 3.
Компонент поддерживает автоматическое получение токена устройства из учетной записи Xiaomi или токен можно ввести вручную. Выбираем второй вариант, а токен получаем, подключившись по telnet к шлюзу (показано выше).
Вводим IP адрес шлюза (не забываем в настройках DHCP сервера сделать статический адрес для шлюза, что бы шлюз всегда после перезагрузки получал постоянный адрес) и токен устройства.
После настройки интеграции в Home Assistant для шлюза будет доступно две настройки:
После установки блокировки обновления прошивки, при попытке обновления через программу Mi Home будет выполнена попытка обновления устройства, но процесс будет на стадии 0%.
Для подключения ZigBee устройств в Home Assistant достаточно включить режим Pair . Подключенное новое устройство появится как в Home Assistant, так и в Mi Home.
Найденные проблемы
Bluetooth датчик температуры и влажности (LYWSDCGQ/01ZM) не появился в Home Assistant, в программе Mi Home в разделе BLE устройств виден.
Новый хаб от Xiaomi с поддержкой технологий Zigbee 3, Bluetooth Mesh, HomeKit и его подключение к достаточно популярной системе умного дома — Home Assistant, интересует?
Устройства умного дома можно встретить на разных беспроводных протоколах.
Важно понимать, что поверх каждого протокола производители устройств накладывают что-то своё. А это значит, что нельзя выбрать какой-то один протокол и все устройства всех фирм будут автоматически поддерживаться.
Здесь выходом будет хороший двухдиапазонный роутер. Весь умный дом можно повесить на диапазон 2.4 ГГц, а мультимедиа-устройства (смартфоны, ноутбуки, телевизоры, колонки) на 5 ГГц.
Устройства на Bluetooth новички выбирают так же охотно, ведь сегодня смартфоны есть почти у всех. Проблема в том, что дальность Bluetooth весьма ограничена. Уже из соседней комнаты вы не сможете посмотреть температуру на датчике или включить чайник или лампочку.
В таких случаях производители рекомендуют покупать BLE Gateway. Это устройство, которое будет посредником между Bluetooth и серверами производителя. Здесь уже далеко не все пользователи соглашаются на дополнительные траты и лишнюю железку в доме.
Некоторые производители встраивают возможности BLE Gateway в камеры и лампы, закрывая проблему лишних затрат и лишнего устройства в доме.
От этой технологии новички отказываются чаще всего из-за необходимости приобретать дополнительное устройство-посредник, ведь ничего работающего с Zigbee в их доме скорее всего нет. Некоторые производители встраивают поддержку этой технологии в умные колонки и, на мой взгляд, это очень интересный ход.
Дополнительную проблему составляет, что каждый такой Gateway поддерживает только дочерние устройства своего производителя. Купив устройства Philips Hue, IKEA, Sonoff, Xiaomi и Tuya, вы, скорее всего, должны будете докупить пять Gateway соответственно.
Эта технология заслуживает внимания по следующим причинам:
- Беспроводные датчики довольно маленькие и в последнее время не такие и дорогие: 500 рублей за простейший датчик или кнопку — это реальность, Xiaomi и AliExpress сделали своё дело.
- Беспроводные датчики могут продержаться на одной батарее несколько лет, без шуток — лет!
- В количестве Zigbee устройств их сила: технология поддерживает Mesh, проводные устройства, скорее всего, будут ретрансляторами сигнала между Gateway и удалёнными датчиками, заодно снимая нагрузку с самого Gateway.
- Технология поддерживает прямое управление в обход Gateway, можно связать кнопку и лампочку. В случае выхода Gateway из строя управление светом продолжит работать. Правда далеко не все кнопки это умеют.
Фирма Xiaomi сделала многое для продвижения технологии Zigbee в альтернативных системах умного дома. Их старенький Xiaomi Gateway 2 (DGNWG02LM, lumi.gateway.v3) имел на борту "режим разработчика", который открывал локальный протокол доступа к управлению Zigbee устройствами этого шлюза. Интеграции этого протокола есть в множестве open source систем.
В евро-версии этого шлюза Xiaomi Gateway EU (DGNWG05LM, lumi.gateway.mieu01), а также в обновлённой версии Xiaomi Gateway 3 (ZNDMWG03LM, lumi.gateway.mgl03) этого протокола нет.
Обновлённая версия шлюза получила новый чип на Zigbee 3 (EFR32MG1B), а также поддержку технологии Bluetooth Mesh и HomeKit. В HomeKit поддерживаются не все устройства, будьте внимательны.
В отличие от всех остальных шлюзов, обновлённая версия имеет уникальную особенность: на ней программно можно открыть Telnet-доступ. Доступ открывается только при наличии Mi Home токена, так что всё вполне секьюрно.
В этом шлюзе стоит чип серии EFR32 от фирмы Silicon Labs. Те в свою очередь поставляют вместе с чипом набор SDK. В составе SDK есть MQTT-транспорт, обеспечивающий доступ к Zigbee проколу из любого ПО, установленного как на шлюзе, так и за его пределами.
По умолчанию MQTT-брокер не доступен извне, но у нас ведь теперь есть Telnet!
В брокере есть два корневых топика: это "сырые" данные Zigbee и обработанные данные от Xiaomi. Я решил взять за основу обработанные данные. Там атрибуты устройств хоть и описаны псевдокодами, но в них всё же проще разобраться человеку, ничего не понимающему в Zigbee.
В итоге получился такой вот компонент для Home Assistant — XiaomiGateway3.
Он автоматически включает Telnet и публичный MQTT, используя токен Mi Home.
Сейчас токен нужно получать нехитрым образом (инструкция в readme). Но в будущем я планирую добавить получение токена с серверов Xiaomi, используя аккаунт Mi Home. Ведь недавно в сети появилась рабочая реализация авторизации в их облаке.
Сейчас компонент получает список устройств и последние значения их атрибутов с Хаба. Но в дальнейшем я планирую добавить получение списка устройств из облака. Там есть пользовательские названия всех устройств.
С этим пришлось повозиться. Работа с Bluetooth-устройствами не отражается в MQTT. Зато все данные отражаются в консоли. Поэтому компонент подключается к хабу через Telnet отдельным потоком, перезапускает утилиту работы с Bluetooth и читает её вывод в реальном времени. Это самый стабильный способ, что я нашёл. В syslog данные от этой утилиты попадают с перебоями. Моих знаний Linux не хватает, чтоб понять, почему так происходит.
Первым делом компонент научился поддерживать стандартный набор Bluetooth-устройств Xiaomi: датчики температуры, анализаторы почвы и освещенности, фумигатор.
А пару дней назад в нём появилась поддержка умных Bluetooth-замков. На сегодняшний день это единственный из известных мне способов подключить BLE-умный замок Xiaomi в альтернативную систему умного дома.
Чайника у меня нет, но присылайте логи — добавлю и его. Правда чайники Xiaomi не поддерживают функцию удалённого включения, это большой минус.
BLE-устройства и их атрибуты отображаются по мере поступления данных. Когда появится поддержка облака — полный список BLE устройств с их моделями, именами и последними посланными данными можно будет получить оттуда. Такая информация на хабе не хранится.
Поддержка Bluetooth Mesh ламп пока в разработке. Работа с ними сильно отличается от BLE-устройств.
Нужно отладить работу хаба со всем списком официально поддерживаемых Zigbee-устройств. Добавить возможность настройки "тонких" параметров:
- настройки хаба: например, мощность (и её можно сильно увеличить!),
- изменение настроек дочерних устройств: режим логических кнопок на выключателях, чувствительность датчика вибрации и многое другое.
Нужно добавить поддержку облака для получения токена хаба и полного списка Zigbee и Bluetooth-устройств.
Нужно добавить поддержку Bluetooth Mesh ламп.
И самое главное — добавить поддержку устройств других производителей. Да, это возможно. Мне удалось подключить все сторонние устройства, что у меня были, и управлять ими. Такие устройства не отображаются в Mi Home и HomeKit. Но управлять ими можно с помощью "сырых" Zigbee-команд.
Для понимания полного масштаба проблемы такой поддержки загляните в исходники замечательного проекта zigbee2mqtt: devices, fromZigbee, toZigbee.
Почти каждое устройство требует свой собственный обработчик. В случае с Xiaomi Gateway 3 и официально поддерживаемыми устройствами — роль такого обработчика выполняет софт хаба.
Другие мои разработки можно найти на GitHub. Среди русскоговорящей аудитории наиболее популярный проект — YandexStation. Глобально очень хорошо себя зарекомендовал SonoffLAN. Но, думаю, XiaomiGateway3 его легко обгонит. За развитием этого и других моих проектов можно следить на моём канале Telegram.
Умный дом. Как много технологичности в этой фразе. Однако так думаешь только до тех пор, пока не обзаводишься им самостоятельно. Далее начинаются проблемы с подключением, настройкой и поддержанием работы устройств, которые, собственно, и составляют умный дом. При этом количество проблем, с которыми вам придётся столкнуться, прямо пропорционально зависит от количества приобретённых умных гаджетов. Хорошо, что в подавляющем большинстве случаев речь идёт о повторяющихся проблемах, у которых существуют универсальные решения.
Экосистема устройств умного дома Xiaomi очень обширна, но из-за этого не всегда работоспособна
Буквально на днях я получил посылку с оставшейся партией беспроводных выключателей Aqara D1. Они были нужны мне для организации в квартире освещения по системе «умный дом». Их подключение и настройка не были для меня чем-то необычным, потому что ранее я уже покупал такие на пробу, и остался ими полностью доволен.
Кстати, если вам интересно, можете почитать об этом подробнее по этой ссылке. Там я рассказываю, как работают беспроводные выключатели, как они устроены и чем они лучше обычных. Поэтому новые я подключал по уже знакомому сценарию.
Не подключается выключатель Aqara
Это тот самый беспроводной выключатель, с которым у меня возникли проблемы
Вернее говоря, пытался подключить. Как понимаете, безуспешно. Нет, мой шлюз Xiaomi Gateway 3 исправно подцепил первый выключатель, а вот второй отказывался принимать наотрез. Или сам выключатель не хотел подключаться, мне было не очень понятно.
Каждый раз, когда я зажимал клавишу на выключателе, по прошествии положенных 10 секунд его индикатор не мигал три раза, свидетельствуя о переходе в режим сопряжения, а загорался примерно на секунду, после чего гас. Само собой, я полез в Google, но прямого ответа на свой вопрос на нашёл.
Мне рекомендовали (в порядке убывания):
- Изменить регион на Китай;
- Перезагрузить шлюз;
- Обновить приложение Mi Home;
- Написать продавцу и пожаловаться.
Как подключиться к шлюзу Xiaomi
Стоит ли говорить, что я перепробовал всё и даже больше. Я даже узнал о существовании «прямого» способа подключения умного устройства к шлюзу, о котором раньше не знал. Хоть он мне и не помог, но оказался полезен, поскольку в будущем я планирую пользоваться только им:
- Нажимаете три раза подряд на кнопку на шлюзе;
- Дождитесь, пока индикатор шлюза не замигает розовым;
- Нажмите и удерживайте клавишу на выключателе 10 секунд;
- После того, как синий индикатор на выключателе, мигнёт три раза, произойдёт сопряжение, а шлюз издаст подтверждающий гудок.
Как сменить регион в Mi Home
Что касается смены региона, то тут ничего особенного нет:
- Запустите приложение Mi Home и войдите в аккаунт;
- Перейдите в «Профиль», а оттуда – в «Настройки»;
Смена региона зачастую позволяет предотвратить самопроизвольные отключения устройств от шлюза
- В «Настройках» выберите вкладку «Регион»;
- Выберите «Китай» и перезагрузите учётную запись.
Этот способ может подойти как в ситуации, если устройство не сопрягается со шлюзом, так и в случае, когда устройство от него самопроизвольно отключается. Иногда помогает обратная смена региона, когда вместо Китая выставляется Россия. В некоторых случаях подходит Германия или Индия.
Как понять, что разрядился Aqara D1
На самом деле и тот способ, что я описал выше, и этот – со сменой региона – может помочь вам не только при проблемах с подключением (особенно, если устройства были куплены в разных странах), но и с избавлением от разрывов. Ведь нередко бывает, что устройства просто отключаются от шлюза, и их приходится подключать повторно.
Моя же проблема оказалась до смешного банальной. Просто батарейка в одном из моих выключателей оказалась разряженной. Именно об этом, судя по всему, сигнализировал индикатор, отказываясь мигнуть три раза, а просто затухая. Ему просто не хватало энергии для подключения к шлюзу, несмотря на то что для этого используется энергоэффективный протокол Zigbee.
Xiaomi представила MIUI+. Что это такое и как этим пользоваться
Но есть в этой истории как минимум два положительных аспекта. Во-первых, я научился с лёгкостью открывать выключатель для замены элементов питания. А, во-вторых, сбил с продавца купон на следующую покупку, заставив его компенсировать траты на батарейки, которые я заказал на Озон.
Свободное общение и обсуждение материалов
Вышел Realme 8 Pro и это просто бомба. Вот как можно купить его дешевлеНесмотря на то что смартфоны Xiaomi всегда считались самыми выгодными по соотношению цена-характеристики, в последнее время цены на продукцию бренда стали меняться в большую сторону. Поэтому ценители «той самой» Xiaomi стали обращать внимание в сторону суббрендов компании, торгующих доступными аппаратами. Это Poco, Black Shark и Redmi. Но если Poco – это ещё недостаточно узнаваемый бренд, а Black Shark – производит только игровые смартфоны, то вот Redmi выглядит как настоящий приемник. Тем более, что и ассортимент у меня весьма хорош.
Xiaomi Mi 11 был первым телефоном Snapdragon 888, который был анонсирован в декабре 2020 года и вышел в продажу в начале 2021 года. Он стал продолжением знаменитой линейки, на которую компания делает все больший упор. Устройство предлагало хорошие характеристики в каждой из своих версий. Среди них в том числе были OLED-экран QHD+ с частотой 120 Гц, динамики с настройкой Harman Kardon и быстрая беспроводная зарядка. Сейчас, когда до выхода нового смартфона серии остается совсем немного времени, пришло время поговорить о том, что хочется увидеть в новинке. Список ниже будет основан не на домыслах и фантазиях, а на том, что действительно с большой долей вероятности может быть в новом телефоне.
2. Xiaomi Smart Home Suite - элементы умного дома Xiaomi
О элементах умного дома Xiaomi. Что требуется для их корректной работы?
- Шлюзы:
- Шлюз ZigBee - Необходим для работы устройств с ZigBee.
- Шлюз BLE (Bluetooth Low Energy) - Необязателен т. к. у большинства смартфонов есть BLE модуль. У шлюза есть функция постоянной синхронизации с несколькими устройствами BLE. У смартфона такой фунции нет.
- Устройства WiFi - Работают через обычный WiFi роутер 2.4 Ггц.
- Устройства ZigBee - Не работают без шлюза ZigBee.
- Устройства Bluetooth - Работают только напрямую со смартфоном. Для них не подходит шлюз BLE.
- Устройства BLE - Работают и со смартфоном (если у вашего смартфона есть BLE модуль) и со шлюзом.
- Модель: KTBL02LM
- Размеры продукта 73 x 73 x 35 мм
- Характеристики питания: 4000W 16A MAX, 250V
- Модель: KTBL01LM
- Стандарты Q / QLML010-2016
- Размеры 65 * 65 * 35 мм
- Технические характеристики: 3500 Вт 16 А 250 В
- Рабочая температура: -10'C
- Модель: ?
- Тип беспроводной сети: ZigBee
- Модель: ?
- Тип беспроводной сети: ZigBee
- Модель: ?
- Тип беспроводной сети: ZigBee
- Модель: ?
- Тип беспроводной сети: ZigBee
- Потребление: 0.15 А - 35 W
- Модель: ?
- Тип беспроводной сети: ZigBee
- Модель: ?
- Тип беспроводной сети: ZigBee
- Модель: ?
- Тип беспроводной сети: ZigBee
- Модель:
- Измеряемые показатели:
- Наличие движения
- Модель:
- Время срабатывания: 15ms
- Тип беспроводной сети: ZigBee
- Модель:
- Время срабатывания: 15ms
- Тип беспроводной сети: ZigBee
- Модель:
- Материал корпуса: ABS-пластик
- Срок эксплуатации: 2 года без замены аккумулятора
- Подключение: Bluetooth 4.1
- Вес: 73 грамма
- Размеры устройства: (ДхШхГ): 45 x 45 x 45 мм
- Модель: ?
- Тип беспроводной сети: ZigBee
- Измеряемые показатели:
- Влажность
- Температура
- Модель: GMR4001CN
- Подключение: Wi-Fi
- Вес: 100 грамм
- Размеры устройства: (ДхШхГ): 63 x 55 x 35 мм
- Модель: RTCGQ11LM
- Измеряемые показатели:
- Уровень освещенности
- Наличие движения
- Модель: WSDCGQ11LM
- Беспроводное подключение: ZigBee
- Технические характеристики батареи: CR2032
- Стандарт: Q / QLML006-2016
- Измеряемые показатели:
- Влажность
- Температура
- Давление
Не смотря на то, что практически все моменты касающиеся добавления этого шлюза в HA описаны на wiki компонента, в профильных телеграм-каналах регулярно возникают вопросы связанные с перепрошивкой и добавлением шлюза в HA.
Здесь я попробую собрать в кучку основную информацию по этому процессу.Быстрый переход
Начать стоит с того, что здесь изложено исключительно мое видение вопроса и мой личный опыт, он может не совпадать с вашим мнением и вашими желаниями.
Так же огромная благодарность всем участникам канала @xiaomi_gw_v3_hack!
Внимание!
На текущий момент существует возможность включить telnet (и, соответственно, добавить шлюз в HA) на любой версии прошивки, полностью программно, без вскрытия шлюза.
О том как это сделать можно почитать здесь.Общая информация
Имеет 2 антенны-липучки для WiFi и разведенные на платах антенны для Bluetooth и ZigBee.
Существует возможность припаять внешние антенны для ZigBee и WiFi, а так же Ethernet разъем.Прошивки
Список известных на текущий момент (версию можно узнать после добавления шлюза в Mi Home):
Важно!
На текущий момент для использования стоит рассматривать версию 1.5.0_0102 (официальная или кастом), поддержка прошивок старше 1.4.7_* прекращена начиная с версии компонента 1.6.Добавление в HA
При добавлении второй интеграции (шлюза) важно правильно указать команду, которая откроет на нем telnet (строка «Команда для открытия Telnet»), без этого шлюз в HA работать не будет.
Если на шлюзе прошивка до 1.4.6_0030 включительно, можно ничего не менять и оставить значение по умолчанию.
Во всех остальных случаях необходимо заменить команду на следующую:До 1.4.6_0030 (включительно):
После 1.4.6_0030:
После успешного добавления шлюза, не забудьте заблокировать обновление прошивки через Mi Home.
Без этого всегда есть шанс того, что шлюз обновит прошивку на новую, неподдерживаемую версию (автоматически или вы случайно согласитесь на обновление в приложении), в результате вы потеряете к нему доступ и потребуется вскрытие.Прошивка через UART
Основная и самая подробная инструкция находится здесь (на английском языке).
У меня нет цели ее заменить, первоисточник всегда лучше =) я лишь хочу осветить основные моменты на великом и могучем, возможно это кому-то упростит жизнь.Для начала шлюз необходимо открыть. На эту тему много инструкций, видео и фото, в т.ч. на wiki компонента.
Свой опыт я описал здесь.После этого нужно подключить провода к диагностическим площадкам на плате шлюза.
Здесь есть разные варианты, как с пайкой, так и без.
Расположение и назначение контактов на плате (как основных, так и резервных) есть в оригинальной инструкции.
Для прошивки нужно использовать 3 контакта: Rx (прием), Tx (передача), Gnd (земля).! Внимание!
Крайне осторожно отнеситесь к выбору USB-TTL (UART) адаптера, он должен работать в режиме 3.3V , т.е. напряжение между контактами Tx и Gnd адаптера должно равняться3.3 Вольта.
Точно подойдут адаптеры с возможностью выбора рабочего напряжения перемычкой:Если есть сомнения, лучше взять мультиметр и замерить напряжение перед подключением к шлюзу.
Вместо USB адаптера можно использовать Rspberry Pi, ESP* и прочие платы, имеющие на борту UART интерфейс c 3v3 логикой (напряжением 3.3V).
Т.к. у меня подобного железа нет, по вопросам их использования лучше всего обратиться к документации или на профильные ресурсы.Подключите шлюз к USB адаптеру. При подключении обратите внимание на схему:
! Убедитесь что размер скачанных файлов соответствует размещенным на GitHub!
(bootloaderМожно приступать к прошивке.
Для ОС Windows (автор метода @serrj-sv):
- Скачайте и установите ПО TeraTerm (например, версия 4.105)
- Скачайте mgl03_uart_recovery.ttl (скрипт, автоматизирующий процесс прошивки для TeraTerm)
- Запустите TeraTerm и выберите Serial и Port, к которому подключен USB-TTL адаптер
- В меню Control нажмите Macro и выберите скачанный ранее файл mgl03_uart_recovery.ttl
- Следуйте инструкциям во всплывающих окнах
- После окончания процесса и полной загрузки шлюза нажмите 10 раз подряд на кнопку на его корпусе.
Это сбросит все настройки шлюза к заводским (factory reset).
! Если при перепрошивке вы меняли ее версию (например 1.4.6 -> 1.4.7), вам стоит так же обновить и прошивку модуля Bluetooth.
Для ОС Linux (автор метода @CODeRUS):
- Убедитесь что у вас установлены утилиты expect, stty и sx (из пакета lrzsz)
- Скачайте mgl03_uart_recovery.expect (скрипт, автоматизирующий процесс прошивки)
- Поместите все 3 файла (bootloader, firmware, mgl03_uart_recovery.expect) в одну папку.
Избегайте использования пробелов и русских имен.
Не меняйте имена скачанных файлов.
- Убедитесь что у вашего пользователя есть права на доступ к устройству USB-TTL (чаще всего /dev/ttyUSB*)
Добавьте себя в группу dialout.
Далее все операции необходимо проводить в папке с .expect скриптом.
- Сделайте mgl03_uart_recovery.expect исполняемым
- Запустите скрипт на исполнение и следуйте инструкциям на экране:
Определить каким устройством ttyUSB* является нужный вам адаптер можно например так:
- После окончания процесса и полной загрузки шлюза нажмите 10 раз подряд на кнопку на его корпусе.
Это сбросит все настройки шлюза к заводским (factory reset).
! Если при перепрошивке вы меняли ее версию (например 1.4.6 -> 1.4.7+), вам стоит так же обновить и прошивку модуля Bluetooth.
Прошивка через Telnet
- Подключитесь по протоколу telnet к шлюзу
Логин: admin, пароля нет.
Для Win можно использовать Putty, TeraTerm, встроенный в ОС telnet.
Разное
Сброс настроек
Обновление firmware модуля Bluetooth
При смене прошивки шлюза обычным способом (через приложение Mi Home) в файле содержатся обновления в т.ч. и для чипов Bluetooth и ZigBee. Если же вы перепошивали шлюз через UART, все firmware чипов у вас остаются неизменными, такими, как они вышли с завода.
Но, благодаря энтузиастам разобравшим официальные прошивки на кусочки, у нас есть возможность обновить модуль Bluetooth вручную.Для обновления Bluetooth стека вам потребуется ZIP-файл соответствующий вашей версии прошивки:
Скачайте и распакуйте архив. Из архива вам нужен файл full_ble_<fw_version>.gbl.
Файл нужно скопировать на шлюз, например с помощью FTP.
Включить FTP на шлюзе с кастомной прошивкой можно либо подключившись к нему по telnet выполнить:После этого можно подключатся к шлюзу по FTP (ftp://ip_address), например с помощью Total Commander или FileZilla.
Скопируйте файл full_ble_<fw_version>.gbl в директорию /tmp, подключитесь к шлюзу по telnet, и выполните в зависимости от версии вашей прошивки.
Следите за выводом на экран, пример успешного выполнения:
После завершения процесса перезагрузите шлюз.
Проверить текущую версию прошивки Bluetooth можно в файле /data/ble_info:
Значение параметра ncp_target_version соответствует версии прошивки (123 для шлюза 1.4.6_*, 125 для 1.4.7_0115 и 130 для 1.4.7_0160 и более поздних).
Включение Telnet с помощью miIO
23.02.2021 в Telegram канале Xiaomi Gateway v3 Hack был опубликован полностью программный способ включения telnet на любой версии прошивки шлюза.
Оригинал инструкции на английском можно найти здесь.
Включить telnet можно следующими способами:Команда для включения telnet (замените <ip> и <token> на ip-адрес и токен вашего шлюза):
Пример выполнения на Linux:
На старых версиях прошивок (до 1.4.6_0030 включительно) существует возможность включить telnet с использованием другой miIO команды.
Данный способ был найден Serrj и опубликован на форуме HA.Читайте также:
- Влажность
- Уровень освещенности
- Влажность
- Шлюз ZigBee - Необходим для работы устройств с ZigBee.