Обновляем шлюз Xiaomi

Обновляем шлюз Xiaomi

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

Как альтернатива этому шлюзу появились координаторы в виде USB «стиков» второй или третьей версии. Свободные от недостатков шлюза Xiaomi, но требующие для своей работы дополнительное аппаратное и программное обеспечение. Но время не стоит на месте, появились проекты автономных шлюзов на ESP32,  это ZESP от @DJONvl и SLS от @avenit. Эти проекты дали толчок к идее модернизации оригинального шлюза Xiaomi, путем замены платы управления на собственную.

Разборка шлюза не составляет особых проблем при наличии специального инструмента (можно использовать отвертку с прямым шлицем, в котором надо сделать пропил)Обновляем шлюз Xiaomi

Разобранный шлюз выглядит так.Обновляем шлюз Xiaomi Видно две платы, одна с блоком питания и светодиодами, вторая с модулем WiFi+процессор от Marvell, за zigbee отвечает JN5169. Ее и будем менять.

В основе новой схемы лежит модуль ESP32-Wrover-B, со стороны zigbee предусмотрен выбор из нескольких готовых модулей, СС2538+СС2592, E75-2G4M10S, E75-2G4M20S, E18-MS1PA1-PCB. На плате разведен USB-UART на CH340E, который можно использовать как для прошивки ESP32, так и для взаимодействия с модулями zigbee напрямую, выбор осуществляется распайкой перемычек. Так же на плате есть аудио усилитель SSM2211 для использования штатного динамика. Для построения шлюза в минимальной конфигурации, достаточно распаять только ESP32 и модуль zigbee, прошивку ESP32 можно осуществить внешним USB-UART адаптером через соответствующий разъем. Для прошивки модулей необходимы cc-debugger SmartRF04EB для СС2530 и JTAG программатор для СС2538Обновляем шлюз XiaomiПлату проектировал в EasyEDAОбновляем шлюз XiaomiОбновляем шлюз XiaomiЗаказывал на jlcpcb  (5 плат с доставкой $8)Обновляем шлюз XiaomiПримерка, с размерами нет проблем.Все направляющие и защелки на своих местах.Обновляем шлюз XiaomiПервая встреча с оригиналомОбновляем шлюз XiaomiМожно приступать к пайкеОбновляем шлюз XiaomiПроверка результатаОбновляем шлюз XiaomiНа модулях есть антенны на платах и разъемы ipx, если нужно улучшить условия приема/передачи. Удобно использовать антенны такого типа, гибкие на самоклеющейся основе.Обновляем шлюз Xiaomi

Для тестов в плату была загружена прошивка шлюза SLS. Интерфейс с подключенными устройствами выглядит так Обновляем шлюз Xiaomiв текущей версии реализована локальная логика, т.е. можно настроить взаимодействие между устройствами zigbee разных производителей без использования УД.Обновляем шлюз Xiaomi

Примеры

  • single, lamp_1, state, TOGGLE — Для кнопки, при одиночном нажатии переключает режим lamp_1
  • ON, 0x00158D00007350D9, state, OFF; OFF, 0xABCD, state, ON — Для выключателя, инвертирует режим для реле
  • single, door_lock, state, LOCK; double, door_lock, state, UNLOCK — Закрывает замок при клике, открывает при двойном
  • torsher_lamp — Передает в torsher_lamp текущее состояние
  • <40, humidifier, state, ON; >60, humidifier, state, OFF — Для датчика влажности, включает увлажнитель если влажность меньше 40% и выключает если больше 60%

Для связи с серверами «умного дома» используется протокол MQTT. Данный протокол поддерживается практически всеми системами ориентированными на управление IoT.

Например в MajorDoMo, стараниями @Dmitrii_Sannikov в его модуле  ваши устройства через этот шлюз будут выглядеть такОбновляем шлюз Xiaomi

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

Можно оценить качество звука

На базе этой платы можно собрать несколько устройств, распаяв на плате одну из комбинаций деталей.

  • ESP32+zigbee модуль = универсальный шлюз zigbee
  • Модуль zigbee+usb-uart = координатор zigbee для использования с zigbee2mqtt, ioBroker и т.д.
  • ESP32 + усилитель = Интернет-радио, светильник RGB

Для желающих повторить, gerber файлы и ВОМ можно взять здесь.

На текущий момент проверена работа с модулями на чипах СС2538 и СС2530.

Устройство можно обсудить в профильном чате телеграм.

Оцените статью