Доступ к настройкам ble Xiaomi что это

Компания Xiaomi постепенно отказывается от технологии ZigBee в своих новых датчиках для Умного Дома. Все больше и больше девайсов появляются на технологии Bluetooth — новой для построения Умных Домов. Сердцем такой системы является Bluetooth шлюз. Об особенностях этой технологии и поговорим в данной статье.

Главным отличием протокола связи Bluetooth в отличие от Зигби является принцип подключения датчиков и взаимодействия с шлюзом. В случае старого доброго ZigBee все дочерние устройства (датчики, выключатели ит.д.) подключаются непосредственно к конкретному шлюзу, даже если их у вас несколько.

А в технологии Bluetooth — датчики просто (в случае срабатывания или через определенные интервалы времени) шлют сообщения с данными в эфир всем доступным Bluetooth шлюзам, и если последние находятся в радиусе действия они их принимают и отправляют в облако.

bluetooth kak dobavit2

Xiaomi судя по всему заблаговременно начали готовиться к переходу на технологию связи по Bluetooth для своей экосистемы MiHome поскольку уже несколько лет назад они начали оснащать многие свои гаджеты BLE шлюзами.

XIAOMI ЧАСЫ на ЧЕРНИЛАХ с ТЕРМОМЕТРОМ, ГИГРОМЕТРОМ и BLE нового поколения

Так например, такие шлюзы встроены в популярный увлажнитель воздуха Smarmi 2, настольную лампу Bedside и даже в робота пылесос Xiaomi Vacuum Cleaner G1. Правда производитель запретил в приложении работу нестандартных блютуз шлюзов в регионах где они официально не поддерживаются, но эту проблему можно легко обойти на модифицированном MiHome читайте далее в статье.

Какой блютуз шлюз купить?

Несмотря на то, что блютуз шлюзы есть во многих устройствам Xiaomi, наиболее рационально будет именно покупка, специализированного девайса, — на данный момент это Xiaomi Gateway 3. Который обладает поддержкой всех протоколов используемых в Умном Доме Xiaomi Mihome — ZigBee 3.0, Bluetooth и Bluetooth Mesh.

Касательно последних 2-х стоит понимать что это две разные технологии, если ble — это пассивное отправление данных с датчиков в эфир, то ble mesh создает активную сеть, через которую гаджетами можно будет управлять, например выключателями или светильниками, а не только принимать от них данные.

Bluetooth shlyuzy Xiaomi

Нестандартные BLE шлюзы

Это как раз bluetooth шлюзы которые находятся в устройствах выполняющих другую функцию — например увлажнитель воздуха, но и попутно могут принимать данные от bluetooth датчиков, например к такому шлюзу вы сможете подключить датчик температуры и влажности Mijia Bluetooth Hygrothermograph 2 не покупая специализированный Gateway 3.

Правда у такого решения будет недостаток в том, что нестандартные шлюзы отправляют данные в облако не мгновенно, а по прошествии определённого времени, обычно раз в 10 минут. Поэтому полагаться на них в критичных автоматизациях не самое правильно решение.

Активация нестандартных Bluetooth шлюзов

Поскольку Xiaomi ограничила возможность применения нестандартных BLE шлюзов в «неродных» для девайса регионах, то на оригинальном MiHome из Play Market или AppStore вы не сможете ими воспользоваться. К счастью, энтузиасты из проекта kapiba.ru вернули возможность включения их на уровне приложения. Чтобы активировать нестандартные шлюзы, вам понадобится смартфон на Android и установленный MiHome Vevs. Далее по шагам.

1 Заходим в Профиль — Экспериментальное.

2 Включаем пункт — Нестандартные BLE шлюзы.

bluetooth kak dobavit3

После этого даже на не родных для устройств регионах, например для Китайского увлажнителя Smarmi 2 подключенного на регион Россия, появится возможность подключения к нему блютуз датчиков или других девайсов.

Источник: rumihome.ru

Протокол Bluetooth Low Energy: поддержка устройствами и специфика работы

Протокол BLE

Способов трансляции данных «по воздуху» создано и используется довольно много. Популярностью обзавелся протокол BLE, который внедрен в электронику различного типа и успешно используется и по сей день. Что из себя представляет данный протокол и в каких сферах применим — рассмотрено в этой статье.

Зачем разработали BLE

BlueTooth Low Energy

После изучения и успешного применения передачи информации без проводов, появилась потребность передавать данные, используя устройства с автономными источниками питания. Проблема состоит в том, что с этим устройством должно работать еще одно, которое постоянно передает данные либо слушает эфир.

Как включить телевизор hd телевизор Xiaomi mi TV 32 p1 32

Если у приемника и передатчика имеется батарейное питание, то наблюдаются проблемы со связью при разрыве постоянной передачи связи для экономии энергии, которые решили с новым протоколом передачи данных BlueTooth Low Energy (BLE).

BLE – это режим низкого энергопотребления, способствующий экономии заряда аккумулятора у сопряженных устройств.

Протокол стал частью Bluetooth 4.0. Операционная система Android поддерживает BLE с версии 4.3. В качестве пары, работающей с BLE, берется телефон с современной ОС, совместно с батарейной малой техникой (например, гарнитура). Но не исключены и взаимодействия иных гаджетов.

Чтобы принимать и передавать данные в необходимом объеме беспроводным способом, в стандарт Bluetooth LE включена скорость передачи информации, равная 1 Мбит/сек. Постоянный обмен данными затрачивает энергию, тем самым расходуя ее запасы. Поэтому протокол подразумевает разрыв постоянного эфира для экономии. Поэтому в протоколе не только важна скорость, а и то, что гаджеты умеют синхронизироваться друг с другом тогда, когда это необходимо.

Около 99% всего времени гаджеты спят и экономят энергию. Потом просыпаются на короткий период для обмена данными и снова засыпают. Но чтобы пребывать в данном режиме, устройства сперва между собой необходимо синхронизировать. Этот режим и называется advertising.

В каких сферах применяется

Протокол BlueTooth Low Energy

Протокол BLE используется по сценарию: редко передавать данные и обрабатывать долгое время. В частности, возможно использование двухрежимных гаджетов BLE в смартфонах, планшетных ПК, ноутбуках. Однорежимные могут использоваться во множестве сфер деятельности. Под эти сферы попадают устройства из разделов здоровья, автоматизации, анализа, управления.

Множество задач могут решаться, когда в радиусе двухуровневого модуля определяются иные одноуровневые BLE-приборы. К этим приборам относятся приборы-сигнализаторы, что уведомляют владельца об удалении от сумки, барсетки, кошелька, переносной тары и иных персональных вещей, оснащенных BLE-модулем. Отличное применение данным брелкам с BLE находят в качестве маячков для ребенка, чтобы не потерять его в достаточно людных местах.

Устойчивая работа и низкое энергопотребление протокола BLE позволяют рассматривать его в качестве замены NFC, а именно RFID-меток. Но вариант совмещенной работы BLE + NFC выглядит более привлекательно. BLE дает большой радиус, сопряженный с устойчивой работой, второй отвечает за логическое сопряжение пары, плюс обеспечивает надежную защиту за счет малого радиуса действия.

Не обходят стороной данную спецификацию в системах умных домов. Работа приборов через блютуз с низким энергопотреблением позволяет открывать удаленно двери, ворота и приводить в действие прочие механизмы с большого расстояния, подолгу не меняя аккумулятор в беспроводном и компактном органе управления.

Кроме того, внедрение в смартфон, который всегда под рукой, BLE-модуля позволит на приличном удалении через сопряженные каналы управлять любыми приборами и аксессуарами умного дома. Или подключаться к сенсорной панели для удаленного управления с другой комнаты.

Поддерживаемые устройства

Протокол BLE содержится в модулях со встроенным программным обеспечением. Модулями оснащаются конечные устройства. В качестве модулей можно выделить:

  1. BT111 – создан для приложений, где нужна работа со стандартными протоколами Bluetooth и BLE.
    BT111
  2. BLE112 – однорежимный BLE-модуль для сенсорных систем и прочих аксессуаров с батарейным питанием.
    BLE112
  3. USB BLED112 – аналогичный однорежимный BLE-модуль со всеми свойствами BLE112, но выполнен в форм факторе USB-флешки.
  1. Спортивные аксессуары по типу шагомеров, пульсометров, ритмометров, которые имеют форму часов для руки или браслета.
  2. Различные сенсоры для определения движения, температуры, влажности.
  3. Системы чтения и отображения информации с автономным источником питания.
  4. Бытовая медтехника по типу измерителей глюкозы, тонометров, температурных измерителей.
  5. Гаджеты для удаленного вызова, по типу радио-няня.
  6. Приборы бытовой электроники, по типу беспроводной периферии (клавиатуры, мышки), панелей и пультов.
  7. Устройства для автоматизации в жилом доме по типу шлюзов между соединенной к Smart House сенсорной сетью и смартфонами с Блютуз.
  8. Устройства безопасности, по типу тревожных кнопок, бесконтактных ключей и прочее.

Определение поддержки

  1. BLE Checker.
  2. LightBlue.
  3. Bluetooth LE Scanner.

Множество таких «определителей» находится в Play Market и доступны для использования бесплатно. Модели телефонов, выпущенные до 2015 года включительно, могут не поддерживать данную опцию.

Беговая дорожка Xiaomi walkingpad r2 отзывы

Вопросы безопасности BLE

Защита канала передачи данных между парой устройств в протоколе BLE обусловлена двумя режимами LE Секьюрити мод 1 и LE Секьюрити мод 2. Первый режим работает на Data Link layer (DLL), второй на ATT -уровне к PDU плюсуется двенадцати байтная сигнатура.

Режимы безопасности включают в себя несколько уровней, используемых в зависимости от типа соединения.

Вопросы безопасности BLE

  1. Первый – на канальном уровне два модуля обмениваются информацией о доступных возможностях ввода-вывода, а после принимают решение, по какому из обнаруженных произойдет взаимодействие.
  2. Второй – создание ключа для третьего этапа, который называется «временный ключ краткосрочного значения». Он послужит для надежной передачи данных о временном ключе. Ключ может быть передан тремя способами: с использованием альтернативного канала NFC, с введением шестизначного кода, вводимого пользователем, или без проверки аутентификации, если первый и второй способ организовать невозможно.
  3. Третий – конечные точки соединения обмениваются тремя 128 битными ключами и, если нарушений не замечено, пара успешно синхронизируется.

Источник: future2day.ru

BLE шлюз из Xiaomi Gateway DGNWG05LM *без BLE

В этом посте я расскажу как можно собирать данные BLE и передавать через MQTT в системы умного дома, например в HomeAssistant.

Как все начиналось?

Эта история началась в прошлом году: у меня появился несколько таких шлюзов. В то время было несколько статей по получению root доступа, интеграции miio в HA и по прошивке чистого openwrt на шлюз. Толчком к развитию стал сезон распродаж в разных магазинах, где стоимость шлюза стремилась к нулю , и многие энтузиасты получили интересную железку.

Было обнаружено, что в wifi модуле rtl8723bs европейской версии шлюза есть встроенный bluetooth с поддержкой BLE.

Несколько плат очень помогли разобраться в внутреннем мире шлюзаВот как плата выглядит без процессора )

Bluetooth инициализируется через rtk_hciattach при запуске шлюза. После загрузки мы получаем такую картину hciconfig

Я знаю 2 пути, как можно включить bluetooth адаптер.

  • Руками hciconfig hci0 up
  • изменив параметр AutoEnable конфиге /etc/bluetooth/main.conf на true

Я выбираю второй. Интерфейс запущен. Для проверки можно запустить скан hcitool lescan

Работа с BLE

Мои знания по BLE были на нуле, и чтобы было проще разобраться я искал что-то готовое по типу zigbee2mqtt. Перепробовал несколько решений на Node.Js, в том числе пакеты для node-red. Остановился на проекте EspruinoHub. (хоть и код там не супер современен и технологичен, но зато работает)

После запуска с отсылкой данных в локальный mqtt сервер, в CLI и web интерфейсе уже показались распарсенные данные с части датчиков LYWSDCGQ (круглые гигротермографы) .

Раньше я их слушал на esp32 через esphome. Небольшое сравнение получаемых данных с одного термометра.

Это меня порадовало, но у меня было еще несколько устройств, данные от которых я увидел почти в raw виде. И я решил использовать эту программу и немного улучшить ее.

пример cli интерфейса с статусом доступных устройств

Многие устройства Xiaomi с bluetooth шлет BLE Advertising Packet, в большинстве случаев в нем содержится полезная нагрузка в виде измерений, которые производит устройство. Часто данные отправляются открыто, но используется шифрование с ключом.

Например для браслета MiBand данные выглядят вот так. Если есть данные о пульсе то они добавляются в конец

В устройствах xiaomi, часто используется BLE сервис fe95. В интернете есть небольшая документация по нему .На github есть множество проектов которые умеют парсить эти данные. На основе этих данных и существующей реализации espruino я немного улучшил парсинг открытых данных, но потом я нашел более красивое решение из hannseman/homebridge-mi-hygrothermograph. Мне особенно понравилась стандартизация разных событий и расшифровка исходя из данных заголовка.

Этот парсер закрыл вопрос с большинством устройств Xiaomi, отправляющих данные в fe95. Можно еще попробовать добавить некоторые типы событий (движение, дым, нажатие на кнопку), но у меня нет таких устройств под рукой.

Я добавил в EspruinoHub данный парсер, и реализовал возможность указать настройки для разных устройств. Это необходимо для устройств, которые шифруют с помощью bindKey свои пакеты. Получить bindKey можно из miHome.

MQTT Discovery — Home Assistant

Данных стало больше, но хотелось чтобы они автоматически появлялись в HomeAssistant. EspruinoHub отправляет данные которые и слышит в эфире, и не имеет на данный момент привязки к конкретным устройствам. Поэтому в момент появления данных, если они из списка поддерживаемых отправляется config устройства в топик homeassistant в mqtt и устройства появляются в системе умного дома

В приложении сообщения произошла ошибка Xiaomi

Добавленные и протестированные устройства.

В результате изучения разных решений и raw сообщений от устройств удалось добавить или улучшить интеграцию следующих устройств в пассивном режиме (только слушаем эфир не подключаемся к устройствам и не тратим батарейку).

LYWSDCGQ — работал «из коробки». Добавил только mqtt discovery в HA

показания пере

LYWSD02 — температура, влажность и батарейка

Самый бюджетный датчик температуры и влажности с экраном LYWSD03MMC — температура, влажность и батарейка (нужен bindKey). Существует 2 альтернативные прошивки, они очень крутые и продвинутые. Особенно от Виктора pvvx. Рекомендую использовать именно ее. Помимо лучшего потребления она шлет данные в одном пакете, а не в трёх и имеет множество настроек.

MI SCALE — 181d v1 По крупицам из разных источников допилена реализация в которой показываются данные о — стабилизации веса (весы моргают) — убрали вес (встали с весов) — дата и время измерения. 181b v2 Работает, но не тестировал лично. Возможно нужно что-то допилить

Mi band 3 fee0 Шаги и Пульс в режиме тренировки. Чтобы браслет отправлял данные необходимо включить обнаружение в MiFit.

Как оказалось шлюз очень хорошо и далеко слышит, а эта функция включена у многих людей. Работает это и для других моделей и даже на некоторых часах например Amazfit GTS

HHCCJCY01 MiFlora, Huahuacaocao — temperature, moisture, illuminance, conductivity, battery_level

Другие устройства тоже можно попробовать подключить. Если они шлют в кодированном виде, то в mqtt об этом будет ошибка с просьбой указать bindKey в конфиг.

YEERC — я обнаружил что прошивка для esp32 tasmota сообщает, что поддерживает данный пульт. Он идет в комплекте с многими люстрами YEELIGHT, но к сожалению у меня не получилось нигде найти как получить 32 символьный bindKey для него. Сообщения нажатий я вижу, но не могу расшифровать. (Значение event закодировано и зависит от counter который увеличивается с каждым нажатием) Возможно кто-то из читателей подскажет как добыть данный ключик. Пульт можно привязать к нескольким люстрам в разное время и они будут вместе расшифровывать и отрабатывать нажатия. Скорей всего ключ там не изменяется со временем или привязкой.

Как установить EspruinoHub на шлюз Xiaomi с OpenWrt ?

Можно установить и на другие устройства с помощью git / npm, инструкция на странице проекта EspruinoHub

Установка

Мои последние наработки собраны в пакет и ставятся с помощью opkg

Дальше установить собранный пакет.

opkg update opkg install node-espruinohub

Конфигурирование

По-умолчанию он будет пытаться подключиться к локальному mqtt без авторизации. Если вы хотите подключить к внешнему брокеру mqtt, то нужно изменить конфиг в /etc/espruinohub/config.json

Внимание! у некоторых настроек в начале стоят слеши чтобы они не применялись. (конфиг в этом проекте частично сделан как пример и я не стал ничего менять)

Пример конфига можно посмотреть тут. Если вы знаете мак адреса своих устройств то рекомендую их прописать и установить «only_known_devices»: true , чтобы не отправлялись данные с чужих устройств из эфира.

Для работы с HomeAssistant достаточно отправлять данные в json формате, а остальное можно выключить. По умолчанию будет отправлять в топики с группировкой по типу данных.

«mqtt_format_json»: true, «homeassistant»: true, «mqtt_cache_state»: true

Планы

Отслеживание носимых устройств по rssi между комнатами. Для этого в конфиг я добавил возможность указать минимальный rssi в разрезе устройства и таймаут присутствия.

данные с устройств летят достаточно часто если они в зоне прямой видимости.

Активные подключения: хочу попробовать управлять некоторыми устройствами по BLE, но для одновременного подключения и сканирования Bluetooth модуль и ПО могут работать нестабильно. Поэтому я пока только изучаю этот вопрос.

Альтернативные opensource проекты работающие с BLE на шлюзе

  • devbis/ble2mqtt — своя реализация на python через bleak, умеет подключаться к чайникам, но сильно грузит процессор.
  • Beetle-II/lumi — тот же парсер из hannseman/homebridge-mi-hygrothermograph, но без возможности задать индивидуальный ключ bindKey для устройства. Нет raw данных и управление через mqtt. + Умеет работать не только с BLE.

Спасибо, что дочитали до конца!

Если у Вас есть вопросы, то можете задавать их в комментариях.

  • ble
  • умный дом
  • bluetooth low energy
  • xiaomi gateway
  • lumi.gateway.mieu01
  • DGNWG05LM
  • xiaomi mi band
  • xiaomi mi flora
  • homeassistant

Источник: habr.com

Рейтинг
( Пока оценок нет )
Загрузка ...
Китай Покупай