Открывашка домофона Zigbee

Сегодня хочу поделиться с вами историей разработки устройства для управления многоквартирным домофоном, работающего по протоколу Zigbee.

Жил был у меня автоматический открыватель домофона на базе: ESP8266, модуля на два реле (16А) и транзистора с обвязкой.

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

(Модуль реле и транзистор  в подрозетнике за трубкой)

 

 

После организации дома Zigbee сети, появилось желание как можно больше устройств перевести с на Zigbee, что-бы разгрузить Wi-Fi сеть (сейчас на Zigbee — 32 устройства, а на Wi-Fi — 20 устройств).

Вдохновившись устройствами Jager и прошивками Anonymous, было решено делать открывашку домофона на Zigbee. Бороздя просторы сети, наткнулся на проект подобной открывашки домофона, за авторством Александра Вайдурова.

Очень понравилась идея использовать оптопары вместо реле и вариант батарейного питания устройства. С его согласия, было решено использовать часть схемы, отвечающей за работу с домофоной линией, но управление сделать на чипе CC2530.

Получилась вот такая схема:Далее развел плату, и заказал у китайцев.

Хотел оформить заказ до праздников, и поспешил. Как следствие – пару мелких ошибок, которые пришлось исправлять перемычками.

(Не надо спешить! Не повторяйте моих ошибок)

Был также купон на скидку, — решил попробовать поверхностный монтаж заказать. Вышло около $18. (Это скорее любопытство, чем реальная потребность, — пайка очень простая)

Получил платы и подарок:

 

Пока платы изготавливались и ехали, была написана прошивка для устройства и сделан конвертер для zigbee2mqtt.

Dashboard zigbee2mqtt

Exposes zigbee2mqtt

Итого какие возможности имеем:

* Получать уведомление, когда звонит домофон (также поддерживается прямой биндинг OnOff)

* Не вмешиваться в работу домофона (режим Never)

* Автоматически открывать всем (режим Always)

* Открыть дверь один раз во время звонка, или при первом звонке после включения (режим Once)

* Сбрасывать все входящие (режим Drop)

* Отключить звук на трубке домофона (либо использовать вовсе без трубки)

Время звонка, ожидания, открытия и интервал отправки репортов настраиваются через exposes.

Для отладки был приобретён б/у полурабочий комплект вызывной панели Цифрал и трубки Визит за символические деньги (около 15$)

Видео с демонстрацией разных режимов работы (1.5X)

В процессе отладки и тестов произошли некоторые изменения:

  1. Были изменены номиналы некоторых резисторов и конденсаторов
  2. Исправлена пара ошибок в разводке платы
  3. Убрано место под 2032(слишком часто менять)
  4. Убран разъем micro USB (слишком неудобная пайка)

Финальные рендеры

Различия постоянного и батарейного питания:

При постоянном:

  • Интервал отправки репортов —  1 минута
  • Состояние батарейки не отправляется
  • Режим роутера либо конечного устройства

 

держатель под 2*AAA

При батарейном (только E18-MS1-PCB):

  • Интервал отправки репортов — 30 минут
  • Состояние батарейки отправляется после каждого события (звонок/нажатие кнопки)
  • Только режим конечного устройства
  • Поскольку устройство находится в спящем режиме, оно не может принимать команды, но есть возможность изменить режим кнопкой или Zigbee командой в момент звонка.
  • Не выключайте звук, потому что он держит U2 включенным постоянно , что значительно быстрее разряжает батарею.
  • Если какие-либо команды находятся в очереди координатора, они будут выполнены когда устройство проснется, — после нажатия кнопки или после получения входящего.

После всех тестов плату установил в корпус трубки домофона:

Прошивка, схемы, герберы открыты и лежат на Github репозитории проекта 

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

23 комментария на «Открывашка домофона Zigbee»

  1. Уведомление: #Обмен опытом | Всё чем хочется поделиться…

  2. Alleon говорит:

    Респект!
    Жаль, что у меньшинства цифровые домофоны.

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

    При сборке и подключении питания следует учесть что широкие контакты это под батарейный отсек, 3.3v
    при подаче внешнего питания не 3.3 — необходимо подавать на клеммную колодку, при этом полярность будет другая, рядом с «-» надо подавать «+»

    • xyzroe говорит:

      В Gerber PCB v1.0, от 14 апреля, есть некоторые ошибки в слоях шелкографии:

      «Line-» и «Phone-» перепутаны местами.
      «+» и «-» также перепутаны местами.

      Просто подключите, наоборот.

      В случае использования батарейного отсека отдельно проверяйте полярность.

  4. sevlar говорит:

    Транзистор коммутирования трубки BSS123 разнится на плате и на схеме (сток-исток), это ошибка или так задумано?

    • xyzroe говорит:

      В Gerber PCB v1.0, от 14 апреля, есть некоторые ошибки в слоях шелкографии:

      «Line-» и «Phone-» перепутаны местами.
      «+» и «-» также перепутаны местами.

      Просто подключите, наоборот.

  5. Anton говорит:

    А есть инфа по ESP8266? А то валяется без дела…

  6. Alleon говорит:

    Если припаять батарейный отсек, то прошить E18-MS1-PCB уже вряд ли получиться

    • xyzroe говорит:

      Можно в батарейном отсеке прорезать паз над разъемом для прошивки.
      Сделать пропил от родных отверстий крепления отсека влево и вправо, тогда можно прошивать с установленным отсеком.

  7. xyzroe говорит:

    Выложил новую версию ПО 1.0.2 — исправлен механизм обнаружения вызова, который приводил к обрыву вызова во время разговора или открытия двери, что иногда мешало открыть дверь, также поправлен режим работы от батареи — снова можно открывать дверь
    Временно добавил информацию об ошибках расположение подписей на плате ‍♂️ — спасибо внимательным пользователям. (Позже будет обновленная версия платы)
    Добавил ссылку на 3д модель корпуса для печати — спасибо @dreamertwo

    https://github.com/diyruz/Zintercom

  8. Agamemnen говорит:

    Поделитесь опытом управления из НА?
    Покажите примеры как управлять допустим громкостью и режимами в автоматизациях?
    Можно ли как то корректно вынести кнопки в интерфейс, по мимо дашборда конвертора?

    • xyzroe говорит:

      Звук сразу доступен в HA в виде переключателя, в карточке устройства.
      Для управления режимом необходимо создать input_select и две автоматизации (чтение и запись режима)
      Пример выложит тут https://pastebin.com/raw/3s8R8FB3

  9. xyzroe говорит:

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

  10. Паша говорит:

    А есть мануал по соплям с клеем на есп8266?

  11. Руслан говорит:

    «Звук сразу доступен в HA в виде переключателя, в карточке устройства.»

    Не подскажете как это прописать ui-lovelace.yaml ? Не получается у меня в виде переключателя.

    • xyzroe говорит:

      Немного дезинформировал.
      Раньше звук надо было прописывать руками, создавая свич (вот пример https://pastebin.com/mxiGCtaY )

      Но в z2m 1.20 нет необходимости в этом — «#7760 Home Assistant: expose binary with SET access as switch» т.е. в карточка девайса появится переключатель.

  12. gipperion говорит:

    Для использования русскоязычного списка в интерфейсе необходимо создать отдельный список с русскими полями и показывать его, а для основного добавить автоматизацию. Пример тут https://pastebin.com/raw/KYfV0TDN

  13. Utyf говорит:

    Я немного переделал плату. Сделал одностороней и немного меньше.
    Можно тут взять:
    https://easyeda.com/account/project/detail?project=e1d95b56cf6f4a84b1059dc291c81e20%3Fauthenticate%3Dforce

  14. Klim говорит:

    При авто открывании идет какой-то шум, но дверь не открывается.
    Шум как в трубке так и на табло вызова.
    https://www.icloud.com/photos/#0GJh2kEg4_NzIhR9GAmQP0hGA

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