Моніторинг якості повітря: мобільний IoT-додаток

Чому важливий моніторинг якості повітря Зазначимо: коли в офісі рівень CO2 перевищує 1500 ppm, концентрація співробітників падає приблизно на 30% — це не теорія, а результати <cite>досліджень Гарвардської школи громадського здоров'я</cite>. Крім того, підвищений вміст PM2.5 та VOC може викликати

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

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

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

Послуги, які ми пропонуємо
Показано 1 з 1Усі 1734 послуг
Моніторинг якості повітря: мобільний IoT-додаток
Простий
від 4 годин до 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

Чому важливий моніторинг якості повітря

Зазначимо: коли в офісі рівень CO2 перевищує 1500 ppm, концентрація співробітників падає приблизно на 30% — це не теорія, а результати досліджень Гарвардської школи громадського здоров'я. Крім того, підвищений вміст PM2.5 та VOC може викликати головні болі та зниження продуктивності. Ми стикалися з проєктом, де в серверній кімнаті через погану вентиляцію виходили з ладу SSD-накопичувачі — температура та вологість теж відіграють роль. Без моніторингу ви помічаєте проблему лише за суб'єктивними відчуттями. Ми розробляємо мобільний IoT-додаток, який підключається до датчиків Sensirion SEN55 або Bosch BME688 на ESP32, передає дані по MQTT та відображає в реальному часі на смартфоні з кольоровою індикацією та налаштовуваними сповіщеннями. Все — від прошивки датчика до App Store та Google Play.

Як наш IoT-додаток вирішує задачу моніторингу повітря

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

Як датчик SEN55 передає дані на телефон?

SEN55 вимірює PM1.0, PM2.5, PM4, PM10, VOC, NOx, температуру та вологість по інтерфейсу I²C. ESP32 зчитує дані кожні 30 секунд, упаковує в JSON та відправляє через MQTT на брокер (наприклад, Mosquitto). Серверний API зберігає показники в базу InfluxDB та розсилає push-сповіщення через FCM. Додаток підписується на MQTT-топік для реального часу або опитує REST API.

Код на сервері отримує сирі дані, застосовує формули конвертації від Sensirion, обчислює AQI:

AirQualityLevel classifyPm25(double ugm3) { if (ugm3 <= 12.0) return AirQualityLevel.good; if (ugm3 <= 35.4) return AirQualityLevel.moderate; if (ugm3 <= 55.4) return AirQualityLevel.sensitiveGroups; if (ugm3 <= 150.4) return AirQualityLevel.unhealthy; if (ugm3 <= 250.4) return AirQualityLevel.veryUnhealthy; return AirQualityLevel.hazardous; } 

Дашборд в додатку: кругові індикатори (gauge) кожного параметра з кольоровим кодуванням та міні-трендом за останню годину. CO2 > 1000 ppm — рекомендація провітрити, PM2.5 > 35 — увімкнути очищувач.

Що таке IAQ і чому він важливий?

Bosch BME688 з бібліотекою Bsec видає IAQ індекс 0–500. Чим вище, тим гірше. На відміну від сирих значень, IAQ враховує комбінацію газів та компенсує температуру і вологість. Це зручно для швидкої оцінки: один зелено-жовто-червоний індикатор замість п'яти.

Вибір датчиків і протоколів

SEN55 забезпечує точність PM2.5 ±10%, що в 1.5 рази краще, ніж у Plantower PMS5003 (±15%). Порівняємо популярні датчики:

Датчик Вимірювані параметри Інтерфейс Точність PM2.5 Цінова категорія
Sensirion SEN55 PM1.0,2.5,4,10, VOC, NOx, T, Rh I²C/UART ±10% Середня
Bosch BME688 VOC, NOx, T, Rh, IAQ I²C/SPI Низька
Plantower PMS5003 PM1.0,2.5,10 UART ±15% Середня

SEN55 — найкращий вибір для PM, BME688 — для комплексної оцінки повітря з меншим бюджетом.

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

Прошивка ESP32

Пишемо на C++ з бібліотекою SensirionI2CSen5x або Bsec. Після ініціалізації I²C кожні 30 секунд вимірюємо, формуємо JSON, публікуємо в MQTT:

#include <Sen5x.h> Sen5x sensor; void setup() { sensor.begin(Wire); sensor.startMeasurement(); } void loop() { auto data = sensor.readMeasuredValues(); char buffer[256]; sprintf(buffer, "{\"pm2.5\":%.1f,\"voc\":%d}", data.massConcentrationPm2p5, data.vocIndex); client.publish("air/office", buffer); delay(30000); } 

Для стабільності використовуємо watchdog та queue в разі втрати зв'язку.

Серверна частина та зберігання

Дані надходять до MQTT-брокера, потім підписник зберігає в InfluxDB. Історія агрегується по 15-хвилинках для графіків в додатку. Для push-сповіщень використовуємо Firebase Cloud Messaging. Локальний кеш останніх значень (SharedPreferences) усуває порожній екран при запуску.

Мобільний додаток

Використовуємо Flutter для кроссплатформенності: один код під iOS та Android. Стек: Dio для HTTP, MQTT Client для підписки, fl_chart для графіків, flutter_local_notifications для алертів. Користувач налаштовує пороги: CO2 > 1000 ppm або PM2.5 > 35 мкг/м³ — сповіщення на телефон.

Що входить в роботу: deliverables

Кожен проєкт включає повний цикл розробки та документацію:

  • Прошивка для датчика (ESP32/Arduino) з конфігурацією MQTT та автокалібруванням.
  • Серверний API (Node.js або Go) на вашій інфраструктурі або в хмарі, включаючи парсинг даних.
  • Мобільний додаток (Flutter) з дашбордом, історією та push-сповіщеннями.
  • Документація з розгортання та експлуатації (схеми, конфіги, інструкції).
  • Інтеграція з App Store та Google Play (включаючи сертифікати та provisioning profiles).
  • Місяць безкоштовної підтримки після запуску.

Процес роботи: покроково

  1. Аналіз вимог та вибір датчиків (1 день).
  2. Прошивка ESP32 з налаштуванням MQTT та watchdog (3-5 днів).
  3. Розробка серверної частини: API, InfluxDB, FCM (3-5 днів).
  4. Мобільний додаток на Flutter з дашбордом та сповіщеннями (5-7 днів).
  5. Інтеграційне тестування та деплой (2-3 дні).

Строки розробки

Розробка під ключ — від 2 до 3 тижнів. Строки уточнюємо після аналізу ваших датчиків та вимог до дизайну. Нижче приблизна тривалість етапів:

Етап Тривалість
Аналіз вимог 1 день
Прошивка ESP32 3-5 днів
Серверна частина 3-5 днів
Мобільний додаток 5-7 днів
Тестування та деплой 2-3 дні

У нас за плечима 20+ IoT-проєктів, включаючи системи моніторингу для офісів та складів. Команда з трьох інженерів з досвідом від 5 років. Ми гарантуємо стабільну роботу завдяки код-рев'ю та навантажувальному тестуванню. Замовте попередню оцінку вашого проєкту — ми підберемо оптимальний стек. Зв'яжіться з нами для старту розробки.