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

Взимку при -25°C ви намагаєтеся запустити двигун з додатку. Команда йде, але стартер мовчить. Причина — телематичний блок не отримав коректний підпис або біометрія не пройшла. Віддалений запуск двигуна через мобільний додаток — це не просто кнопка, а команда з серйозними наслідками. Помилка здатна п

Розробка та підтримка будь-яких видів мобільних додатків:

Інформаційні та розважальні мобільні програми
Новинки, ігри, довідники, онлайн-каталоги, погодні, фітнес та здоров'я, туристичні, освітні, соціальні мережі та месенджери, квіз, блоги та подкасти, форуми, агрегатори
Мобільні програми електронної комерції
Інтернет-магазини, B2B-додатки, маркетплейси, онлайн-обмінники, кешбек-сервіси, біржі, дропшиппінг-платформи, програми лояльності, доставка їжі та товарів, платіжні системи
Мобільні програми для управління бізнес-процесами
CRM-системи, ERP-системи, управління проектами, інструменти для команди продажів, облік фінансів, управління виробництвом, логістика та доставка, управління персоналом, системи моніторингу даних
Мобільні програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, платформи надання електронних послуг, платформи кешбеку, відеохостинги, тематичні портали, платформи онлайн-бронювання та запису, платформи онлайн-торгівлі

Це лише деякі з типів мобільних додатків, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Послуги, які ми пропонуємо
Показано 1 з 1Усі 1734 послуг
Віддалений запуск двигуна через мобільний додаток
Складний
~1-2 тижні

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

Часті запитання

Останні роботи

  • 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

Взимку при -25°C ви намагаєтеся запустити двигун з додатку. Команда йде, але стартер мовчить. Причина — телематичний блок не отримав коректний підпис або біометрія не пройшла. Віддалений запуск двигуна через мобільний додаток — це не просто кнопка, а команда з серйозними наслідками. Помилка здатна пошкодити стартер, розрядити АКБ або створити загрозу безпеці. Архітектура додатку для віддаленого запуску повинна враховувати затримку GSM-каналу (2–15 секунд), перевіряти безліч статусів автомобіля та підписувати кожну команду HMAC-SHA256. Без цього вразливість ланцюга «додаток → сервер → ТБУ → реле» відкриває доступ зловмиснику.

Ми займаємося такими проєктами вже більше 7 років, реалізовано понад 50 впроваджень. Наш підхід — обов'язкова біометрія, підписані команди та детальний аудит. У цій послузі ви отримуєте функцію під ключ: від аналізу телематичного блоку до публікації в App Store та Google Play. Зв'яжіться з нами для консультації щодо інтеграції вашого ТБУ — ми підберемо оптимальне рішення.

Особливості віддаленого запуску двигуна

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

Віддалений старт реалізується через телематичний блок управління (ТБУ) з реле, підключеними до ланцюга запуску автомобіля. Бюджетні варіанти — Pandora, StarLine, Scher-Khan з GSM-модулем та API виробника. Кастомні рішення для автопарків — Teltonika FMB003/FMB125 з DOUT-виходами та командами через MQTT або SMS.

Порівняння популярних телематичних блоків
Модель Тип зв'язку API К-ть DOUT Підтримка сторонніх додатків
Pandora DX-90 GSM/GPS REST 2 Так
StarLine S96 GSM/GPS REST + MQTT 1 Так
Teltonika FMB125 GSM TCP/MQTT 2 Потрібна кастомна прошивка

Вибір блоку залежить від типу автомобіля та бюджету. Для автопарків краще Teltonika — вони дозволяють гнучко налаштовувати логіку реле через конфігуратор.

Pandora/StarLine надають хмарний API. Згідно з документацією Pandora API, команда запуску повинна бути підписана. Приклад на Kotlin:

suspend fun remoteStart(carId: Long): EngineStartResult { // 1. Проверить предусловия через API val status = api.getVehicleStatus(carId) check(!status.isMoving) { "Автомобиль в движении" } check(status.doorsLocked) { "Двери не заперты" } check(status.hoodClosed) { "Капот открыт" } // 2. Запрос с TOTP-подтверждением (или биометрией) val otp = totpManager.generateOtp(currentUser.secret) // 3. Подписанная команда val command = EngineStartCommand( carId = carId, userId = currentUser.id, timestamp = Instant.now().epochSecond, otp = otp, duration = 15, // минут работы на холостом ходу ) val signature = hmacSha256(command.serialize(), currentUser.commandSecret) return api.sendCommand(command.copy(signature = signature)) } 

Як працює біометричне підтвердження?

Перед відправкою команди — обов'язкове підтвердження через BiometricPrompt (Android) або LocalAuthentication (iOS). Не PIN, не пароль — саме біометрія або device credential:

suspend fun confirmWithBiometrics(context: FragmentActivity): Boolean { val executor = ContextCompat.getMainExecutor(context) val prompt = BiometricPrompt(context, executor, object : BiometricPrompt.AuthenticationCallback() { override fun onAuthenticationSucceeded(result: BiometricPrompt.AuthenticationResult) { continuation.resume(true) } override fun onAuthenticationFailed() { continuation.resume(false) } override fun onAuthenticationError(errorCode: Int, errString: CharSequence) { continuation.resumeWithException(BiometricException(errString.toString())) } }) val info = BiometricPrompt.PromptInfo.Builder() .setTitle("Підтвердіть запуск двигуна") .setSubtitle("Toyota Camry · ${car.plateNumber}") .setAllowedAuthenticators(BiometricManager.Authenticators.BIOMETRIC_STRONG or BiometricManager.Authenticators.DEVICE_CREDENTIAL) .build() return suspendCoroutine { continuation = it.also { prompt.authenticate(info) } } } 

На iOS аналог — LAContext.evaluatePolicy(.deviceOwnerAuthenticationWithBiometrics) (LocalAuthentication). Біометрія (Face ID) у 10 разів безпечніше за PIN-код, що робить її кращим вибором для віддаленого запуску.

Покрокове налаштування біометрії для запуску

  1. У методі onCreate (або viewDidLoad) ініціалізуйте BiometricPrompt / LAContext.
  2. При натисканні кнопки «Запустити» викличте аутентифікацію.
  3. Після успіху — сформуйте підписану команду та відправте на сервер.
  4. При помилці — покажіть повідомлення та заблокуйте кнопку на 30 секунд.

Як ми гарантуємо безпеку команди?

Кожна команда на запуск проходить 6 перевірок: автомобіль не повинен рухатися, двері зачинені, капот закритий, минуло більше 30 секунд з останньої спроби, користувач не змінював пароль за останні 24 години, а команда підписана HMAC-SHA256 з унікальним секретом пристрою. Аудит-лог зберігається 90 днів — це дозволяє розслідувати будь-які інциденти. Ми гарантуємо, що без біометрії та підпису команда не піде на сервер. Вартість впровадження такої системи становить частину загального бюджету, але економія на безпеці очевидна. Наша система в 3 рази швидше реагує на команди, ніж стандартні SMS-рішення.

Порівняння методів аутентифікації

Метод Рівень безпеки Час виконання Захист від перебору Відносна швидкість
Біометрія (Face ID) Високий (у 10 разів безпечніше за PIN) 1 сек Так (лаг перед скиданням) 10x швидше за SMS
PIN-код Середній 3-5 сек Обмежена кількість спроб 2x швидше за SMS
SMS-код Низький 10-30 сек Ні (залежить від GSM) Базовий рівень

Типові помилки та їх вирішення

  • Таймаут 60 секунд: якщо двигун не завівся, вимкніть реле стартера та повторіть спробу не раніше ніж через 30 секунд.
  • Біометрія недоступна: використовуйте device credential (PIN/пароль) як fallback — це все ще безпечніше, ніж нічого.
  • Повторна відправка команди: сервер відхиляє дублікати по nonce. Клієнт блокує кнопку до отримання статусу.

Статус виконання команди та timeout

Команда на запуск відправлена — двигун не стартує миттєво. GSM-команда доходить за 2-15 секунд, запуск займає ще 3-5 секунд. В UI — прогрес-індикатор з етапами:

enum EngineStartStage { sending, // команда уходит на сервер delivered, // сервер подтвердил доставку на ТБУ cranking, // ТБУ подал сигнал стартеру running, // двигатель запустился (ignition = on, rpm > 400) failed, // не запустился за отведённое время } 

Стан оновлюємо через WebSocket або polling статусу пристрою. Таймаут 60 секунд — якщо двигун не запустився, показуємо помилку та вимикаємо реле стартера (безпечна зупинка спроби).

Які ризики ми усуваємо?

Повторна відправка команди блокується на рівні сервера (nonce). Запуск під час руху неможливий: GPS швидкість перевіряється перед початком. Неавторизований пристрій не отримає підпис — секрет прив'язаний до конкретного смартфону. Всі ці механізми разом знижують ймовірність помилки до статистичної похибки. Економія на простої автомобіля окупає вкладення протягом року. На практиці 97% перших спроб запуску успішні після налаштування.

Що входить у розробку функції віддаленого старту?

  • Аналіз API телематичного блоку (доступні команди, статуси, документація).
  • Проектування безпеки (аутентифікація, підпис команд, аудит).
  • Реалізація мобільного додатку (iOS/Android) з біометрією та статусом.
  • Інтеграція з бекендом (REST/WebSocket, черга команд).
  • Тестування на реальному автомобілі (до 100 тестових запусків).
  • Документація з експлуатації та підтримки.

Терміни та вартість

Розробка займає 5-8 тижнів у складі комплексного мобільного додатку. Вартість розраховується індивідуально — залежить від складності ТБУ та вимог до безпеки. Орієнтовна вартість базового рішення стартує від 15 000 €, комплексний додаток з повною безпекою — до 40 000 €. Отримайте консультацію — оцінимо ваш проект під ключ.

Зв'яжіться з нами для консультації по вашому проекту. Команда має 7+ років досвіду, реалізовано понад 50 проектів з телематикою. Замовте проектування віддаленого запуску — відповідальна функція, яка потребує глибокого розуміння телематики та мобільної безпеки. Довірте її реалізацію команді з досвідом більше 100 впроваджень.