Реалізація моніторингу активності домашнього улюбленця через мобільний застосунок

Власники домашніх улюбленців хочуть бачити активність і стан тварини в реальному часі, а не здогадуватися про це. Ми розробляємо мобільні застосунки для моніторингу активності домашнього улюбленця під ключ: від датчиків до готового продукту. Ви отримуєте стабільний потік даних і зрозумілу аналітику без втрат.

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

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

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

Реалізація моніторингу активності домашнього улюбленця через мобільний застосунок

Інтеграція з пристроями (BLE, NFC, IoT, HomeKit)Простийвід 4 годин до 2 днів
Часті запитання

Що ламається в моніторингу активності домашнього улюбленця

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

Трекер записує кроки та сон у внутрішній буфер, застосунок забирає їх через Bluetooth, сервер зберігає історію — і варто зникнути зв'язку на прогулянці, як буфер переповнюється і частина доби зникає безповоротно.

Власник бачить рівний графік, ветеринар будує за ним висновки, а реальна картина активності вже втрачена.

Хибні спрацювання — друга за частотою причина недовіри до даних. Акселерометр рахує «кроками» тряску в машині або чухання, а алгоритм без калібрування під породу та вагу записує улюбленцю зайві кілометри.

Далі власник або перестає відкривати застосунок, або приходить до лікаря зі спотвореною історією, і діагностика починається з нуля.

Автономність трекера та синхронізація часу пов'язані напряму. Датчик економить заряд і рідше виходить на зв'язок — мітки часу «пливуть», події склеюються в один інтервал або з'їжджають на години назад при зміні часового поясу.

Сон і активність міняються місцями, а добовий ритм, який якраз і важливий для оцінки стану, читається неправильно.

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

Що дає застосунок: вимірюваний ефект

Моніторинг активності улюбленця — це насамперед дисципліна доставки даних. Нашийник з акселерометром і модулем зв'язку знімає показання постійно, але в квартирі з товстими стінами та на прогулянці в низині радіопокриття рветься.

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

Частка доставлених вимірювань на реальних маршрутах тримається вище 99% — власник бачить безперервну стрічку активності, а не рвані пропуски.

Другий напрям — час до оповіщення. Подія «улюбленець вийшов за геозону» або «активність впала нижче індивідуальної норми» має дійти до телефона за секунди, а не при наступній синхронізації.

Тут працює постійне з'єднання з push-каналом: пристрій тримає сесію, сервер шле повідомлення одразу при спрацюванні правила. Наші інженери налаштовують пріоритети так, щоб тривожні події обходили чергу фонових звітів — час до оповіщення вкладається в одиниці секунд.

Третє — усунений клас відмов. Класична проблема таких застосунків: після втрати зв'язку пристрій «залипає» і більше не підключається, поки власник не перезапустить його вручну.

Ми закриваємо це автоматичним перепідключенням із наростаючою паузою та сторожовим таймером, який перезапускає модуль зв'язку при довгому мовчанні. Клас відмов «пристрій онлайн, але даних немає» зникає з підтримки.

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

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

Стек і обладнання підбираємо під задачу — працюємо на перевірених модулях зв'язку, щоб поведінка була передбачуваною на різних моделях телефонів.

FitBark

Режими збору даних та їх обмеження

Режим збору визначає все інше: як швидко розряджається батарея, скільки даних доходить до сервера і що бачить власник у застосунку.

Обирати його «на око» не можна — у кожного варіанта є фізична межа, за якою або трекер розряджається за добу, або графік активності перетворюється на рідкісні точки.

Режим Коли підходить Обмеження
Безперервний потік Клінічні задачі, реабілітація після операції, спостереження за призначенням лікаря Витрата батареї максимальна, трекер працює лічені години; канал зв'язку забитий «сирими» відліками
Інтервальні вимірювання Повсякденний моніторинг активності улюбленця: сон, прогулянки, загальна рухливість Пропускає короткі сплески між вимірюваннями; при рідкісному інтервалі втрачається картина дня
Порогове надсилання Відстеження конкретних подій: улюбленець мало рухався, довго не вставав Потребує калібрування порогу під породу та вік; хибні спрацювання при зміні поведінки
Офлайн-буфер Прогулянки за містом, підвали, зони без мережі Дані надходять із затримкою; при переповненні буфера старі записи витісняються

На практиці режими комбінують: інтервальні вимірювання дають базовий графік, порогове надсилання додає тривожні події, а офлайн-буфер закриває розриви зв'язку.

Такий набір тримає добу роботи на одній зарядці й не втрачає значущі епізоди — власник бачить і загальну динаміку, і окремі відхилення.

Обмеження чесніше закладати в інтерфейс, а не приховувати: якщо застосунок показує «немає даних», власник має розуміти, що це розрив зв'язку або економія батареї, а не проблема з улюбленцем.

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

Як ми впроваджуємо моніторинг активності питомця

Моніторинг активності питомця ламається не на екрані застосунку, а на стику носимого пристрою, каналу зв'язку та серверної обробки.

Тому роботу ведемо етапами: спочатку фіксуємо, що реально вміє трекер і як він віддає дані, потім проєктуємо обмін і лише після цього пишемо інтерфейс. Такий порядок прибирає переробки — сценарій, який неможливо закрити на пристрої, виявляється до першого рядка коду.

  1. Аудит пристрою та каналів. Дивимося, які датчики є в нашийнику, з якою періодичністю він пише телеметрію, як поводиться без мережі та що віддає при розряді. Перевіряємо доступні способи зв'язку — пряме підключення та шлюз — і вибираємо той, що дає стабільний потік без ручних дій власника.
  2. Схема обміну. Описуємо формат пакетів, частоту відправки та правила досилання накопиченого після втрати зв'язку. Окремо фіксуємо, що вважається кроком, відпочинком та аномалією, — інакше графіки активності в різних порід будуть непорівнянні.
  3. Налаштування прийому даних. Піднімаємо серверну частину: прийом потоку, чергу на випадок піків, зберігання історії та розрахунок денних і тижневих зведень. Тут же закладаємо пороги сповіщень, щоб власник отримував сигнал про зниження активності, а не потік сирих значень.
  4. Перевірка сценаріїв. Проганяємо реальні ситуації: питомець вийшов із зони прийому, пристрій розрядився, власник змінив телефон, даних за добу немає. Звіряємо показання трекера з ручними вимірами — розбіжність має вкладатися в допустимий коридор.
  5. Інтерфейс власника. Збираємо екрани активності, історії та сповіщень так, щоб висновок читався за пару секунд. Окремо перевіряємо поведінку застосунку при слабкому зв'язку та на старих моделях телефонів.
  6. Передача рішення. Віддаємо налаштоване середовище, документацію за форматами даних та інструкції з оновлення прошивок, навчаємо вашу команду і залишаємося на підтримці змін.

Опишіть, які пристрої вже на руках і що має потрапляти у звіт власнику, — повернемося з оцінкою та планом за кожним етапом.

Артефакти: конфігурації, схеми, регламенти

Проєкт завершується не демонстрацією, а передачею комплекту, за яким ваша команда зможе експлуатувати моніторинг активності улюбленця без нас. Нижче — що саме залишається у замовника після впровадження.

  • Конфігурації приймання даних. Файли налаштувань шлюзу та черги: словник телеметрії (крок, сон, активність, пульс), частоти опитування, вікна агрегації, ліміти на пристрій. Редагуємо їх без перезбирання застосунку — додавання нової моделі трекера не потребує релізу.
  • Схема потоків даних. Діаграма шляху від датчика до екрана власника: де буферизується офлайн-запис, як вирішується конфлікт при розсинхронізації годинників, у який момент дані стають видимими в застосунку.
  • Правила оповіщень. Пороги та умови спрацювань: падіння активності нижче базової лінії породи, пропуск вигулу, відхилення сну, втрата зв'язку з трекером. Із зазначенням, які повідомлення надходять власнику, які — у підтримку, а які лише записуються в журнал.
  • Документація. Схема моделі даних, опис інтерфейсів обміну, перелік зовнішніх залежностей, інструкція з підключення нового типу пристрою та розбір типових відмов з ознаками в логах.
  • Регламент обслуговування. Періодичність перевірок, порядок оновлення довідників, реакція на деградацію приймання, точки контролю цілісності історії активності та правила зберігання архівів.
  • Доступи та ролі. Матриця прав на конфігурації, журнали та оповіщення, щоб зміни не потрапляли в прод без другого підтвердження.

Комплект самодостатній: він описує не лише поточний стан, а й порядок змін. Передаємо його з розбором на дзвінку — ваші інженери проходять по кожному пункту та ставлять запитання, поки контекст ще свіжий.

Кейс: стабільний потік даних без втрат

Замовник прийшов із готовим залізом: трекер на нашийнику писав дані, але в застосунку вони з'являлися з провалами.

Власник бачив «собака спав 6 годин», хоча улюбленець у цей час гуляв, а оповіщення про вихід за геозону надходило через 20–40 хвилин — коли сенсу в ньому вже не було.

Гірше того, застосунок будив власника вночі хибними тривогами: датчик втрачав зв'язок із телефоном, і система вважала це втечею.

PetKit — так називалася платформа, яку належало довести до продакшену. Розібрали три вузькі місця: буферизацію на боці трекера, канал доставки та правила, за якими система вирішує, що подія реальна.

Трекер накопичував вимірювання в локальний буфер і надсилав їх пакетом за наступного контакту — під час обриву зв'язку пакет втрачався цілком.

Переписали на підтверджувану доставку: пристрій зберігає вимірювання до отримання квитанції від сервера, а застосунок довантажує пропущений інтервал під час відновлення зв'язку.

Друге — затримка. Оповіщення йшли через періодичне опитування, звідси й хвилини очікування. Перевели на постійний канал: сервер сам штовхає подію в застосунок, щойно її зафіксовано. Третє — хибні спрацювання.

Ввели підтвердження за кількома вимірюваннями поспіль і фільтр за рівнем сигналу: одиничний пропуск зв'язку більше не вважається втечею.

Метрика До Після
Частка доставлених вимірювань 71% 99,4%
Затримка оповіщення 20–40 хв 3–7 сек
Хибні спрацювання за тиждень 12–15 0–1

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

Окремо зазначив, що відкат на попередню схему доставки не знадобився — нова працює на тому самому залізі без заміни трекерів.

Чим відрізняється потокова передача від інтервальної?

Різниця в тому, що саме застосунок надсилає на сервер. При інтервальній передачі трекер накопичує дані за вікно — зазвичай 5–15 хвилин — і віддає їх одним пакетом: кілька точок з мітками часу, усереднені кроки, сон, пульс.

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

Точність картини — це не лише частота точок, а й те, як їх склеює сервер. На інтервалах легко втратити спалах активності: улюбленець активно рухався дві хвилини всередині вікна, а в усередненому значенні це розчинилося.

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

Витрата батареї та навантаження на канал зростають нелінійно. Постійне з'єднання не дає модулю зв'язку піти в сон, а кожне пробудження — це сплеск споживання.

На інтервальній передачі трекер живе тижнями, на потоковій — дні, і все залежить від того, як часто відкривається канал і скільки даних іде в кожному пакеті.

Тому в робочих застосунках моніторингу активності улюбленця майже завжди гібрид: інтервальна передача як базовий режим, потокова — вмикається за подією.

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

Технічні сумніви щодо моніторингу

П'ять питань, які ставить технічний керівник перед стартом, звучать майже однаково в будь-якому проєкті моніторингу активності домашнього улюбленця. Нижче — прямі відповіді без маркетингу.

Як застосунок сумісний з різними пристроями?

Трекери спілкуються різними каналами — Bluetooth Low Energy, стільникові мережі, Wi-Fi. Ми будуємо шар абстракції: прошивка пристрою описується адаптером, а бізнес-логіка працює з єдиною моделлю подій.

Додавання нової моделі трекера — це новий адаптер, а не переписування застосунку. На боці телефона підтримуємо актуальні гілки iOS та Android, включно з фоновою синхронізацією та обмеженнями енергозбереження.

Що відбувається при втраті зв'язку з трекером?

Дані не втрачаються: пристрій буферизує вимірювання локально і віддає їх пакетом при відновленні каналу. На сервері події приймаються ідемпотентно — повторне надсилання не створює дублів.

Якщо трекер мовчить довше заданого порогу, власник отримує сповіщення, а в застосунку видно останній підтверджений інтервал, а не порожній екран.

Як забезпечується приватність даних про улюбленця та власника?

Персональні дані та телеметрія розділені: геолокація та активність зберігаються окремо від облікового запису, доступ — за токенами з обмеженим терміном. Передача йде захищеним каналом, чутливі поля шифруються на боці сервера.

Власник може вивантажити або видалити свої дані, а доступ співробітників до них обмежений роллю та журналюється.

Чи витримає система зростання кількості пристроїв?

Приймання телеметрії — найбільш навантажена частина, тому вона винесена в окремий контур і масштабується горизонтально. Черга згладжує піки, коли тисячі трекерів виходять на зв'язок одночасно.

Зберігання сирих вимірювань відокремлено від агрегатів, які віддаються в застосунок, — зростання кількості улюбленців не сповільнює екрани зі статистикою.

Що з підтримкою після запуску?

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

Далі — регламент оновлень прошивок і застосунку, розбір інцидентів і план розвитку в міру зростання парку пристроїв.

Обговоримо задачу та повернемося з планом

Щоб повернутися з оцінкою та планом, а не із загальними словами, нам потрібно зрозуміти поточний устрій продукту та сценарії використання.

Моніторинг активності улюбленця — це не окремий екран із графіком: дані надходять із носимого пристрою, проходять через мобільний застосунок і потрапляють в аналітику, і на кожній ділянці цього ланцюжка є свої обмеження. Чим точніше ви опишете, що вже працює, тим менше припущень ми закладемо в схему впровадження.

Надішліть вхідні дані за пунктами — за ними ми зберемо оцінку та план:

  • Поточний пристрій: що вже є — застосунок, носимо пристрій, серверна частина, чи поки лише ідея та прототип.
  • Джерела даних: які датчики та як часто передають показання, як пристрій синхронізується із застосунком.
  • Сценарії використання: що власник бачить у застосунку — денну активність, сон, відхилення від норми, повідомлення.
  • Платформи та охоплення: iOS, Android, планшети, вебкабінет — де потрібен моніторинг у першу чергу.
  • Інтеграції: з якими системами зв'язуємося — карти, ветеринарні сервіси, склади, служба підтримки.
  • Обмеження: терміни, вимоги до автономності пристрою, робота без мережі, приватність даних власника.
  • Що вже пробували: які рішення не підійшли і чому — це заощадить нам коло пошуку.

За цими вхідними даними ми повернемося зі схемою впровадження: як дані йдуть від датчика до екрана, де зберігається історія, як рахуються метрики активності та що показуємо власнику.

Оцінка буде прив'язана до етапів — від прототипу моніторингу до релізу в магазинах застосунків, зі зрозумілими термінами та складом робіт.

Опишіть задачу у вільній формі — навіть якщо частина деталей ще не визначена. Ми поставимо уточнювальні запитання та повернемося з оцінкою та планом.

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

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

  • Розробка мобільного додатка для компанії FEEDME
    Розробка мобільного додатка для компанії FEEDME
    1010
  • Розробка мобільного додатку для компанії XOOMER
    Розробка мобільного додатку для компанії XOOMER
    903
  • Розробка мобільного додатку для компанії RHL
    Розробка мобільного додатку для компанії RHL
    1332
  • Розробка мобільного додатку для компанії ZIPPY
    Розробка мобільного додатку для компанії ZIPPY
    1180
  • Розробка мобільного додатку для компанії Affhome
    Розробка мобільного додатку для компанії Affhome
    1107
  • Розробка мобільного додатку для компанії FLAVORS
    Розробка мобільного додатку для компанії FLAVORS
    714