Загрузка данных
Исходная ситуация
Есть гараж с секционными воротами DoorHan и штатным приводом DoorHan.
Управление сейчас осуществляется обычным радиобрелоком DoorHan.
Гараж находится примерно в 20–25 м по горизонтали от дома, но пользователь находится на 9-м этаже. Поэтому реальное расстояние по прямой от квартиры до гаража примерно 30–37 м в зависимости от фактической высоты этажей.
Штатный брелок работает на этой дистанции нестабильно: примерно 50/50. Интересный эффект — если приложить брелок к горячей точке/телу, дальность иногда становится достаточной. Предполагается, что тело пользователя влияет на характеристики небольшой антенны брелока.
Что хочется получить
Основная цель — сделать управление воротами с телефона.
Но недостаточно простого «Открыть / Закрыть».
Зимой автомобиль ставится прогреваться в гараже, при этом ворота открываются примерно на 1/4, чтобы выхлопные газы выходили наружу.
Поэтому в будущем желательно иметь команды:
* Открыть
* Закрыть
* Стоп
* Открыть примерно на 25%
* Открыть примерно на 50%
* Возможно 75%
На первом этапе точное положение не требуется — допустимо управлять по времени.
Например:
1. команда «25%»;
2. ESP32 имитирует первое нажатие кнопки брелока;
3. ворота начинают открываться;
4. ESP32 ждёт, например, 4,2 секунды;
5. ESP32 снова имитирует нажатие;
6. ворота останавливаются примерно на 25%.
Время будет калиброваться экспериментально.
Основная идея первого прототипа
Не пытаться сразу копировать радиопротокол DoorHan.
Использовать настоящий штатный брелок DoorHan и электронно имитировать нажатие его кнопки.
Архитектура:
Телефон
↓ Wi-Fi
ESP32
↓ GPIO
реле
↓ физически замыкает контакты кнопки
штатный брелок DoorHan
↓ штатный радиосигнал DoorHan
приёмник DoorHan
↓
привод ворот
Таким образом, ESP32 не формирует радиосигнал DoorHan самостоятельно.
Конечный радиосигнал воротам отправляет именно оригинальный брелок.
ESP32 фактически играет роль «электрического пальца», который нажимает кнопку брелока.
Где должна находиться электроника
Было рассмотрено два варианта.
Вариант 1: электроника в гараже
ESP32 находится в гараже и подключается к Wi-Fi.
Проблема: неизвестно, насколько домашний Wi-Fi добивает до гаража. Вероятно, для этого понадобился бы Wi-Fi-репитер, дополнительная точка доступа или LTE/GSM.
Этот вариант пока отвергнут как ненужное усложнение.
Вариант 2: ESP32 + брелок находятся дома
Это предпочтительный вариант первого прототипа.
Дома уже есть Wi-Fi.
Схема:
Телефон
↓
домашний Wi-Fi
↓
ESP32
↓
реле
↓
брелок DoorHan
↓
радиосигнал примерно на 30–37 м по прямой
↓
ворота
То есть Wi-Fi между домом и гаражом вообще не нужен.
Телефон общается только с ESP32 внутри квартиры.
А ESP32 заставляет настоящий брелок передать штатную радиокоманду в сторону гаража.
Важное различие радиосигналов
В проекте есть два независимых радиоканала.
Канал 1: телефон → ESP32
Используется домашний Wi-Fi.
Телефон отправляет ESP32 команду вроде:
OPEN
или:
OPEN_25
ESP32 получает её через Wi-Fi.
Канал 2: брелок → ворота
Это штатная радиосистема DoorHan.
ESP32 не участвует в формировании этого радиосигнала.
ESP32 только нажимает кнопку оригинального брелока.
Таким образом:
ESP32 Wi-Fi-антенна НЕ является антенной DoorHan.
И ESP32 не усиливает радиосигнал брелока.
Вопрос с антенной
Пока отдельную антенну для ESP32 покупать не нужно.
У ESP32 уже есть встроенная Wi-Fi-антенна, и она отвечает только за связь:
телефон ↔ ESP32.
Она не используется для передачи сигнала DoorHan.
Если понадобится улучшать дальность, улучшать нужно будет именно радиочасть брелока DoorHan, а не Wi-Fi ESP32.
Пока неизвестно, нужна ли вообще дополнительная антенна.
Первый эксперимент должен показать, будет ли штатный брелок нормально работать из квартиры без того, чтобы человек держал его возле тела.
Если дальности не хватит, тогда нужно изучить конкретный брелок:
* модель;
* рабочую частоту;
* конструкцию антенны;
* расположение антенны на плате;
* тип радиопротокола.
Только после этого решать вопрос об улучшении антенны.
Почему не хочется сразу делать собственный радиопередатчик
Теоретически можно было бы сделать:
Телефон → ESP32 → радиомодуль → антенна → DoorHan
Но для этого нужно знать точную радиосистему DoorHan и, возможно, реализовывать соответствующий протокол/rolling code.
Это значительно сложнее.
Поэтому первый прототип должен оставить штатную радиочасть DoorHan полностью нетронутой.
Будущий вариант
Если выяснится, что настоящий брелок плохо добивает до гаража, можно рассмотреть более продвинутый вариант:
ESP32
↓
радиомодуль нужной частоты
↓
внешняя антенна
↓
ворота
Но только после определения конкретной модели брелока и радиосистемы.
Будущее управление положением ворот
Первый прототип будет ориентироваться на время движения.
Например:
полное открытие = 16 секунд
тогда первоначально:
25% ≈ 4 секунды
50% ≈ 8 секунд
75% ≈ 12 секунд
100% ≈ 16 секунд
Но это приблизительная модель.
Реальное время будет измеряться экспериментально.
Есть понимание, что управление только по времени имеет недостатки:
* температура может влиять на механику;
* нагрузка может меняться;
* ворота могут быть обледеневшими;
* скорость движения может измениться;
* после ручного управления система может потерять представление о положении.
Поэтому в дальнейшем желательно добавить датчик фактического положения ворот или использовать штатную информацию привода, если конкретная модель DoorHan её предоставляет.
Тогда можно сделать настоящее управление:
0%
25%
50%
75%
100%
и ESP32 сможет ориентироваться не на таймер, а на фактическое положение.
Безопасность
Пока это только экспериментальный прототип.
Особенно важно учитывать, что сценарий связан с работающим автомобилем в гараже.
Нельзя считать открытие ворот на 25% гарантией достаточной вентиляции или безопасной концентрации CO.
В будущем можно добавить:
* датчик положения ворот;
* датчик CO;
* автоматическое закрытие;
* уведомления;
* аварийные сценарии.
Но это не входит в первый прототип.
Что уже заказано для первой партии
Предполагается следующий набор:
1. ESP32 DevKit / ESP-WROOM-32 с Wi-Fi.
2. ESP32 с USB Type-C.
3. Одноканальное реле 5V с опторазвязкой.
4. Макетная плата MB-102.
5. Набор Dupont-проводов:
* M-M;
* M-F;
* F-F.
6. USB-C data-кабель для ESP32.
7. Желательно отдельный/запасной брелок DoorHan для экспериментов.
Отдельную антенну пока не покупали.
План разработки
Этап 1
Не подключать ничего к воротам.
На столе:
ESP32 → реле.
С телефона отправляется команда ESP32.
ESP32 включает реле на заданное время.
Цель — увидеть, что управление ESP32 с телефона работает.
Этап 2
Разобраться с отдельным брелоком DoorHan.
Определить:
* как подключена кнопка;
* какие контакты замыкаются;
* какое напряжение присутствует;
* как безопасно подключить реле.
Не подключать ничего к радиочасти брелока.
Этап 3
Сделать:
ESP32 → реле → кнопка брелока.
Команда с телефона должна приводить к одному обычному нажатию брелока.
Проверить, что ворота реагируют точно так же, как на ручное нажатие.
Этап 4
Добавить временную логику.
Например:
OPEN_25
→ нажать брелок 300 мс
→ ждать 4,2 с
→ снова нажать брелок 300 мс.
Время сделать параметром настройки.
Этап 5
Перенести систему в квартиру и проверить реальную радиодальность до гаража.
Если штатный брелок работает стабильно — оставить конструкцию как есть.
Если нет — изучить антенну и радиочасть конкретного брелока.
Этап 6
После успешного прототипа решить, нужен ли датчик положения.
Если нужен — перейти от таймерного управления к фактическому управлению положением ворот.
Что желательно выяснить следующим
Нужна точная модель:
* привода DoorHan;
* радиобрелока DoorHan.
Желательно получить фотографии:
1. брелока спереди;
2. брелока сзади;
3. внутренностей брелока после снятия крышки;
4. платы привода DoorHan;
5. маркировки привода/платы.
Пока модель неизвестна, не следует покупать радиомодули или дополнительные антенны.