{"id":14179,"url":"\/distributions\/14179\/click?bit=1&hash=ef566cae19d8b72859d799b88a55c90c11c37e7677acac8a2221595a6ca6f5bf","title":"\u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0432\u0430\u0448\u0435\u0439 \u0442\u043e\u043a\u0441\u0438\u0447\u043d\u043e\u0441\u0442\u0438 ","buttonText":"\u041d\u0443-\u043a\u0430","imageUuid":"a3d0cbb2-2d94-5f09-b674-c61b61195271"}

Умный домофон SmartIntercom

Открытие домофона не вставая с дивана, режим "Жду курьера", беззвучный режим и многое другое.

Эта статья о моём желании скрестить подход Apple к юзабилити и устройство DIY. Для неискушенных технической составляющей — переходите к концу статьи, там описаны функции для пользователя.

Остальных прошу присоединиться к полету мысли. Итак, немного предыстории...

Начало...

В период пандемии, работая из дома, мне осточертело открывать дверь курьерам с едой, вещами и прочим, что можно заказать через интернет. В один из дней, сидя на общем созвоне с коллегам, ко мне внезапно приехал курьер. А так как я был основным докладчиком, мне было очень сложно остановить речь и открыть домофон, а потом ещё и встретить курьера. После этого я твердо решил, что мне нужно удаленное управление домофоном!

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

Были и те, которые поставлены на коммерческие рельсы, например Коммендант. Но при попытке заказа его мне ответили, что по их мнению моя деятельность не направлена на развитие домофонии. Это на 100% убило желание заказа)

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

Первый блин комом

Я безмерно благодарен тем, кто выкладывает результаты своей работы в сеть в качестве OpenSource. Надеюсь и я когда-нибудь избавлюсь от боязни потери идеи и выложу свои наработки, но пока нет...

Найдя схему адаптера для домофона, основанную на реле я принялся её собирать. Получилось круто, потому что работало это превосходно - включалась и отключалась трубка, можно было открыть дверь и просто положить трубку. Поэтому, вдохновившись результатом я пошел существенно дальше — развел свою плату, отправил в Китай и получил прототип для микрокомпьютера RockPi S.

ROCK Pi S D4WPN8 RK3308/512Mb DDR3/WiFi/BT/PoE//1Gb SD NAND
Макет печатной платы первой версии платы на RockPi S
Собранная версия, полностью работоспособная на Rock Pi S

Работа над ошибками

Стоимость

После скачка цен февраля-марта 2022 года покупать микрокомпьютер стало дорого. Устройство не могло конкурировать с китайскими домофонными адаптерами на андроиде — стоимость в 7+ тыс против закупочной стоимости моей версии в 3 тыс не оставляло шансов на успех для меня.

Архитектура

К сожалению, ARM Cortex-A35 был слишком производительным и бОльшая часть его возможностей для устройства не была задействована. Транжирство не сулило ничего хорошего...

Размер

Собранная коробочка никак не поместилась бы внутрь трубки =(

Новые цели

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

  • Нужно низкое энергопотребление, желательно от батарей
  • Нужен небольшой размер, идеально - встроить в корпус штатной трубки домофона
  • Общение с внешним миром по WiFi
  • Стабильный микроконтроллер

На рынке уже были устройства для работы с домофоном, производителей было 3. На мой искушенный взгляд функционал устройств был ограничен вот из-за чего:

  • Сложное подключение к WiFi
  • Заточенность под Home Assistant
  • Замена звуков только через FTP
  • Управление параметрами через yaml

А если совсем честно сказать, мне стало лень изучать ESPHome, на которой Роман организовывал работу устройства. Я посчитал более выгодным написать свою прошивку с расширяемым функционалом, чем ограничиваться ESPHome. И тут понеслось...

Своя, альтернативная прошивка

Я не писал до этого ПО под микроконтроллеры для использования в production, но игрался с Arduino и реализовывал некоторые проекты на PHP. Это помогло мне на старте, например, в выборе архитектуры, используемых протоколов и подходе к созданию сервиса.

Если сообществу будет интересно, я напишу о деталях реализации, но сейчас предлагаю Вашему вниманию итоговый вариант :)

Подключение по WiFi

Первый запуск устройства прост. При включении питания создается сеть Wifi SmartIntercom, подключившись к которой открывается страница настройки подключения к сети. На некоторых устройствах страница открывается с задержкой. Но выглядит она примерно так:

Подключение к Wifi сети при инициализации устройства

WEB-интерфейс настройки устройства

Я очень хочу, чтобы пользоваться устройством было просто. Поэтому, недоработки других прошивок стараюсь исправить у себя - интерфейс на Bootstrap разделен логически и выглядит вот так:

Внешний вид интерфейса настройки

Настройки устройства через WEB

Считаю нужным обязательно показать основные настройки - здесь самый смак)

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

Автоматическое открывание — функция позволяет не реагировать на звонки в домофон, а пропускать всех звонящих через определенное время длительности звонка. Длительность (в секундах) перед открытием устанавливается ползунком «Задержка автооткрытия». При входящем звонке устройство с активированным режимом осуществит открытие двери через указанное время;

Открыть при следующем звонке — режим позволит устройству открыть дверь подъезда при следующем звонке (только первый звонок после установки функции). Это полезно, когда Вы знаете, что к Вам придут гости.

Жду курьера — режим позволит устройству открыть дверь подъезда при следующем звонке (только первый звонок после установки функции) с воспроизведением аудиоинструкции курьеру. Это полезно, когда Вы знаете, что придет курьер – звонок от него обработает устройство и пропустит человека;

Автоматический сброс — при включении функции устройство при звонке будет воспроизводить посетителю звук отказа в открытии (если опция включена). “Автоматический сброс” и “Автоматическое открывание” являются взаимоисключающими функциями, поэтому допустимо включить только одну из них — при попытке активации обоих функций включенной останется только последняя.

Умный дом

Я не мог отказать уже имеющимся пользователям в интеграции с умным домом их устройств, для которых я писал прошивку. Поэтому интеграция с Home Assistant реализована почти 1 в 1 с ESPHome.

Для пользователей, кто работает с другими типами ПО умного дома остается интеграция по MQTT, к которому есть описание топиков.

Настройки работы устройства для управления по MQTT

Что касается Home Assistant - он сразу определяет устройство и добавляет нужные элементы. Всё выглядит вот так:

Подключенное устройство SmartIntercom к Home Assistant

Сервис управления через Облако

Одной из задач для себя я поставил простое и удобное использование. К сожалению удобство потребовало внешних облачных сервисов. В моём случае реализованы функции:

  • Telegram - управление через бота
  • Алиса - управление через навык

В обоих случаях имеется возможность управлять настройками устройства - активировать функцию "Жду курьера", выключение звука трубки и прочее.

Если с навыком Алисы всё достаточно понятно, то для управления через Телеграм используется не так давно внедренные WebApp. Вот как это смотрится:

Telegram WebApp для управления домофоном

Поскольку обратная связь от звонящего в виде голосового потока для устройства пока недоступна, то хорошим решением мне показалось включить в сообщение о звонке в Телеграм фото с входной группы. Оно берется по HTTP в формате mjpeg и добавляется в сообщению. Вот такое отображается при звонке у меня:

Отображение входящего вызова и варианты его обработки

Как выглядит итоговый вариант

Совсем маленькое устройство монтируется в трубку, к нему подводиться питание от адаптера, например, для телефона, а к клеммам подключается входящая линия и трубка. Пока, установку нужно делать самому, но в проекте полная версия "под ключ". То, как всё встроено посмотрите ниже.

Встроенное устройство в трубку домофона

Итак, что позволяет устройство сейчас:

Подключение по WiFi к домашней сети

— Управление устройством через Алису с помощью навыка “Управление домофоном

— Управление функциями через WEB интерфейс

— Функция отключения трубки домофона с переключением вызова только на устройство

— Автоматическое открывание при следующем входящем звонке

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

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

— Функция “Курьер”, позволяющая воспроизвести отдельное уведомление для курьеров

Управление функциями открытия через Telegram в момент звонка

— Автоматическое обновление прошивки через Интернет

— Отключение индикации (встроенный светодиод) состояния

— Закрытие доступа к WEB интерфейсу логином и паролем

— Установка таймингов перехода в пограничные режимы

Базовая комплектация устройства
Работа навыка Алисы, Telegram c фото и WEB интерфейса на стенде тестирования

Давайте поговорим в комментариях о том, как это применить и что еще хотелось бы добавить как функции?

0
16 комментариев
Написать комментарий...
Hell Me

Надеюсь это все когда-то станет красивой коробочкой с питанием хочешь от батарейки, хочешь от сети. И подключением в стиле сяоми: далее-далее- готово.

Ответить
Развернуть ветку
Илья А

Такой план, да!

Ответить
Развернуть ветку
Sarygulov Akhmad

Спасибо за Ваш труд.не всем охото возиться с еспхоум.Да и тем у кого нет сервера умного дома тоже будет интересно.

Ответить
Развернуть ветку
Илья А

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

Ответить
Развернуть ветку
Lion Iopol

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

А по поводу низкого энергопотребления советую посмотреть в сторону zigbee и сделать прошивку с режимом сна, чтобы когда не надо не расходовало энергию батареи, подобные умные устройства живут очень долго от батареек. Ну и конечно-же интеграцию запилить в SprutHub, хотя там сообщество большое если будет достойное устройство сами шаблон напишут и под zigbee и под mqtt )

Ответить
Развернуть ветку
Илья А

Спасибо! Цифровые домофоны пока даже не начаты. Всё упирается в тестовый стенд, как для аппаратной части, так и для программной. Поэтому, пока поддерживаются только координатные домофоны.
За совет - большое спасибо!
В устройстве заявлен режим управления через "Облако", а для этого устройство должно быть online почти постоянно. Тут нужно подумать над скоростью выхода в сеть при пробуждении...

Ответить
Развернуть ветку
Paul Lashin

Отличная работа проделана! А как быть с домофонами у которых еще видео картинка приходит? У меня как раз такой VIZIT. Будет ли работать и чем отличается подключение?

Ответить
Развернуть ветку
Илья А

Очень приятная оценка, благодарю!
Побоялся сразу вставлять ссылки в материал. Вот то, с чем точно работает адаптер - https://wiki.smartintercom.ru/ru/system-requirements

Касательно видео — сейчас картинка забирается из сети Интернет по HTTP. Если выставить наружу оцифрованную картинку с аналоговой камеры домофона, то она будет прикрепляться к сообщению в Телеграм. Но часто встроенная камера имеет очень плохое качество, нужно ли это? Обзорная китайская IP камера (2.8 мм) обойдется в 2500р...

Ответить
Развернуть ветку
Paul Lashin

С радостью бы везде наставил своих камер) Только живу на 25 этаже и окна выходят в другую сторону от входа в подьезд ( Картинку мне передавать не нужно. Спасибо за ссылку где уточнено что работает только в координатных сетях. Пришлось погуглить что это и оказалось что у меня как раз такая) Но как подключить к своему, так и не понял. Можете подсказать? Прилагаю фото текущего подключения.

Ответить
Развернуть ветку
Илья А

LN+ и LN- отвечают за звук, если не ошибаюсь.
Оцифровку аналогового сигнала чем будете делать?

Ответить
Развернуть ветку
Paul Lashin

Получается нужно ваше устройство подключить в разрыв LN+ и LN- и будет мне счастье. Осталось только узнать где его можно приобрести? И желательно чтобы самому ничего паять и прошивать не нужно было :)

Ответить
Развернуть ветку
Илья А

Напишите, пожалуйста свои данные через форму на https://smartintercom.ru/

Ответить
Развернуть ветку
Paul Lashin

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

Ответить
Развернуть ветку
Илья А

zigbee обязывает иметь дополнительные устройства для коммуникации. Идея SmartIntercom заключается в доступности функций для всех. Но на будущее учту, спасибо!

Ответить
Развернуть ветку
fox

Ничего не написано, что устройство будет работать по подписке.
То есть без подписки, просто железка?

Ответить
Развернуть ветку
Илья А

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

Ответить
Развернуть ветку
13 комментариев
Раскрывать всегда
null