Реализация мониторинга качества воздуха через мобильное IoT-приложение
Датчики качества воздуха — один из самых доступных входов в IoT. Sensirion SEN55 измеряет PM1.0/PM2.5/PM4/PM10, VOC index, NOx index, температуру и влажность через I²C. Bsec library от Bosch для BME688 даёт IAQ (Indoor Air Quality) индекс 0–500. Данные с таких датчиков идут на ESP32 или Raspberry Pi, дальше — MQTT или HTTP к API, откуда приложение их забирает.
Отображение: индексы и шкалы
Числа без контекста бесполезны. PM2.5 = 35 мкг/м³ — это много или нормально? Стандарт WHO: до 15 мкг/м³ суточная норма, до 25 мкг/м³ — допустимо. EPA AQI переводит сырые значения в индекс 0–500 с категориями.
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 выше 1500 ppm в закрытой переговорке — рекомендация проветрить, это полезная фича, а не просто число.
Получение данных и история
Polling каждые 30 секунд через Retrofit/Dio для текущих показаний. История за день/неделю — агрегированные данные с сервера (avg по 15-минутным интервалам). Локальный кеш последних значений в SharedPreferences — чтобы при открытии приложения не было пустого экрана.
Push-алерт когда CO2 > 1000 ppm или PM2.5 > 35 мкг/м³ — настраивается пользователем.
Разработка приложения мониторинга качества воздуха с дашбордом, историческими трендами и настраиваемыми алертами: 2–3 недели. Стоимость рассчитывается индивидуально.







