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

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

Как альтернатива этому шлюзу появились координаторы в виде USB «стиков» второй или третьей версии. Свободные от недостатков шлюза Xiaomi, но требующие для своей работы дополнительное аппаратное и программное обеспечение. Но время не стоит на месте, появились проекты автономных шлюзов на ESP32,  это ZESP от @DJONvl и SLS от @avenit. Эти проекты дали толчок к идее модернизации оригинального шлюза 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
Плату проектировал в EasyEDAЗаказывал на jlcpcb  (5 плат с доставкой $8)Примерка, с размерами нет проблем.Все направляющие и защелки на своих местах.Первая встреча с оригиналомМожно приступать к пайкеПроверка результатаНа модулях есть антенны на платах и разъемы ipx, если нужно улучшить условия приема/передачи. Удобно использовать антенны такого типа, гибкие на самоклеющейся основе.

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

Примеры

  • 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 в его модуле  ваши устройства через этот шлюз будут выглядеть так

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

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

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

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

Так как файлы платы были предоставлены некоторым лицам заранее, то @avenit так же успел собрать плату в зеленом дизайнеДля желающих повторить, gerber файлы для заказа плат (толщина платы 1мм.), BOM

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

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

Небольшое дополнение. По сборке нет особых тонкостей, кроме разве что разъема. Модель указанная в BOM короче оригинальной, по причине того что на aliexpress не нашлась в таком размере. По этой причине, для надежного контакта, ее нужно запаивать не на всю глубину, подложив временную прокладку.

Если у вас нет шлюза Xiaomi то это не проблема, плату можно использовать автономно. @nick7zmail спроектировал корпус для печати на 3D принтере.В связи с появлением поддержки SD карты в SlS Gateway публикую файлы gerber  и схему давно спроектированной платы с картой.Так же теперь доступны файлы субплаты с адресными светодиодами WS2812. Для ее использования основной разъем на плате шилда необходимо распаять со стороны деталей.

 

Запись опубликована в рубрике handmade, Железо с метками , , , . Добавьте в закладки постоянную ссылку.

56 комментариев на «Обновляем шлюз Xiaomi»

  1. nail163 говорит:

    А будет ли возможность приобрести окончательный вариант в корпусе?

  2. AvdeevSV говорит:

    Запаянные esp и zigbee модули можно прошить? Или сначала прошиваем, а только потом припаиваем?

    • Jager говорит:

      Конечно можно, у сс2530 и сс2538 выведены пины под прошивку, JN5168/69 шьется через esp.

  3. vladimir karpenko говорит:

    Если не секрет, какая прошивка залита в ESP32 во втором видео, где проверяется работа динамика?
    Каким образом реализовано воспроизведение?

    • Jager говорит:

      В данном видео демонстрация возможностей аппаратной части аудиотракта, звук буде в sls в ближайших обновлениях.

      • AvdeevSV говорит:

        А щелчки в начале/конце воспроизведения это аппаратный косяк?

        • Jager говорит:

          Это просто демо «по быстрому», делал автор шлюза sls. Усилитель там управляемый, возможно щелчок это переходные процессы при включении/выключении, в таком случае его можно будет вообще не отключать. Но возможно что это артефакты синтеза голоса.

  4. Oleg говорит:

    Тоже воюю с этим железом…
    Мдя… куча гигантских компаний выпускают всякую недоработанную херню за деньги.
    И тут приходит один из толпы и в два штриха выпускает то, чего эти монстры никак не выпустят…
    И так во всем.

    Странно как то.

  5. Михаил говорит:

    Добрый день!
    Вроде как, существуют как минимум 2 версии шлюза Xiaomi: одна как у вас, и одна с кольцевым расположением текста, нанесённого на заднюю сторону устройства. Ваша разработка может использоваться в обеих версиях этого девайса?

    • Jager говорит:

      Их больше 2 версий + еще акара. Версия которая на фото, самая распространенная. Что там внутри в версии с другим расположением текста я не знаю, у меня нет такого шлюза.

  6. Руслан Гелевера говорит:

    Подскажите пожалуйста ESP32 16mb или хватит 4?

  7. vladimir karpenko говорит:

    Приветствую!
    А можно чуть подробнее описать назначение перемычек?
    И еще, если я собираюсь использовать плату непосредственно в шлюзе, какую обвязку не обязательно распаивать?

    • Jager говорит:

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

  8. Олег Архипов говорит:

    Здравствуйте, у меня нет шлюза от ксиоми, интересует вопрос с питанием платы

  9. Роман Попов говорит:

    Шлюза нет. Корпус нарисую и распечатаю. Питание тоже приторочить не проблема. Объясните как работают светодиоды и где взять для них файлы? Ну или хотя бы распиновку вот этого 14pin коннектора можно посмотреть?
    Я так понимаю, логика работы светодиодов уже есть в прошивке?
    И еще вопрос, а питания через USB для диодов хватит?

    • Jager говорит:

      Распиновка разъема есть на схеме. Логика работы светодиодов зависит от того что вы прошьете в есп. В usb вы можете подключить в случае необходимости бп на 1-2 ампера.

  10. Павел говорит:

    Здравствуйте. посоветуйте, что лучше взять: JN5169, JN5168 или CC2538 для модернизации хаба и чем они отличаются? и чем шьется JN5168?

    • Павел говорит:

      JN5168 полностью поддерживается хабом? у него мощность выше чем у cc2538 и ценник ниже

      • Jager говорит:

        Это зависит от ПО которое вы загрузите. Ссылки на 2 версии гейта есть в статье, поддерживают ли они полноценно nxp можно спросить у авторов.

    • Jager говорит:

      СС2538 точно проверен, модули от nxp в процессе. Шьются они через uart.

  11. Вадим говорит:

    Добрый день. Заказал плату в JCBPCB. мне пришло сообщение, что не могут изготовить — необходимо исправить файл.

    «Check the audit failed reason:

    the spacing between slot to slot or outline require 3mm at least in case of break off , kindly replace with new file .»
    Как его исправить?

    • Jager говорит:

      Напишите что так и должно быть, пусть запускают в производство.

      • Вадим говорит:

        китайцы упираются :

        The spacing between slot to slot or outline require 3mm at least in case of break off.if you cannot fix the file it is out of our capability,we only cancel this order

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

        • Jager говорит:

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

          • Вадим говорит:

            Вот так ответили из jlcpcb на мое письмо с фото готовых плат:

            In order to avoid complaint, we are stop to accept this kind of boards as our rule ,because it is east to broken

            Чтобы избежать жалоб, мы перестаем принимать этот вид плат как наше правило, потому что его легко сломать .

      • Вадим говорит:

        можете мне прислать файл в формате .json для EasyEDA?
        Я сам исправлю.

      • Вадим говорит:

        Китайцы сняли заказ 🙁

  12. Giovanni C говорит:

    Может кто-нибудь предоставить информацию, как загрузить и настроить ZESP на этой плате? Я хотел бы попробовать это, но кажется, что GPIO не совместимы, и трудно найти информацию

    • Jager говорит:

      Для ZESP нужна SD карта. На сегодняшний день на этой плате прекрасно работает SLS Gateway

  13. Skytronix говорит:

    А где можно узнать про прямоугольную версию платы?

    • Ewas говорит:

      там версия без mSD ридера

    • polsik говорит:

      подскажите пожалуйста зачем в схеме 4 кнопки sw1, можно обойтись одной?

      • Jager говорит:

        SW1 там одна. Странный вопрос конечно…из серии «зачем в автомобиле 4 колеса, можно одним обойтись?» Они там не просто так.

  14. Andrey говорит:

    А при чём тут Сяоми??

  15. Василий говорит:

    Какие micro-Usb стоят на плате с поддержки SD карты? Они отличаются от разъемов для первой версии платы и в BOM файле нет ссылки на них.

    • Jager говорит:

      Не отличаются, можно запаивать и от первой версии. В версии с картой изменен футпринт что бы можно было так же использовать micro USB с «ножками»

  16. Дмитрий говорит:

    Подскажите пожалуйста проверял ли кто работу с e18-2g4z27si модулем?

  17. Alex говорит:

    Подскажите типоразмер светодиодов на суб плату. По каким ключевым словам искать?

  18. Вадим говорит:

    Будет ли данный шлюз определяться, как устройство Xiaomi? И возможно ли его будет привязать к Яндекс- станции с новыми zigbee устройствами?

  19. Александр говорит:

    Здравствуйте, помогите решить проблему
    хотел заказать платы на pcbway но меня попросили исправить дорожки
    https://pcbwayfile.s3-us-west-2.amazonaws.com/msgfile/20/09/22/1142489271043t.png
    с 4/4mil на 6/6mil, иначе цена на такую плату в разы дороже.
    Спасибо, С ув. Александр

    • Jager говорит:

      Заказывайте на jlcpcb.com

      • Александр говорит:

        Jager, спасибо но у меня на pcbway есть купон на 5$, платы получатся без платно, только доставка.

      • Александр говорит:

        Пожалуйста, исправьте в easyeda в исходниках это не сложно.
        Спасибо, С ув. Александр

  20. ewas говорит:

    Имею 10 не нужных СС2538+СС2592 где бы их использовать кроме координатора или SLS.

Добавить комментарий