Введение
В настоящее время загрязнение атмосферного воздуха является одной из ключевых экологических и медицинских проблем. Всемирная организация здравоохранения (ВОЗ) отмечает прямую связь между воздействием загрязняющих веществ и ростом заболеваемости, прежде всего респираторных и сердечно-сосудистых заболеваний [1]. Особую опасность представляют мелкодисперсные твердые частицы PM2.5 и PM10, при этом частицы PM2.5 способны проникать глубоко в легкие и кровеносную систему, перенося токсичные вещества [1].
В связи с этим возрастает потребность в доступных, точных и портативных средствах мониторинга качества воздуха в реальном времени. Стационарные системы, как правило, являются дорогостоящими и обеспечивают данные лишь для крупных территорий, тогда как данный проект ориентирован на локальный, персонализированный и геопривязанный мониторинг [2].
Развитие микроконтроллерных технологий и Internet of Things (IoT) позволяет создавать компактные аппаратно-программные решения с широкими функциональными возможностями. Микроконтроллер ESP32 сочетает достаточную вычислительную мощность, низкое энергопотребление и поддержку беспроводных интерфейсов, что делает его эффективной основой портативных систем мониторинга [13]. Применение GPS-модуля обеспечивает привязку измерений к географическим координатам и повышает аналитическую ценность полученных данных.
Объектом исследования являются системы мониторинга качества атмосферного воздуха, а предметом — аппаратно-программный комплекс на базе микроконтроллера ESP32 с использованием GPS-модуля. Практическая значимость работы заключается в возможности применения разработанного комплекса для локального экологического мониторинга, научных исследований и в составе распределённых систем контроля качества окружающей среды.
Раздел I. Теоретическая часть
Традиционные устройства мониторинга часто ограничиваются измерением одного или двух параметров. Инновационная ценность данного проекта заключается в создании комплексной, мультиплексированной системы, интегрирующей измерение сразу семи ключевых параметров окружающей среды: температуры, атмосферного давления, относительной влажности, газового сопротивления, а также концентраций PM2.5, PM10 и точных географических координат (широты (LAT), долготы (LON)) [2].
Центральным инженерным решением является использование микроконтроллера ESP32, который обеспечивает высокую производительность и встроенные возможности беспроводной связи Wi-Fi [2]. Это позволяет системе не только собирать данные, но и предоставлять их пользователю через локальный, интуитивно понятный веб-интерфейс, разработанный на базе библиотеки GyverPortal [2]. Способность устройства работать как в режиме Станции (STA), подключаясь к существующей сети, так и в режиме Точки Доступа (AP) для первоначальной настройки, обеспечивает максимальную гибкость и мобильность использования [2].
Объединение широкого спектра данных — от метеорологических и химических показателей до точных географических координат — преобразует устройство из простого измерителя в мощный инструмент для пространственно-временного анализа загрязнения. Данный подход критически важен для экологических исследований, где контекст (местоположение, температура, влажность) оказывает существенное влияние на достоверность и интерпретацию показаний загрязнения [2].
Глава 2. Теоретические основы и функциональные принципы датчиков
Для обеспечения всестороннего мониторинга качества воздуха в системе используются три основных модуля: BME680, SDS011 и GPS NEO-6M [2].
2.1.Физико-химические Параметры Мониторинга (BME680)
Датчик BME680, разработанный Bosch Sensortec, является мультисенсорным модулем, способным измерять четыре ключевых параметра окружающей среды: давление, температуру, влажность и газовое сопротивление [2]. Модуль отличается высокой точностью и исключительно низким энергопотреблением, потребляя менее 1 мкА (микроампера), в режиме ультранизкого энергопотребления [5].
2.1.1.Измерение Метеорологических Параметров
Давление: Измеряется атмосферное давление в гектопаскалях (гПа).Датчик давления обладает высокой точностью и широким диапазоном работы (300 до 1100 гПа) [4].
Температура и Влажность: Датчики температуры и влажности используются для получения точных метеорологических данных. Температура измеряется в градусах Цельсия, а относительная влажность — в процентах. Эти параметры важны не только сами по себе, но и для корректной интерпретации показаний газового сенсора и PM-датчиков [2].
Измерение газового сопротивления
Ключевым элементом BME680 является полупроводниковый датчик окиси металла (MOX). Принцип его работы основан на хеморезистивном эффекте. Сенсор измеряет изменение электрического сопротивления, которое происходит при химическом взаимодействии газов с нагреваемым чувствительным элементом.
В чистом воздухе (низкая концентрация восстановительных газов, таких как летучие органические соединения (ЛОС), угарный газ или озон), электрическое сопротивление датчика высоко. Присутствие восстановительных газов приводит к их адсорбции на поверхности оксида металла, что снижает общее сопротивление. Сопротивление газов измеряется в килоомах [2].
Важно отметить, что BME680 в своей базовой реализации, используемой в данном проекте, предоставляет сырое значение газового сопротивления. Это значение является качественным показателем наличия вредных газов. Для получения количественного Индекса Качества Воздуха (IAQ), отражающего реальную концентрацию загрязнителей в мкг/м³, требуется применение сложных программных алгоритмов компенсации и калибровки, таких как Bosch Sensortec Environmental Cluster (BSEC) [6]. Таким образом, газовое сопротивление, отображаемое в проекте, служит индикатором, требующим дальнейшей алгоритмической обработки для достижения полной академической точности.
Принципы Измерения Твердых Частиц (SDS011)
Анализатор качества воздуха SDS011 используется для измерения концентрации мелкодисперсных частиц PM2.5 и PM10 [2].
Метод Лазерного Рассеяния
SDS011 использует принцип лазерного рассеивания (laser scattering). Внутри датчика лазерный луч освещает поток воздуха, проходящий через измерительную камеру. Когда твёрдые частицы проходят через луч, они рассеивают свет. Светочувствительный детектор измеряет интенсивность рассеянного света, которая прямо пропорциональна размеру и количеству частиц. На основе анализа интенсивности рассеяния электроника датчика классифицирует и подсчитывает частицы размером от 0.3 мкм до 10 мкм (микрометр), разделяя их на фракции PM2.5 и PM10. [7].
Для обеспечения стабильной и точной работы SDS011 оснащен встроенным вентилятором [7]. Вентилятор создает контролируемый и постоянный поток воздуха через измерительную камеру. Это критически важно, поскольку точность показаний PM-датчиков сильно зависит от скорости, с которой окружающий воздух попадает в сенсорный элемент. SDS011 передает данные один раз в секунду через последовательный порт [8].
2.2.2.Экологические Стандарты и Интерпретация Данных
Полученные данные PM2.5 и PM10 выражаются в микрограммах на кубический метр (мкг/м³). Для оценки качества воздуха эти показатели необходимо соотносить с международными стандартами.
Всемирная организация здравоохранения (ВОЗ) установила строгие руководящие принципы (Air Quality Guidelines, AQG) для качества атмосферного воздуха[9]. В частности, среднесуточная концентрация PM2.5 не должна превышать 15 мкг/м³, а для PM10 — 45 мкг/м³. Превышение указанных значений свидетельствует о неприемлемом качестве воздуха, которое может оказывать негативное воздействие на здоровье человека.
Проект предоставляет пользователю возможность получать данные о концентрации взвешенных частиц, что позволяет самостоятельно выполнять их сравнение с установленными предельно допустимыми концентрациями (ПДК).
2.3 Принципы глобальной системы позиционирования (GPS NEO-6M)
GPS-модуль NEO-6M интегрирован в систему для определения точных географических координат, что позволяет выполнять геопривязку каждого измерения качества воздуха [2].
Модуль NEO-6M принимает сигналы от спутников глобальной системы позиционирования и вычисляет широту (LAT), долготу (LON). Чувствительность приёмника в режиме слежения составляет –161 dBm, что обеспечивает быстрый и надёжный захват сигнала даже при «холодном старте» [3]. Точность позиционирования составляет приблизительно 2.5 м (CEP).
Наличие точных географических координат позволяет пользователям анализировать качество воздуха в различных регионах и формировать локализованные карты загрязнения [2].
Глава 3. Архитектура системы и электрическая реализация
3.1. Обоснование Выбора Микроконтроллера ESP32
В качестве центрального компонента системы выбран микроконтроллер ESP32. Этот выбор обусловлен рядом технических преимуществ, критически важных для портативного IoT-устройства:
Высокая Производительность: Двухъядерный процессор обеспечивает достаточную мощность для одновременного управления сложными протоколами (I2C для BME680, два программных UART для SDS011 и GPS) и обслуживания веб-сервера [2].
Интегрированная Беспроводная Связь: Встроенные модули Wi-Fi позволяют реализовать локальный веб-интерфейс без необходимости использования внешних сетевых компонентов [2].
Энергоэффективность: Несмотря на высокую производительность, ESP32 спроектирован с учетом низкого энергопотребления, особенно при использовании режимов сна, что необходимо для увеличения срока службы батареи [2].
3.2. Электрическая схема соединений и интерфейсы взаимодействия
Система построена на взаимодействии ESP32 с тремя основными модулями, использующими разные коммуникационные протоколы. Электрическая реализация проекта требует тщательного сопоставления GPIO пинов ESP32. Питание устройства осуществляется через источник DC 6V-9V. (Таблица 1, Приложение 1).
3.2.1. Интерфейс I2C (BME680)
Датчик BME680 использует двухпроводной интерфейс I2C (Inter-Integrated Circuit) для высокоскоростной передачи данных. Аппаратный I2C ESP32 был выбран для этого сенсора благодаря его надежности и эффективности.
Пин данных SDA подключен к GPIO 22 (#define BME_SDA 22) [2].
Пин тактового сигнала SCL подключен к GPIO 23 (#define BME_SCL 23) [2].
Использование аппаратного I2C обеспечивает стабильное чтение четырех параметров BME680.
3.2.2. Интерфейс программного последовательного порта (SoftwareSerial)
Для связи с SDS011 и GPS NEO-6M необходимы два независимых последовательных порта UART. Поскольку один аппаратный UART ESP32 обычно зарезервирован для отладки или прошивки, а второй может быть недоступен или использоваться другими функциями, в проекте реализовано программное эмулирование последовательной связи с помощью библиотеки SoftwareSerial.h [2].
SDS011: Используется для связи с датчиком PM.
RX (получение данных от SDS011) подключен к GPIO 13.
TX (отправка управляющих команд) подключен к GPIO 12 [2].
GPS NEO-6M: Используется для получения данных GPS.
RX (получение данных от GPS) подключен к GPIO 27.
TX (отправка команд управления) подключен к GPIO 14 [2].
Особое внимание следует уделить выбору GPIO 0 (RESETM_PIN) в качестве пина для кнопки сброса [2]. На большинстве плат ESP32 пин GPIO 0 является критически важным для переключения микроконтроллера в режим прошивки (Flash Mode) при низком уровне сигнала во время старта [12]. Хотя использование этого пина для пользовательского сброса позволяет инженеру использовать доступный GPIO, это требует осторожности: нежелательное удержание кнопки при подаче питания может привести к входу в режим загрузчика вместо нормальной работы, что должно быть учтено в руководстве пользователя.
Глава 4. Аппаратная реализация и управление энергопотреблением
Поскольку устройство является портативным, критически важным является анализ энергопотребления для обеспечения максимальной автономности. Наиболее энергоемкими компонентами являются ESP32 (при активном Wi-Fi) и SDS011 (при работающем лазере и вентиляторе). Таблица 2 (Приложение 1).
При работе в активном режиме (включая передачу данных Wi-Fi, даже если это локальная передача для веб-интерфейса) пиковое потребление системы может достигать 300-400 мА (миллиампер).
Однако, учитывая, что в текущей программной реализации измерения выполняются каждые 10 секунд (Wait 10000 ms) [2], и в промежутках между измерениями не происходит явного переключения ESP32 и датчиков в режимы пониженного энергопотребления, поддержание среднего потребления на уровне 34 мА является инженерной проблемой.
Для того чтобы обеспечить заявленный срок автономной работы, необходимо реализовать интеллектуальное управление питанием:
Управление SDS011: В режиме активной работы SDS011 потребляет до 100 мА, но в режиме сна (Sleep Mode) потребление падает до 2-4 мА [8]. Между 10-секундными циклами SDS011 должен быть переведен в режим сна программно.
Управление ESP32: ESP32 должен использовать режимы сна. В активном режиме он потребляет до 260 мА, но при переходе в режим Light Sleep потребление снижается до 0.8 мA [11].
Таким образом, для достижения 24-дневной автономности требуется дальнейшая оптимизация программного кода, включающая использование встроенных функций энергосбережения микроконтроллера и управляемый перевод высокопотребляющих периферийных устройств (SDS011) в спящий режим. Без этой доработки текущий прототип, хотя и высокофункционален, не достигнет заявленных показателей мобильности.
Для обеспечения максимальной эффективности измерения и приема сигнала, конструктивное исполнение корпуса должно учитывать специфические требования датчиков [2]:
Все датчики, контактирующие с воздухом (BME680, SDS011), должны быть расположены на верхней панели корпуса, чтобы обеспечить беспрепятственный доступ к окружающей воздушной среде. В случае SDS011 это также важно для корректной работы встроенного вентилятора.
GPS-модуль NEO-6M должен быть размещен на боковой или верхней панели корпуса, обеспечивая максимально открытый вид на небо (unobstructed view of the sky) для стабильного приема сигналов со спутников.
Программное обеспечение проекта разработано на языке Arduino (C++) для платформы ESP32 с использованием ряда специализированных библиотек для работы с периферией и создания веб-интерфейса [2].
Основной алгоритм работы системы (цикл loop) следует структуре, описанной в блок-схеме проекта [2] (Приложение 2):
Инициализация (START): В функции setup() происходит инициализация всех аппаратных модулей: BME680 (через I2C), SDS011 и GPS NEO-6M (через Software Serial) [2].
Проверка инициализации: Система проверяет успешность запуска всех компонентов.
Обработка ошибок: Если инициализация не удалась, в поле статуса веб-интерфейса отображается соответствующее сообщение об ошибке, что позволяет пользователю определить причину неисправности [2].
Чтение и проверка: При успешной инициализации система приступает к чтению данных со всех сенсоров.
Отображение результатов: Полученные и проверенные данные обновляют глобальные переменные и отображаются в локальном веб-интерфейсе.
Цикл ожидания: Система ожидает 10000 миллисекунд (10 секунд), после чего цикл повторяется, обеспечивая обновление измерений в реальном времени [2].
Критически важной частью программного обеспечения является логика управления сетевым подключением, которая определяет режим работы ESP32 (Станция или Точка Доступа). Учетные данные Wi-Fi (SSID и Пароль) хранятся в структуре DataBlockSettigs [2].
Проверка настроек: При запуске (setup()) микроконтроллер считывает сохраненные настройки Wi-Fi из энергонезависимой памяти.
Режим точки доступа (AP Mode): Если поля INT_AP_SSID или INT_AP_PASS пусты (длина равна 0), система предполагает, что это первый запуск или настройки были сброшены. ESP32 переходит в режим Точки Доступа (WiFi.mode(WIFI_AP)), создавая сеть с SSID "ESP Portal". Этот режим необходим для первоначального доступа и настройки [2].
Режим Станции (STA Mode): Если действительные учетные данные сохранены, ESP32 переходит в режим Станции (WiFi.mode(WIFI_STA)) и пытается подключиться к указанной сети. Предусмотрено ожидание подключения в цикле до 40 раз, что в общей сложности составляет 20 секунд (40 * 500 мс) [2]. В этом режиме доступ к веб-интерфейсу осуществляется по локальному IP-адресу, который был присвоен устройству роутером.
5.3. Механизмы cохранения настроек (EEManager)
Для обеспечения портативности и удобства использования крайне важно, чтобы сетевые настройки сохранялись после перезагрузки или отключения питания. Эту функцию обеспечивает библиотека EEManager [2].
Библиотека управляет энергонезависимой памятью (EEPROM) ESP32, позволяя постоянно хранить структуру SettingsdDta, включающую SSID и Пароль Wi-Fi. Процесс сохранения настроек происходит только после того, как пользователь явным образом вводит новые данные в веб-интерфейсе и нажимает кнопку "Сохранить" (settings-bth) [2]. После записи данных в EEPROM, система инициирует принудительную программную перезагрузку (ESP.restart()), чтобы новые сетевые параметры были немедленно применены [2].
Глава 6. Веб-Интерфейс: разработка и функционал (на основе GyverPortal)
Локальный веб-интерфейс является основным средством взаимодействия пользователя с устройством, обеспечивая как отображение данных, так и управление сетевыми настройками. Интерфейс разработан с использованием библиотеки GyverPortal, которая позволяет быстро создавать адаптивные веб-страницы для ESP32 и ESP8266 [16].
6.1. Архитектура и инициализация портала
Портал инициализируется в функции setup() с привязкой функций build (для создания структуры страницы) и action (для обработки пользовательских действий) [2]. Благодаря встроенной поддержке mDNS, доступ к порталу может быть осуществлен через доменное имя http://my_esp.local, что устраняет необходимость запоминания динамически назначаемого IP-адреса [2]. Интерфейс разработан с использованием темной темы (GP.THEME(GP_DARK)) для обеспечения высокой контрастности и улучшения читаемости [2]. Ширина страницы ограничена 800px для оптимизации отображения на различных устройствах [2].
6.2. Элементы отображения и динамическое обновление
Ключевой особенностью интерфейса является отображение всех семи измеряемых параметров в единой форме с функцией динамического обновления в реальном времени.
Веб-форма включает следующие поля для отображения текущих показаний [2]: Геопозиция: широта (LAT) и долгота (LON) (показания GPS).
Загрязнение: концентрация PM2.5 и PM10 мкг/м³
Метеорология и Газы: температура °C, давление (гПа), влажность (%) и газовое сопротивление (кОм).
Для обеспечения отображения данных в реальном времени без полной перезагрузки страницы используется функция GP.UPDATE(). В коде указаны идентификаторы всех полей, требующих обновления, например:
GP.UPDATE("CurP25,CurP10,CurTemperature,CurPressure,CurHumidity,CurGas_resistance,CurGPSlat,CurGPSlon,SendStatus");
Эта команда настраивает асинхронный механизм, при котором ESP32 периодически отправляет клиенту (браузеру) только новые значения для указанных элементов. Это значительно снижает сетевой трафик, повышает скорость отклика и улучшает пользовательский опыт, поскольку показания обновляются плавно в соответствии с 10-секундным циклом измерения.
Функция action() обрабатывает входящие запросы от пользователя, в частности, нажатия на кнопки сохранения настроек.
Настройка Wi-Fi: при нажатии кнопки "Сохранить" в блоке "Настройки Wi-Fi" (связанной с обработчиком settings-bth) система считывает введенные пользователем SSID и пароль. Эти новые данные записываются в структуру SettingsdDta, а затем сохраняются в EEPROM с помощью вызова mem1Settigs.update() [2].
Перезагрузка для применения настроек: как только запись в EEPROM завершена, система инициирует перезагрузку ESP32 (ESP.restart()). Это действие гарантирует, что микроконтроллер перезапустится с новыми, сохраненными учетными данными и сможет немедленно попытаться подключиться к указанной домашней сети (переход в STA Mode).
Глава 7. Анализ данных
Интеграция многофункциональных датчиков позволяет проводить комплексный, а не изолированный, анализ качества воздуха. Это имеет решающее значение для получения достоверной и контекстуально полной картины окружающей среды.
Ключевые корреляции включают:
Влияние Метеорологии на PM: показания относительной влажности, полученные от BME680, имеют прямое отношение к достоверности показаний SDS011. Высокая влажность (выше 70%, согласно спецификации SDS011) может привести к агломерации мелких частиц или конденсации водяного пара, что искажает показания PM-датчика [14]. Таким образом, данные BME680 (T, H) критически важны для верификации и коррекции данных SDS011.
Геопространственный Контекст: Наличие GPS-координат (LAT/LON) обеспечивает пространственную привязку каждого измерения. Это позволяет пользователю, собирая данные в различных точках, создавать подробные, локализованные карты загрязнения. Понимание того, где именно произошло измерение, является фундаментальным условием для любого серьезного экологического анализа.
Разработанный портативный измеритель качества воздуха является наглядной демонстрацией зрелых инженерных навыков в нескольких ключевых областях:
Интеграция cенсоров: Успешно реализована одновременная работа трех различных модулей, требующих различных протоколов связи (аппаратный I2C и два программных UART) [2].
Сетевая инфраструктура: создана гибкая и надежная система управления сетевыми режимами (STA/AP) с механизмом сохранения настроек в энергонезависимой памяти, что обеспечивает высокую мобильность и удобство использования [2].
Пользовательский интерфейс: С помощью GyverPortal разработан динамически обновляемый, адаптивный веб-интерфейс, позволяющий в реальном времени отображать 7 параметров без необходимости постоянного обновления страницы [2].
Раздел II. Практическая часть
Устройство для мониторинга качества воздуха окружающей среды на основе ESP32 представляет собой портативное решение для измерения различных параметров. Оно оснащено набором датчиков, обеспечивающих точный и всесторонний анализ качества воздуха. (Рисунок 2)
1. Датчик BME680 содержит четыре сенсора для измерения давления, температуры, влажности и газового сопротивления. Датчик давления измеряет атмосферное давление в гильопаскалях. Датчик температуры измеряет температуру воздуха в градусах Цельсия с высокой точностью. Датчик влажности измеряет относительную влажность воздуха в процентах. Датчик газового сопротивления измеряет сопротивление газов в килоомах и может использоваться для определения концентрации вредных газов в воздухе, таких как двуокись углерода и озон.
2. Анализатор качества воздуха SDS011: Этот датчик способен измерять концентрацию вредных частиц PM2.5 и PM10 в воздухе. Частицы PM2.5 имеют диаметр менее 2,5 микрометров и могут проникать глубоко в легкие, вызывая различные заболевания дыхательных путей. Частицы PM10 имеют диаметр менее 10 микрометров и также могут вызывать негативные последствия для здоровья. Этот датчик предоставляет важную информацию об уровне загрязнения воздуха.
3. GPS модуль NEO-6M: Этот модуль используется для определения точных координат устройства. Он получает сигналы от спутников GPS и вычисляет широту, долготу и высоту над уровнем моря. Это позволяет пользователям знать, где именно были собраны данные, и анализировать качество воздуха в различных регионах.
Все собранные данные отображаются в реальном времени на веб-интерфейсе. Пользователи могут просматривать текущие координаты (LAT, LON), температуру в градусах Цельсия, давление в гильопаскалях, влажность в процентах, газовое сопротивление в килоомах и концентрацию частиц PM2.5 и PM10.
Это устройство является идеальным решением для тех, кто хочет контролировать качество воздуха в своем регионе и получать точные и своевременные данные об окружающей среде. Оно может быть использовано для мониторинга качества воздуха в домашних условиях, на рабочих местах, в городских и сельских районах. Кроме того, оно может быть полезно для исследователей и экологов, которые изучают качество воздуха и загрязнение окружающей среды.
Описание решения
Устройство для мониторинга качества воздуха на базе ESP32 состоит из нескольких основных компонентов:
ESP32 микроконтроллер, который является основным компонентом устройства. Он отвечает за управление всеми другими компонентами, обработку данных, подключение к WiFi и веб-интерфейс. ESP32 был выбран из-за его высокой производительности, низкого энергопотребления и встроенных возможностей беспроводной связи.
Датчик BME680 содержит четыре сенсора для измерения давления, температуры, влажности и газового сопротивления. BME680 был выбран из-за его высокой точности, низкого энергопотребления и компактного размера.
Анализатор качества воздуха SDS011: Этот датчик способен измерять концентрацию вредных частиц PM2.5 и PM10 в воздухе. SDS011 был выбран из-за его высокой точности, низкой стоимости и простоты интеграции.
GPS модуль NEO-6M: Этот модуль используется для определения точных координат устройства. NEO-6M был выбран из-за его высокой точности, низкого энергопотребления и простоты интеграции.
Устройство (Рисунок 1) может работать от блока питания 6 – 9 вольт 2 ампера.
Устройство будет работать в режиме реального времени, выполняя измерения каждые 10 секунд секунд. Наименования и стоимость подобранных электронных компонентов указаны в Таблице 3 (Приложение 1).
Обеспечение функционирования собранного устройства измерения качества окружающего воздуха достигалось разработкой специального кода в программной среде Arduino (Приложение 5).
По окончании сборки устройства и разработки специального программного кода, проведены испытания опытной модели, результаты которых отражены в Приложении 4.
Рисунок 1. Устройство для мониторинга качества воздуха
Раздел 4. Перспективы развития и модернизации
Проект представляет собой высокофункциональный прототип. Для его перехода на уровень коммерческого продукта или полноценного исследовательского инструмента требуются дальнейшие доработки, в первую очередь, касающиеся интеллектуальной обработки данных и управления питанием.
Интеллектуальная обработка газовых данных: на данный момент BME680 предоставляет только сырое газовое сопротивление. Следующим этапом должно стать внедрение специализированных алгоритмов, таких как Bosch Sensortec Environmental Cluster (BSEC), для преобразования сырого сопротивления в стандартизированный и количественный Индекс Качества Воздуха (IAQ) [6]. Это позволит перейти от качественного индикатора к точному анализу концентрации ЛОС.
Оптимизация энергопотребления (режимы сна): для достижения заявленной автономности в 24 дня на аккумуляторе 20000 мАч, необходимо кардинально снизить среднее потребление системы. Это требует доработки цикла loop() с обязательным внедрением режимов сна:
Программное управление SDS011 для перевода его в режим сна (< 4 мА) между 10-секундными циклами измерения [14].
Перевод микроконтроллера ESP32 в режим Light Sleep (0.8 мА) на время ожидания 10 секунд [11].
Локальное хранение данных: в портативном устройстве, которое может оказаться вне зоны покрытия Wi-Fi, критически важно добавить функцию автономного локального хранения данных (например, на SD-карте). Это позволит собирать непрерывные временные ряды измерений, привязанные к GPS-координатам, для последующего детального анализа.
ЗАКЛЮЧЕНИЕ
В ходе проектной работы был разработан и исследован портативный аппаратно-программный комплекс мониторинга качества атмосферного воздуха на базе микроконтроллера ESP32. В рамках поставленной цели создано IoT-устройство, обеспечивающее измерение и отображение в реальном времени семи параметров окружающей среды: температуры, атмосферного давления, относительной влажности, газового сопротивления, концентраций PM2.5 и PM10, а также географических координат точки измерения.
Теоретический анализ подтвердил обоснованность выбора датчиков BME680, SDS011 и GPS-модуля NEO-6M. Реализованная архитектура системы обеспечивает корректную интеграцию модулей по интерфейсам I2C и UART, стабильную работу локального веб-интерфейса и поддержку режимов STA и AP, что упрощает настройку и эксплуатацию устройства.
Практическая реализация показала возможность локального и персонализированного контроля качества воздуха, а геопривязка измерений существенно расширяет аналитические возможности системы и её применимость для экологических исследований и построения карт загрязнения.
Одновременно выявлены ограничения прототипа, связанные с энергопотреблением и отсутствием алгоритмической обработки газовых данных. Для повышения автономности и точности мониторинга требуется внедрение энергосберегающих режимов и специализированных алгоритмов расчёта индекса качества воздуха.
В целом поставленные цели и задачи работы были достигнуты. Разработанный комплекс представляет собой работоспособный и перспективный прототип, пригодный для дальнейшей модернизации и применения в учебной и научно-исследовательской деятельности.
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ
Принцип работы датчика PM2,5 (pm10) - Rika Sensor, дата последнего обращения: ноября 27, 2025, https://www.rikasensor.com/ru/working-principle-of-pm2-5-pm10-sensor.html
AirControl.docx
NEO-6M V2 GPS module - Hub360, дата последнего обращения: ноября 27, 2025, https://hub360.cc/shop/0150-neo-6m-v2-gps-module-11958
Gas Sensor BME680 - Bosch Sensortec, дата последнего обращения: ноября 27, 2025, https://www.bosch-sensortec.com/products/environmental-sensors/gas-sensors/bme680/
BME680 Low power gas, pressure, temperature & humidity sensor - Bosch Sensortec, датапоследнегообращения: ноября 27, 2025, https://www.bosch-sensortec.com/media/boschsensortec/downloads/datasheets/bst-bme680-ds001.pdf
Сенсор давления BME680 и способы вычисления IAQ - kotyara12.ru, дата последнего обращения: ноября 27, 2025, https://kotyara12.ru/iot/bme680/
Купить Лазерный измеритель качества воздуха SDS011 PM2.5 в Москве - Amperkot.ru, дата последнего обращения: ноября 27, 2025, https://amperkot.ru/msk/catalog/lazernyiy_izmeritel_kachestva_vozduha_sds011_pm25-24360275.html
The SDS011 Air Quality Sensor experiment, датапоследнегообращения: ноября 27, 2025, https://aqicn.org/sensor/sds011/
WHO air quality guidelines - C40 Knowledge Hub, датапоследнегообращения: ноября 27, 2025, https://www.c40knowledgehub.org/s/article/WHO-Air-Quality-Guidelines?language=en_US
Что такое PM10 и PM2.5? Чем могут быть опасны тонкодисперсные частицы? - Бризекс, дата последнего обращения: ноября 27, 2025, https://xn--90aifdm6al.xn--p1ai/blog/chto-takoe-pm10-pm25
Insight Into ESP32 Sleep Modes & Their Power Consumption - Last Minute Engineers, датапоследнегообращения: ноября 27, 2025, https://lastminuteengineers.com/esp32-sleep-modes-power-consumption/
Is an RST pin (or button) the same as EN pin (or button) on ESP32 Boards? - RNT Lab, датапоследнегообращения: ноября 27, 2025, https://rntlab.com/question/is-an-rst-pin-or-button-the-same-as-en-pin-or-button-on-esp32-boards/
ESP32 Pinout Reference: Which GPIO pins should you use? - Random Nerd Tutorials, датапоследнегообращения: ноября 27, 2025, https://randomnerdtutorials.com/esp32-pinout-reference-gpios/
Air Quality Sensor SDS011 - wispmax, дата последнего обращения: ноября 27, 2025, https://www.wispmax.com/air-quality-sensor-sds011.html
дата последнего обращения: ноября 27, 2025, https://hub360.cc/shop/0150-neo-6m-v2-gps-module-11958#:~:text=Operating%20Voltage%3A%203.3V%20to,default%20baud%20rate%3A%209600%20bps
What are Arduino Libraries? - ArduBadge, дата последнего обращения: ноября 27, 2025, https://www.ardu-badge.com/GyverPortal
ПРИЛОЖЕНИЕ 1. Таблица 1. Детальное сопоставление пинов ESP32 и периферийных устройств.
|
Устройство |
Интерфейс |
Функция (пин устр-ва ) |
Пин ESP32 (GPIO) |
Назначение |
|
BME680 |
I2C |
Данные (SDA) |
22 |
Чтение метеорологических и газовых данных |
|
BME680 |
I2C |
Тактовый сигнал (SCL) |
23 |
Тактирование шины I2C |
|
SDS011 |
Software Serial |
RX (Данные от SDS011) |
26 |
Получение показаний PM2.5 и PM10 |
|
SDS011 |
Software Serial |
TX (Управление SDS011) |
25 |
Отправка команд управления датчиком |
|
GPS NEO-6M |
Software Serial |
RX (Данные от GPS) |
27 |
Получение географических координат |
|
GPS NEO-6M |
Software Serial |
TX (Управление GPS) |
14 |
Отправка команд управления GPS |
|
Кнопка сброса |
Цифровой Вход |
RESETM_PIN |
0 |
Аппаратный сброс устройства |
|
Индикация |
Цифровой Выход |
SYSLED_PIN |
2 |
Системный индикатор состояния |
Таблица 2. Сводная таблица электрических характеристик компонентов
|
Компонент |
Активный Режим (Описание) |
Типичное Потребление (мА) |
Ссылка |
|
ESP32 |
Wi-Fi активен (Tx пакет 13dBm) |
160 – 260 |
11 |
|
SDS011 |
Измерение (Лазер и Вентилятор) |
70 – 100 |
8 |
|
GPS NEO-6M |
Активное слежение |
37 |
15 |
|
BME680 |
Активное измерение |
0,34 |
5 |
|
Система |
Общее пиковое потребление |
~300 – 400 |
Таблица 3. Наименования и стоимость подобранных электронных компонентов. (Приложение 1)
Таблица 3. Расчёт себестоимости сборки модели
|
Наименование элемента сборки |
Стоимость, руб. |
|
Микроконтроллер ESP32 |
741-00 |
|
Датчик BME680 |
311-00 |
|
Модуль SDS011 |
1564-00 |
|
GPS модуль NEO-6M |
497-00 |
|
Плата расширениядля ESP32 |
170-00 |
|
Блок питания 6V 2A |
192-00 |
|
Провода для Arduino |
243-00 |
|
Пластик для печати на 3Д принтере PETG 1,75 мм черный |
781-00 |
|
Термоусадка для проводов |
127-00 |
|
ИТОГО: |
4626-00 |
ПРИЛОЖЕНИЕ 2
Схема подключения
ПРИЛОЖЕНИЕ 3
Плата расширения для ESP32:
Микроконтроллер ESP32:
Датчик BME680 для измерения давления, температуры, влажности и газового сопротивления. Взаимодействует с ESP32 через I2C (SDA и SCL):
Модуль SDS011 для получения частиц PM2.5 и PM10 в воздухе. Взаимодействует с ESP32 через Software Serial (RX и TX):
Модуль GPS NEO-6M для получения координат. Взаимодействует с ESP32 через Software Serial (RX и TX):
Блок питания 6V 2A:
Провода для Arduino:
Для печати основания устройства использовался материал PETG:
ПрИЛОЖЕНИЕ 4
ПРИЛОЖЕНИЕ 5