Разработка мобильного приложения для умного дома (электрозамки/домофон)

Разработка мобильного приложения для умного дома (электрозамки/домофон) Замок завис, API вернул 503, BLE-соединение не установилось — пользователь стоит у двери с мёртвым телефоном. Это не UX-проблема, это инцидент. Мы проектируем приложения для электрозамков и домофонов, где каждый канал связи и

Разработка и поддержка любых видов мобильных приложений:

Информационные и развлекательные мобильные приложения
Новостные приложения, игры, справочники, онлайн-каталоги, погодные, фитнес и здоровье, туристические, образовательные, социальные сети и мессенджеры, квиз, блоги и подкасты, форумы, агрегаторы
Мобильные приложения электронной коммерции
Интернет-магазины, B2B-приложения, маркетплейсы, онлайн-обменники, кэшбэк-сервисы, биржи, дропшиппинг-платформы, программы лояльности, доставка еды и товаров, платежные системы
Мобильные приложения для управления бизнес-процессами
CRM-системы, ERP-системы, управление проектами, инструменты для команды продаж, учет финансов, управление производством, логистика и доставка, управление персоналом, системы мониторинга данных
Мобильные приложения электронных услуг
Доски объявлений, онлайн-школы, онлайн-кинотеатры, платформы предоставления электронных услуг, платформы кешбека, видеохостинги, тематические порталы, платформы онлайн-бронирования и записи, платформы онлайн-торговли

Это лишь некоторые из типы мобильных приложений, с которыми мы работаем, и каждый из них может иметь свои специфические особенности и функциональность, а также быть адаптированным под конкретные потребности и цели клиента.

Услуги, которые мы предлагаем
Показано 1 из 1Все 1734 услуг
Разработка мобильного приложения для умного дома (электрозамки/домофон)
Средний
от 1 недели до 3 месяцев

Наши компетенции:

Часто задаваемые вопросы

Последние работы

  • image_mobile-applications_feedme_467_0.webp
    Разработка мобильного приложения для компании FEEDME
    897
  • image_mobile-applications_xoomer_471_0.webp
    Разработка мобильного приложения для компании XOOMER
    784
  • image_mobile-applications_rhl_428_0.webp
    Разработка мобильного приложения для компании RHL
    1218
  • image_mobile-applications_zippy_411_0.webp
    Разработка мобильного приложения для компании ZIPPY
    1081
  • image_mobile-applications_affhome_429_0.webp
    Разработка мобильного приложения для компании Affhome
    1004
  • image_mobile-applications_flavors_409_0.webp
    Разработка мобильного приложения для компании FLAVORS
    600

Разработка мобильного приложения для умного дома (электрозамки/домофон)

Замок завис, API вернул 503, BLE-соединение не установилось — пользователь стоит у двери с мёртвым телефоном. Это не UX-проблема, это инцидент. Мы проектируем приложения для электрозамков и домофонов, где каждый канал связи имеет резерв. Наш опыт — 10+ лет и 15 проектов в сфере умного дома. Недавно мы решали проблему с замками Nuki на iOS: приложение не получало BLE-уведомления о состоянии замка из-за неправильной настройки CoreBluetooth background modes. После добавления bluetooth-central в Info.plist и использования CBCentralManagerOptionShowPowerAlertKey всё заработало. Такие детали определяют надёжность. Готовы оценить ваш проект за 2 дня: пишите, и мы предложим решение под ключ.

Как мы обеспечиваем надёжность при отказе всех каналов?

Архитектура строится на резервировании. Минимум два независимых способа открыть замок. Если основной канал упал, пользователь не должен звонить в поддержку, стоя на морозе. Типичная иерархия каналов:

  1. BLE (локальный, без интернета) — первый приоритет при близком расстоянии
  2. Wi-Fi/облако — если BLE не доступен
  3. PIN-код на замке — при полном отказе системы
  4. Механический ключ — физический fallback

Приложение автоматически определяет доступные каналы и переключается. BLE: проверяем Bluetooth state через FlutterBluePlus.adapterState. Нет BLE или устройство далеко — пробуем Wi-Fi/облако. В UI показываем активный канал пользователю. Снижаем затраты на поддержку — меньше звонков, выше удовлетворённость.

Почему BLE — основной канал для быстрого открытия?

BLE обеспечивает задержку менее 200 мс — в 10 раз быстрее облачного управления. Дальность 5–15 метров, не требует интернета. Нативная реализация через CoreBluetooth (iOS) / Android BLE API, на Flutter — flutter_blue_plus. Каждый замок — GATT-сервис со своими характеристиками. Например, August замки используют service UUID 00001523-1212-EFDE-1523-785FEABCD123 с проприетарным протоколом — официального SDK нет, работаем через реверс-инжиниринг или August API.

Протоколы и типы замков

Протокол Дальность Задержка Зависимость от интернета Примеры замков
BLE 5-15 м <200 мс Нет August, Schlage Encode, Nuki
Wi-Fi ~100 м 300-2000 мс Да Tuya, Yale Connect, Kwikset Halo
Zigbee 10-100 м <500 мс Через хаб Samsung SmartThings, Kwikset
Z-Wave 30-100 м <500 мс Через хаб Schlage, Kwikset Z-Wave

Для Wi-Fi замков Tuya используем Tuya Open API: POST /v1.0/devices/{deviceId}/commands с {"commands": [{"code": "switch_1", "value": true}]}. Для Zigbee — MQTT-команда на топик zigbee2mqtt/{device}/set с {"state": "UNLOCK"}. Z-Wave работает через Z-Wave JS или Home Assistant.

Сравнение подходов к временному доступу

Подход Скорость выдачи ключа Безопасность Офлайн-работа Типичные замки
Облачный API (Nuki, August) <1 с Высокая (SSL) Нет Nuki, August
BLE-токен с подписью <100 мс Высокая (крипто) Да Любые BLE
PIN-код на замке Мгновенно Средняя Да С сенсорной панелью

Временный доступ и гости

Ключ для гостя на 24 часа, для Airbnb-жильца на неделю, для домработницы по вторникам с 10 до 14 — это core функциональность. Реализация зависит от замка. Nuki Web API: POST /smartlock/{smartlockId}/auth создаёт authorization с allowedWeekDays, allowedFromDate, allowedUntilDate, allowedFromTime, allowedUntilTime. August API: POST /access_codes с access_code типом.

Для BLE-замков без облака временный ключ — криптографически подписанный токен с временными ограничениями, передаваемый по BLE. На бэкенде храним все выданные ключи с метаданными (кому, кем, срок, список использований). Push-уведомление владельцу при каждом использовании гостевого ключа.

Как реализовать видеозвонок с домофона?

Видеозвонок с домофона на мобильный = WebRTC + VoIP push. Когда кто-то нажал кнопку домофона:

  1. Домофон публикует событие в MQTT
  2. Бэкенд отправляет VoIP push на iOS (через PushKit) или FCM с priority: high на Android
  3. Приложение просыпается в фоне, устанавливает WebRTC соединение с домофоном
  4. Показывает UI входящего звонка через CallKit (iOS) или android.telecom.ConnectionService

VoIP push на iOS через PushKit — единственный способ надёжно разбудить приложение для видеозвонка. Обычный push приходит с задержкой 2–30 секунд. PushKit — мгновенно. Требует VoIP сертификат в Apple Developer Portal, entitlement com.apple.developer.pushkit.unrestricted-dispatch. На Android фоновый сервис с startForeground держит WebRTC соединение готовым. Начиная с Android 14 — ограничения на фоновые сервисы ужесточились, нужен ForegroundServiceType.CAMERA + ForegroundServiceType.MICROPHONE в манифесте.

Журнал событий

Каждое открытие — запись в журнал: кто, каким методом, в какое время. Для съёмного жилья это юридически важно. Хранение: PostgreSQL с таблицей access_log (id, lock_id, user_id, method, timestamp, result). Индекс по (lock_id, timestamp DESC). Мобильное приложение запрашивает постранично: GET /api/locks/{id}/access-log?page=1&per_page=50.

Типичные ошибки при интеграции
  • BLE не сканируется — не включен bluetooth-central background mode на iOS или не запрошен android.permission.BLUETOOTH_SCAN на Android 12+.
  • PushKit не приходит — сертификат VoIP не перевыпущен или не указан topic в payload.
  • WebRTC не соединяется — STUN/TURN серверы не настроены или блокируются firewall.
  • Временный ключ не открывает замок — не совпадает timezone на замке и бэкенде.

Что входит в разработку?

Получаете полный цикл: анализ требований и согласование протоколов, проектирование архитектуры с резервными каналами, разработка мобильного приложения (iOS/Android), интеграция с замками и домофонами через API, настройка push-уведомлений (PushKit, FCM), тестирование на реальных устройствах, подготовка документации и инструкций для пользователей. Включаем гарантийную поддержку на 3 месяца после релиза.

Сроки и стоимость

Один тип замка (BLE или Wi-Fi/облако), базовое управление, временный доступ — 6–8 недель. Мультипротокол, домофон с видео, CallKit/VoIP, журнал, уведомления — 4–6 месяцев. Стоимость рассчитывается после определения модели замков и требований к гостевому доступу. Свяжитесь с нами — получите консультацию по архитектуре и предварительную оценку. Закажите разработку под ключ — мы предложим решение за 2 дня.

Apple PushKit documentation: https://developer.apple.com/documentation/pushkit