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

Собственно мой Сезам, внизу по центру мотор и контролер управления
Собственно мой Сезам, внизу по центру мотор и контролер управления

Кто со мной знаком по жизни, знает что на самом деле я ленивая жопа, и предпочитаю, чтобы мне как можно меньше надо было бегать самому. Тем не менее, поскольку живу я за городом, мне нужен дом, а к дому машина, а чтобы было, куда машину ставить, забор... Ну а к забору обычно прилагаются ворота. Ну а чтобы выехать куда-то, ворота нужно вначале открыть, а потом, как ни странно, еще и закрыть. Пока дочь ездила с нами в школу, этот вопрос решался бессовестной эксплуатацией бесплатного детского труда, но поскольку дочь вся в меня, вопрос надо было решать правильно... и к воротам был куплен двигатель. И НАСТУПИЛО СЧАСТЬЕ... Увы, недолгое. Нет, с двигателем все было в порядке, он успешно открывал и закрывал ворота... Но... Брелок четко срабатывал лишь в пределах 10-15 метров от ворот, что вынуждало ожидать открытия, стоя на дороге, часто срабатывал в кармане в процессе работы по двору, не работал режим пешехода. Автозакрывание ворот тоже работало грустно - открылись, подождали 30 секунд, закрылись - и не их дело, что ты не успел проехать. К тому же, надо было не забывать пультик. Да и открыть ворота, если кто-то приехал, а никого нет дома - задача почти невыполнимая. Вообще-то, в Китае, в котором, как в Греции, есть все, эту проблему уже обмозговали, измыслили и решили, изобретя коробочку с вай-фаем, реле и магнитным датчиком, которая через очень китайское облако и отдельное приложение с телефона позволяла осуществить часть мечт. Но увы, только часть, а очень хотелось большего!

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

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

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

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

Принимаемые сигналы - мотор-открытие, мотор-закрытие, ворота закрыты, ворота открыты, препятствие, кнопка звонка, кнопка ворот.

Отдаваемые сигналы - лампа движения, лампы забора, кнопка управления воротами.

Передача сигнала - сеть wi-fi, двухсторонняя.

Информация от контроллера - состояние ворот в процентах (100 - полностью открыты), состояние освещения, режим блокировки, внешний звонок.

Информация от УД - процент открытия ворот, включение освещения забора, режим блокировки закрытия ворот.

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

Функционал.

  1. Обычное управление воротами по кнопке.

  2. Управление воротами от УД с желаемым процентом раскрытия.

  3. Умный режим пешехода - при открытии, при пересечении фотолинии, ворота останавливаются, ожидают 15 секунд, закрываются.

  4. Умный режим закрытия - после открытия ворота ожидают проезда по пересечению фотолинии, делают выдержку 15 секунд, закрываются

  5. Режим блокировки - в этом режиме датчик фотолинии блокирует закрытие ворот по препятствию, автозакрытие отключено, управление кнопками и УД фунционирует.

  6. Забытые ворота - если через десять минут после открытия, нет сигнала о закрытии, УД закрывает их автоматически.

  7. Управление подсветкой забора (одна из ламп забора так же является индикатором активности ворот)

  8. Прием сигнала от внешней кнопки звонка с выдачей сигнала на УД (Камера с микрофоном и динамиком идет в обход контроллера)

Контроллер — ESP32, с внешней антенной, внешние входы развязаны через фототранзисторы Ps817, выходы — через стандартный релейный модуль, так что схема тривиальна (платы нет, потому что все спаяно просто на макетке). Опишу только назначение выводов dev-модуля ESP согласно описанию платы в среде Arduino.

14 пин – внешняя кнопка ворот

21 пин — уличная звонковая кнопка

32 пин — датчик полностью открытых ворот

33 пин — датчик полностью закрытых ворот

25 пин — датчик фотолинии

26 пин — датчик работы мотора на открывание

27 пин — Датчик работы мотора на закрывание

По умолчанию все оптотранзисторы подключены выходом 4 на плюс питания платы, таким образом при сигнале на входе на пине появляется высокий уровень. Но у меня в плате мотора некоторые светодиоды, как например датчик фотолинии, светятся по умолчанию и гаснут при действии. Если у вас по другому, просто поменяйте в операторах сравнения statusg значения сработки согласно расписке.

Выходы реле — Реле срабатывает на низкий уровень сигнала. Используются следующие пины:

22 пин — Индикатор движения

23 пин — подсветка забора

18 пин — кнопка привода

19 пин - резерв

В принципе можно в том же Китае купить плату на ESP восемью входами и 4 реле, но мне цена показалась несколько неадекватной относительно сборки из модулей — но это дело вкуса. Вместо тех же ps817 можно использовать корпусированные фототранзисторы, в таком случае пайки к плате мотора не потребуется, лишь несколько капель «китайских соплей».Так же, возможно существуют и контроллеры мотора с выходами этих сигналов для внешних блоков, но я с такими не знаком

Для упрощения разбора используются однонаправленные потоки. Gate — от ворот до УД, gatein – от УД до ворот. Формат протокола стандартный, открытый.

УД — у меня настроен Мажордомо, в котором в Простых устройствах добавлено Открываемое, уровень которого соответственно привязан к уровню ворот в MQTT. Так же в бот Телеграмма Мажордомо добавлены кнопки для управления уровнями, и вывод текущего состояния ворот. Как говорится, умному достаточно, тем более, что вариантов УД сейчас достаточно и в каждом логика слегка своя.

Возможные изменения — вместо Wi-Fi можно использовать GSM модуль и написать простейший бот телеграмма прямо в контроллере (проверено в другом проекте, но явно излишне здесь). Если у вас есть привод без платы управления, контроллер можно слегка допрограммировать, добавив так же модуль измерения тока, для определения перегрузки и получить автоматическую систему (сделано на более раннем варианте мотора, который, к сожалению, из-за малой мощности не смог запускаться в сибирские морозы и был отправлен в отставку)

Почему не пошли готовые варианты?

Частично это мои личные заморочки — система должна управляться локально и точка (без вкусно), протокол внешней связи должен быть управляем, сменяем, и контролируем. Устройства, с которых я могу управлять, тоже должны определяться мной.

Отсутствие обратной связи в доступном формате.

Интерес к самостоятельной разработке.


Видео работы:

Сибирь, однако.
Сибирь, однако.

Удовлетворена ли моя лень?

Нет, есть еще простор для уменьшения труда — обучить систему реагировать на камеру, смотрящую на гараж и открывать ворота, когда я выезжаю. А так же встроить в машину gps с передатчиком, который будет автоматически впускать меня домой.

Кот в мешке тут.

Комментарии (7)


  1. vassabi
    03.01.2024 08:41
    +1

    А так же встроить в машину gps с передатчиком, который будет автоматически впускать меня домой.

    эх, как же хорошо, когда пишешь код для "неуловимого джо"!

    Как только начинаешь писать код для случаев "меня хочет взломать скрипт товарища майора", так прямо руки опускаются - шифрование, защита от перебора и т.д.

    (И это даже не случай "я Ассанж, мне нужно файлик получить и сохранить. И еще автопоилка чтобы цветы полить, пока меня дома нет". Жпс в машине и т.д. - это просто даже будет вне обсуждения :D )


    1. kotleopold Автор
      03.01.2024 08:41
      +1

      Чем GPS в машине отличается от gps в наших карманных тов. майорах, которых вы еще и не контролируете? Мне то ничего не мешает в самодельном контролере считывать спутниковый сигнал и отправлять разовый сигнал об открытии, когда вектор движения ведет домой?


      1. vassabi
        03.01.2024 08:41

        1) и еще чтобы самодельный контроллер работал когда ЖПС врет ;)
        2) главное - логи. Кто что вызывал, когда вызывал. Хранение, ротация и т.д.


  1. aborouhin
    03.01.2024 08:41

    DYI - всегда хорошо, но я не очень понял, что за система была изначально и почему базовых функций, которые есть в любом контроллере ворот, в ней нет. У меня самые простые Came, и там есть и поддержка фотоэлементов встроенная, и внешняя антенна, с которой брелок бьёт метров на 200-300, и подключение внешних кнопок на все функции (вместо которых могут быть релюшки, управляемые УД).


    1. kotleopold Автор
      03.01.2024 08:41

      Я не сказал, что у меня в воротах не было базовых функций, я сказал, что базовые функции меня не устраивают. И понятно, что можно купить уже готовый (в котором все равно будет не совсем то что я хочу), но цена играет свою роль, в которой Came, который я люблю на работе, отпал в полуфинале. И как прикажете с того же Came снимать информацию о работе, кроме Came connect?


      1. aborouhin
        03.01.2024 08:41
        +1

        Ну Вы написали, что брелок пробивал всего 10 метров, фотоэлементов не было, - вот я и поинтересовался, а что было-то.

        По крайней мере, у моего контроллера Came все функции - это замыкание/размывание определённых конатктов. Соответственно, любое внешнее хоть управление, хоть снятие состояния реулизуется добавлением необходимых релюшек в щит контроллера ворот.


        1. kotleopold Автор
          03.01.2024 08:41

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