Моніторинг протипожежних датчиків у мобільному додатку
Пожежна сигналізація — зона, де програмна помилка коштує дорожче, ніж у будь-якому іншому IoT. В одному з проектів для гіпермаркету ми зіткнулися з ситуацією: додаток показував «Все нормально», хоча на ППК горів червоний індикатор. Виявилося, шлюз неправильно парсив відповіді по RS-232. З тих пір кожен біт у протоколі перевіряється подвійним читанням. Наша команда розробляє мобільні додатки для моніторингу протипожежних датчиків з 7+ річним досвідом та понад 50 успішними проектами. Ми гарантуємо надійність і відповідність вимогам пожежної безпеки.
Прилад приймально-контрольний (ППК) типу Болід С2000-КДЛ, Honeywell NOTIFIER, Siemens Sinteso завжди залишається головним: мобільний додаток читає його стан, але ніколи не підміняє локальну автоматику. Квітування тривоги в телефоні не скидає ППК — для цього потрібен фізичний пульт.
Які ППК та протоколи підтримуються?
Ми працюємо з будь-якими ППК, що надають доступ по OPC UA, MODBUS TCP, REST API, або через RS-232 з пропрієтарним протоколом. Для Honeywell NOTIFIER використовуємо REST API через LifeSafety Power Manager, для Болід С2000-КДЛ — RS-232 з конвертацією в MQTT через шлюз на Linux. OPC UA — стандарт для сучасних систем, але старі ППК часто вимагають прямого читання порту. У будь-якому випадку ми реалізуємо надійний ланцюг: ППК -> шлюз -> MQTT -> мобільний додаток.
Інтеграція з ППК через OPC UA та RS-232
Типова схема: шлюз на Linux-міні-сервері в серверній читає ППК через RS-232/OPC і публікує нормалізовані події в MQTT. Мобільний клієнт підписаний на MQTT через TLS 1.3. Ми використовуємо Flutter 3.x (Dart) з бібліотекою mqtt_client, що дає гнучкість під iOS і Android.
Структура топіків MQTT:
fire/{buildingId}/panel/{panelId}/zone/{zoneId}/state fire/{buildingId}/panel/{panelId}/alarm fire/{buildingId}/panel/{panelId}/fault Стан зони — перелік: normal, alarm, fault, disabled, test.
MQTT забезпечує доставку подій у середньому за 100 мс, що в 10 разів швидше, ніж REST-опрос. Для тривог це критично. За даними офіційної документації MQTT, QoS 2 гарантує доставку без дублікатів.
Пріоритети та відображення
У додатку події ранжуються строго за пріоритетом:
enum FireEventPriority { alarm, fault, warning, normal } Color getZoneColor(ZoneState state) => switch (state) { ZoneState.alarm => const Color(0xFFD32F2F), // червоний ZoneState.fault => const Color(0xFFFF6F00), // помаранчевий ZoneState.disabled => const Color(0xFF757575), // сірий ZoneState.test => const Color(0xFF1976D2), // синій ZoneState.normal => const Color(0xFF388E3C), // зелений }; Тривога повинна бути негайно видна: FCM priority: high + notification.android.channel_id з IMPORTANCE_HIGH і звуком. На пристроях Xiaomi/Huawei без notification_priority: PRIORITY_MAX сповіщення тоне в фоні — це типова помилка.
Як ми забезпечуємо надійність?
Ми проектуємо систему так, щоб відмова мобільного додатка не впливала на пожежну автоматику. Використовуємо дублювання каналів: MQTT + HTTP fallback, кешування останніх станів на пристрої. При втраті з'єднання додаток показує останній відомий стан із позначкою 'Немає даних'. Кожна подія тривоги логується з міткою часу, ID зони та користувачем. Гарантуємо доставку push-сповіщень протягом 3 секунд при працюючому інтернеті.
| Протокол | Затримка | Надійність | Складність реалізації |
|---|---|---|---|
| MQTT | <100 мс | 99.99% | Середня |
| REST | 1-5 с | 99.9% | Низька |
Реальний кейс: для торгового центру з 15 ППК Болід (2000 зон) ми розгорнули відмовостійкий кластер: два шлюзи на різних серверах, MQTT з QoS 2, і окремий канал для тривог. За рік експлуатації — нульова кількість хибнонегативних сповіщень.
Налаштування push-сповіщень про тривогу
- Створіть окремий канал сповіщень у
AndroidManifest.xmlзIMPORTANCE_HIGH. - Налаштуйте FCM з
priority: highі вкажітьchannel_id. - Для iOS додайте
criticalAlertтаcontent-available: 1у payload. - Протестуйте на реальних пристроях, включаючи Xiaomi та Huawei.
| Платформа | Сервіс сповіщень | Пріоритет | Фонове отримання |
|---|---|---|---|
| Android | FCM | HIGH | + (data-only) |
| iOS | APNs | critical | + (background fetch) |
Push-сповіщення на Android через FCM доставляються в середньому за 1-2 секунди, що в 5 разів швидше, ніж через стандартний polling.
Етапи розробки
- Аналітика та проектування — обговорюємо тип ППК, кількість зон, вимоги до картографії.
- Розробка шлюзу — пишемо конвертер протоколів на Python/C++ під Linux.
- Мобільний додаток — на Flutter 3.x (Swift/Kotlin для нативної частини).
- Тестування — unit, integration, навантажувальне до 1000 подій в секунду.
- Деплой — публікація в App Store та Google Play, налаштування TestFlight та Firebase App Distribution.
- Навчання — інструкція для чергового персоналу, передача вихідних кодів і документації.
Що входить у роботу
Ми пропонуємо комплексне рішення «під ключ» за 3-5 тижнів. У вартість входить:
- Архітектурна документація (схема інтеграції, ER-діаграми)
- Розробка шлюзу (Linux, Python/C++, protocol conversion)
- Мобільний додаток (Flutter 3.x, Swift 5.9, Kotlin) у джерельних кодах
- Налаштування push-сповіщень (FCM + APNs)
- Налаштування журналів аудиту та логування
- Тестування (unit, integration, навантажувальне)
- Деплой в App Store Connect та Google Play Console
- Технічна документація та навчання персоналу (2 години)
- Підтримка 3 місяці після запуску
Журнал подій та відповідальний черговий
Кожна подія тривоги логується з міткою часу, ID зони, типом датчика та користувачем, який підтвердив отримання. Квітування в додатку — лише інформаційний шар, не заміна фізичного скидання на ППК.
Завдяки автоматизації, наші клієнти економлять до 30% на щомісячному моніторингу, виключаючи хибні виїзди та скорочуючи час реакції. Вартість розробки базового рішення стартує від $5000. Наприклад, для торгового центру з 2000 зон вартість склала $15 000, що окупилося за 8 місяців за рахунок зменшення хибних тривог. Оцінка вашого проекту — безкоштовно.
Наша команда
Ми — команда з 7+ років досвіду в IoT та пожежній безпеці. Виконано 50+ проектів для торгових центрів, офісних будівель та промислових об'єктів. Використовуємо сучасні протоколи шифрування (TLS 1.3, двофакторна автентифікація, сертифікати клієнта), що підтверджує нашу експертність.
Зв'яжіться з нами для оцінки вашого проекту — ми запропонуємо оптимальне рішення. Пропонуємо готове рішення «під ключ» за 3-5 тижнів. Пишіть нам у Telegram або на email — оцінимо проект безкоштовно.
Стандарти: NFPA 72, СП 5.13130.2009







