Мониторинг качества воздуха: мобильное IoT-приложение

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

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

Информационные и развлекательные мобильные приложения
Новостные приложения, игры, справочники, онлайн-каталоги, погодные, фитнес и здоровье, туристические, образовательные, социальные сети и мессенджеры, квиз, блоги и подкасты, форумы, агрегаторы
Мобильные приложения электронной коммерции
Интернет-магазины, 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 лет. Мы гарантируем стабильную работу благодаря код-ревью и нагрузочному тестированию. Закажите предварительную оценку вашего проекта — мы подберём оптимальный стек. Свяжитесь с нами для старта разработки.