Вход на сайт

Зарегистрировавшись на сайте Вы сможете добавлять свои материалы






Самодельный шлюз


Собираем DIY шлюз для Zigbee устройств / Хабр

Вступление

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

Наибольший толчок развития DIY шлюзам дал проект zigbee2mqtt. На момент написания заметки в проекте реализована поддержка 785 устройства от 140 производителей.

Поиск показал наличие интересных конкурентных проектов AqaraHub(написан на с, похоже, что развитие приостановлено, последний коммит был 5 месяцев назад), нативная поддержка в ioBroker (проект ведет наш соотечественник Киров Илья), нативная поддержка в Home-assistant (поддержка появилась после появления библиотеки zigpy, активно развивается, но пока далека от совершенства). Обзор программных шлюзов хорошо разобран в интернете, имеется множество статей, желающий найдет информацию по тэгам в конце статьи.

После того, как zigbee2mqtt набрал достаточную популярность, пользователи ощутили и недостатки "программных" шлюзов. Среди наиболее заметных можно выделить следующие:


  1. необходимость использования отдельного сервера или одноплатного компьютера raspberry или аналога;
  2. на одноплатном компьютере для работы USB устройств нужен хороший блок питания, необходимо предусмотреть охлаждение одноплатного компьютера, также требуется карта памяти хорошего качества с достаточным свободным местом. При использовании одного мини-компьютера для "программного" шлюза и системы управления умным домом, необходимо следить за наличием свободного места на карте памяти, которое может внезапно заполниться логами или другими файлами;
  3. загрузка и поддержка актуальности версий интерпретатора и библиотек Node.JS. Обновление версий zigbee2mqtt производится из консоли, при обновлении есть необходимость в создании резервной копии конфигурации и последующего обновления;
  4. отсутствие визуального интерфейса из коробки.

Все указанные недостатки были отмечены группой энтузиастов, которые постарались на базе доступных для заказа на Aliexpress комплектующих разработать альтернативный DIY Zigbee шлюз. Использование аппаратного шлюза должно уменьшить количество сбоев, связанных с работой операционной системы и сделать более надежное решение, которое можно использовать из коробки. Для поддержки оборудования была написана прошивка SLS Zigbee Gateway, которая распространятся бесплатно. В настоящее время полноценно поддерживается работа более 100 видов устройств, список постоянно расширяется.

Ведется работа по наполнению и актуализации руководства по использованию шлюза. Уже сейчас реализована возможность использования сценариев на языке lua (доступны функции работы с сервером MQTT, вызов url методом POST или GET, изменение состояний устройств в зависимости от состояний устройств). Для интеграции с системами умного дома доступен поддерживаемыми почти всеми системами протокол MQTT. Для ускорения интеграции устройств шлюза в системы умного дома, структура топиков полностью соответствует структуре zigbee2mqtt.

Для интеграции с MajorDoMo разработано дополнение. Интеграция с Home-assistant описана в инструкции. В скором времени будет реализован механизм discovery для home-assistant. Также доступен вариант управления устройствами шлюза через HTTP API. В среднесрочной перспективе будет реализована работа с оборудованием BLE.

Стоит отметить, что имеются альтернативные прошивки и решения, имеющие в основе похожее причины для создания DIY шлюза. Ведется аналогичный проект на том же оборудовании по названием ZESP. К сожалению, обновления проекта Zesp для ESP32 свободно не распространяются, поэтому оценить текущую функциональность не представляется возможным.

Также команда авторов прошивки Tasmota запустила проект реализации подобного шлюза на базе микроконтроллера ESP8266 и трансивера сс2530.


Самостоятельная сборка шлюза

В качестве аппаратной начинки шлюза используется современный микроконтроллер ESP32-WROVER-B от Espressif, который согласно даташиту с сайта производителя может одновременно работать с WiFi и BLE, имеет достаточный для работы шлюза объем оперативной памяти и хорошую производительность. Еще одной полезной особенностью данного чипа является доступность написания кода в Arduino IDE или PlatformIO, а также его цена.

Работоспособность протокола Zigbee обеспечивает трансивер от Texas Instruments сс2538 с усилителем сс2592. Пользователем @Jager_f было проведено тестирование дальности связи беспроводной кнопки от компании Xiaomi, которое показа показало до 800 метров уверенного приема на открытой местности.

Главным преимуществом трансивера является многофункциональность. Он может работать как через встроенную эмуляцию USB, так и через UART. Для использования UART была написана прошивка.

Более подробно информация по перепрошивке разобрана в статье Прошиваем СС2538 с помощью J-Link на сайте modkam.ru.

Также существуют готовые модификации плат для Raspberry через UART.

Схема подключения ESP32 и сс2538 сс2592 указана на рисунке:

Готовые герберы и файлы для заказа плат можно взять на сайте modkam.ru

Отличную видео-инструкцию по сборке шлюза подготовил Руслан Надыршин на своем канале "Электроника в объективе"

Имеется "альтернативный" (прямоугольный) вариант платы от @vofkindt

Также SLS Zigbee шлюз можно собрать на базе ESP32 и устаревшего модуля сс2530. Производительность старого чипа от TI сильно отстает от сс2538, поэтому рекомендуется их использовать только для ознакомления. Более подробная информация представлена в начале обсуждения темы по ссылке.

Готовые шлюзы, собранные энтузиастами, можно приобрести в группе в telegram


Начало работы

После прошивки zigbee модуля и ESP32, при включении шлюза создается точка доступа zgwABCD, где ABCD — последние символы MAC-адреса ESP32. Далее необходимо с помощью телефона подключиться к новой точке доступа и ввести реквизиты вашей сети Wi-Fi.

После того, как шлюз подключился к сети, в настройках вашего маршрутизатора можно уточнить его ip адрес. Интерфейс управления может быть доступен на 80 порту по адресу, который выдал маршрутизатор, например http://192.168.1.93.

После того, как вы подключитесь к шлюзу SLS Zigbee Gateway, вам необходимо зайти на страницу настроек GPIO микроконтроллера (из меню основной страницы Settings -> HW Setup) и выставить настройки портов GPIO. Ниже приведены настройки для круглой платы:

Если шлюз собран и прошит правильно, то на главной странице в разделе Zigbee вы должны увидеть Zigbee DeviceState: 9 [OK]


Сопряжение устройств

Добавление устройств zigbee осуществляется при включении режима сопряжения. Его можно осуществлять через меню Zigbee -> Join, либо командами mqtt или http (информацию можете найти в документации). Новые сопряженные устройства будут появляться нарастающим итогом, пока включен режим сопряжения.

Список всех сопряженных устройств можно открыть через меню Zigbee -> Devices

Можно посмотреть карту сети Zigbee -> Map


Интеграция с системами умного дома

Интеграция с системами умного дома доступна по mqtt или http. Структура топиков mqtt соответствует описанию zigbee2mqtt. Настроить адрес вашего mqtt брокера можно на странице Settings -> Link Setup -> MQTT SETUP

Дальнейшие шаги по интеграции с системами умного дома описаны в соответствующих инструкциях (Majordomo, home-assistant)


Настройка автоматизаций

В шлюзе SLS Zigbee Gateway доступны следующие виды автоматизаций:


  1. SimpleBind
  2. Скрипты Lua
  3. Binding средствами протокола Zigbee

Примеры использования

Оборудование самого популярного в СНГ китайского брэнда Xiaomi поддерживается шлюзом почти в полном объеме. К сожалению почти все оборудование этого брэнда (за исключением оборудования новой серии на zigbee 3) не поддерживает Binding согласно стандарта, т.е. не может работать автономно, без координатора. Как раз для таких случаев был создан вариант автоматизации на шлюзе SLS — SimpleBind. Он позволяет настроить автоматизацию внутри одной сети Zigbee, где решение об изменении состояния будет принимать шлюз SLS на основе простейших инструкций.

Ниже на скрине указан пример правила управления устройством (реле KS-SM001 от Ksentry Electronics) в зависимости от нажатия правой кнопки двухкнопочного пульта WXKG02LM от Xiaomi.

Датчики движения, дыма, открытия двери и другие можно настроить аналогичным образом. Более подробные сведения об использовании функции SimpleBind можно прочесть в описании функционала.

Оборудование компании Ikea, Philips, Nue, Gledopto, Trust и др. производителей имеют прошивки с поддержкой необходимых кластеров. Это позволяет настроить прямые автоматизации. Например круглый магнитный пульт IKEA ICTC-G-1 может самостоятельно без использования шлюза управлять почти всеми видами доступных ламп zigbee. Такая автоматизация на основе прописанных в прошивке устройств кластеров называется Binding. Обычно шлюз (координатор) настраивает связи устройств, далее устройства общаются между собой без использования координатора. Описание методов настройки связей устройств указаны в руководстве. С помощью Binding удалось настроить управление всеми лампами Ikea, Trust, Philips и даже лампочку Aqara ZNLDP12LM. Ниже на скрине пример привязки круглого пульта-диммера икея (беспроводной реостат) к имеющимся лампочкам zigbee.



После нажатия Bind каждая из ламп может менять яркость при вращении пульта-реостата.


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


  1. разработка облачного личного кабинета, где можно будет управлять своими устройствами;
  2. интеграция шлюза с голосовыми ассистентами Google Home, Яндекс Алиса и др.;
  3. реализация возможности считывания информации устройств BLE средствами ESP32;
  4. разработка шлюза для проводных интерфейсов с поддержкой протоколов MODBUS, DALI, DMX, DI-DO, 1-wire, I2C, счетчиком импульсов;
  5. разработка второй версии шлюза для Zigbee с поддержкой Ethernet и ИК портов;
  6. добавление поддержки групп.

Руководство по использованию шлюза

Группа в Telegram

Канал новостей в Telegram

Список поддерживаемых устройств

Обзор от Alex Kvazis

Где купить

Обсуждение на форуме Majordomo

Самодельный шлюз Скачать бесплатно для Windows

MyPlayCity.com 7

Загрузите самодельные поздравительные открытки бесплатно!

шлюз 59 Freeware

Gateway Download Assistant - это небольшое приложение на основе ActiveX.

97 Netikus ltd.34 Freeware

Приложение Windows, отслеживающее IP-адрес шлюза по умолчанию.

1 Freecom 20 Freeware

FSGA и его преемник Freecom Network Storage Assistant (FNSA).

2 Voicent Communications, Inc. 263 Freeware

Voicent Gateway идеально подходит для разработки приложений интерактивной телефонии.

11 DGTSoft Inc. 77 условно-бесплатная

Это программа, которая автоматически обновляет драйверы для ноутбуков Gateway.

14 Gateway Inc. 14904 Freeware

- красивая программа, специально созданная для поклонников сайта Gateway.

4 Gateway Incorporated 7463 Freeware

Программное обеспечение Gateway InfoCentre - это электронное руководство пользователя.

1 LionSea Software Inc. 26 условно-бесплатная

Gateway Drivers Download Utility - это профессиональный драйвер для компьютерного шлюза.

4 SMSgee 45 условно-бесплатная

Программа для отправки SMS-сообщений с нескольких устройств GSM одновременно.

1 Avaya Inc. 31 Freeware

Он проведет вас через процесс настройки Avaya Media Gateway.

Эсбен Лаурсен 22 Открытый источник

Network SMS Gateway - это шлюз SMTP для SMS, используемый для корпоративного или личного использования.

La Crosse Technology®, Ltd 50 Freeware

USB ERF Gateway - Ошибка распознавания USB-шлюза.

Страховая компания Allstate 840 Freeware

Go Gateway обеспечивает и оптимизирует доступ для технических специалистов Gateway.

MaaSoftware 14 Freeware

RusRoute (межсетевой экран маршрутизации, Интернет-шлюз) - Интернет-шлюз для локальной сети.

70 Команда HandBrake 80870 Открытый источник

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

17 Алекс Тюринг 12602 Открытый источник

Превратите свои домашние видеоролики в DVD-диски профессионального качества.

1 Applian Technologies Inc.1372 условно-бесплатная

С легкостью разделяйте свои домашние клипы и аудиофайлы.

65 Программное обеспечение SpinnerBaker 543 условно-бесплатная

Ваху играют на самодельных досках с 16 шариками и 1 кубиком.

Программное обеспечение для тяги Freeware

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

1 idoodvd, Inc. 2 Freeware

Он копирует зашифрованные и самодельные DVD для устройств, поддерживаемых Apple TV.

,

YinHangCode / homebridge-mi-gateway-security: плагин XiaoMi Gateway Security для HomeBridge.

перейти к содержанию Зарегистрироваться
  • Почему GitHub? Особенности →
    • Обзор кода
    • Управление проектами
    • Интеграции
    • Действия
    • Пакеты
    • Безопасность
    • Управление командой
    • Хостинг
    • мобильный
    • Истории клиентов →
    • Безопасность →
  • команда
  • предприятие
  • Проводить исследования
    • Изучить GitHub →
    Учитесь и вносите свой вклад
    • Темы
    • Коллекции
    • В тренде
    • Учебная лаборатория
.

stanzhai / homebridge-mi-gateway: плагин XiaoMi Gateway для HomeBridge.

перейти к содержанию Зарегистрироваться
  • Почему GitHub? Особенности →
    • Обзор кода
    • Управление проектами
    • Интеграции
    • Действия
    • Пакеты
    • Безопасность
    • Управление командой
    • Хостинг
    • мобильный
    • Истории клиентов →
    • Безопасность →
  • команда
  • предприятие
  • Проводить исследования
    • Изучить GitHub →
    Учитесь и вносите свой вклад
    • Темы
    • Коллекции
    • В тренде
    • Учебная лаборатория
    • Руководства с открытым исходным кодом
    Связаться с другими
    • События
    • Коммуни
.

Смотрите также