Мониторинг частиц PM1.0, PM2.5 и PM10 с помощью ESP32


В этом проекте Интернета вещей (IoT) мы разработаем систему мониторинга частиц PM1.0, PM2.5 и PM10 на основе платы ESP32 и датчика PMS5003 вместе с автоматической системой освежения воздуха. Устройство может контролировать и измерять концентрацию PM1.0, PM2.5 и PM10 в воздухе. Оно также может активировать освежитель воздуха, когда уровень PM превышает опасное значение. Устройство можно использовать дома, на производстве, в школах, офисах и в местах массового скопления людей.

Мониторинг частиц PM1.0, PM2.5 и PM10 с помощью ESP32

Твердые частицы (Particulate Matter, PM) относятся к микроскопическим частицам твердого или жидкого вещества, взвешенным в воздухе. PM — это твердые частицы, а 10 и 2,5 — это значение их диаметра: 10 микрометров или меньше и 2,5 микрометра или меньше. Твердые частицы являются наиболее вредной формой загрязнения воздуха. PM2.5 и PM10 обладают способностью проникать глубоко в легкие, кровеносные сосуды и мозг, вызывая проблемы со здоровьем, включая сердечные приступы, респираторные заболевания и преждевременную смерть.

Итак, в данной статье мы рассмотрим создание систему на основе Интернета вещей, использующую модуль ESP32 и датчик твердых частиц PM2.5 и PM10 PMS5003. Устройство может быть встроено в небольшую печатную плату. При включении устройство начинает измерять концентрацию твердых частиц в воздухе и отображает их значение в реальном времени на 0,96-дюймовом OLED-дисплее. ESP32 также подключается к сети WiFi и загружает данные на веб-сервер . Используя локальный IP-адрес ESP32, вы можете получить значение PM1.0, PM2.5 и PM10 в любом веб-браузере. Веб-страница не нуждается в обновлении, поскольку код Ajax уже встроен в код нашей программы.

Значение индекса качества воздуха (AQI) выше 50 является вредным для дыхания. Поэтому, когда уровень загрязнения воздуха превышает норму, вентилятор будет автоматически включаться для подачи свежего воздуха. Вместо вентилятора вы можете использовать любое другое устройство для освежения воздуха, например, увлажнитель, подключенный к реле.

Ранее датчик PMS5003 мы использовали в следующих проектах на нашем сайте:

Необходимые компоненты

  1. Модуль ESP32 (купить на AliExpress).
  2. Датчик PM2.5/PM10 PMS5003 (купить на AliExpress).
  3. Вентилятор 12 В постоянного тока.
  4. SSD1306 0.96” OLED дисплей (купить на AliExpress). Для этого проекта выбирайте модель дисплея с 4 контактами.
  5. Реле 5В (купить на AliExpress).
  6. Регулятор напряжения LM7805 (купить на AliExpress).
  7. Диод 1N4007 купить на AliExpress).
  8. Резистор 330 Ом.
  9. Зуммер 5В (купить на AliExpress).
  10. Транзистор BC547.
  11. Разъем питания постоянного тока.
  12. Источник питания постоянного тока 12 В.
  13. Разъемы типа "мама".
  14. Соединительные провода.

Реклама: ООО "АЛИБАБА.КОМ (РУ)" ИНН: 7703380158

Модуль датчика PM2.5/PM10 PMS5003

PMS5003 — это своего рода цифровой и универсальный датчик концентрации частиц, который может использоваться для получения количества взвешенных частиц в воздухе. Он выводит концентрацию PM через цифровой интерфейс.

Модуль датчика PM2.5/PM10 PMS5003

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

Датчик имеет интерфейс UART, вы можете использовать преобразователь USB-Serial и анализировать данные на компьютере. Датчик работает в диапазоне от 4,5 В до 5 В с активным потреблением тока 100 мА. Датчик измеряет PM1.0, PM2.5 и PM10 в эффективном диапазоне 0~500 мкг/м³ и с максимальным диапазоном 1000 мкг/м³. Вы можете проверить технический паспорт PMS5003, если хотите узнать больше об этом датчике.

Технические характеристики PMS5003

  1. Диапазон измерения: 0,3~1,0; 1,0~2,5; 2,5~10 мкм.
  2. Эффективный диапазон: 0~500 мкг/м³.
  3. Максимальный диапазон: ≥1000 мкг/м³.
  4. Разрешение: 1 мкг/м³.
  5. Источник питания постоянного тока: тип: 5,0 / мин: 4,5 / макс: 5,5 В.
  6. Активный ток: ≤100 мА.
  7. Ток в режиме ожидания: ≤200 мкА.
  8. Диапазон рабочих температур: -10~+60 ℃.
  9. Диапазон рабочей влажности: 0~99%.
  10. Размеры сенсорного модуля: 50 × 38 × 21 мм.

Распиновка PMS5003

PMS5003 имеет 8 контактов, из которых только 4 контакта могут использоваться. Контакт 1 находится с правой стороны и требует 8-контактного разъема (растр 1,25 мм).

Номер контакта Функция Описание Примечания
1 VCC Напряжение питания 5В 4,5 – 5,5 В
2 GND Земля (общий провод)
3 SET HIGH или SUSPENDED – рабочий режим
LOW – спящий режим
3.3V logic
4 RXD Прием данных UART/TTL 3.3V logic
5 TXD Передача данных UART/TTL 3.3V logic
6 Reset LOW для сброса 3.3V logic
7 NC не подключается
8 NC не подключается

При текущем курсе доллара датчик стоит на Алиэкспрессе около 1400 руб.

Проектирование схем и аппаратных средств

Теперь давайте спроектируем всю нашу систему. Основными компонентами системы являются ESP32, PMS5003 и OLED-дисплей вместе с реле, зуммером, вентилятором постоянного тока и блоком питания . Мы используем 12 В/9 В для питания всей схемы. Питание 12 В преобразуется в 5 В с помощью регулятора напряжения 7805 IC. Затем ESP32 и PMS5003 питаются от 5 В. Реле также требует 5 В, но вентилятору постоянного тока требуется 12 В для активации. В случае, если вы хотите использовать увлажнитель, вам нужно изменить подключение реле и тип реле.

Схема системы мониторинга частиц PM1.0, PM2.5 и PM10 на основе ESP32, PMS5003 и OLED-дисплее приведена на следующем рисунке.

Схема системы мониторинга частиц PM1.0, PM2.5 и PM10 на основе ESP32, PMS5003 и OLED-дисплее

OLED-дисплей — это модуль I2C, поэтому он подключен к контактам I2C ESP32, т. е. контакты SDA и SCL дисплея подключены к контактам GPIO21 и GPIO22 ESP32 соответственно. Реле включается через NPN транзистор BC547, который подключен к GPIO23 ESP32. Аналогично датчик PMS5003 подключен к контакту UART2 ESP32, т. е. TX и RX PMS5003 подключены к RX2 и TX2 ESP32. 5-вольтовый зуммер подключен к GPIO15 ESP32, который активируется только в том случае, если уровень PM2.5 пересекает пороговое значение, определенное в коде.

Проектирование печатной платы для проекта

Печатная плата для мониторинга PM2.5 на базе платы ESP32 с системой освежителя воздуха была разработана в онлайн-инструменте для создания печатных плат EasyEDA. Ниже представлен вид спереди и вид сзади печатной платы.

Дизайн печатной платы для нашего проекта

Файл Gerber для изготовления этой печатной платы вы можете скачать по следующей ссылке. Вы можете заказать изготовление печатной платы в любом сервисе, в котором вы привыкли это делать.

После изготовления качество печатной платы оказалось отличное.

Изготовленная печатная плата для нашего проекта

Наконец, после пайки и монтажа всех компонентов на полученной печатной плате, плата выглядит великолепно. Вы можете сделать это оборудование более красивым, спроектировав 3D-корпус для правильного размещения и упаковки деталей.

Собранная конструкция проекта

Исходный код программы

Теперь давайте посмотрим на код для нашего проекта. Код требует несколько библиотек для компиляции. Вы можете скачать необходимые библиотеки по следующей ссылкам:

  1. Библиотека PMS5003 : https://github.com/fu-hsi/PMS
  2. Библиотека Adafruit GFX : https://github.com/adafruit/Adafruit-GFX-Library
  3. Библиотека SSD1306 : https://github.com/adafruit/Adafruit_SSD1306

В следующих строках кода измените SSID и пароль WiFi на данный для своей WiFi сети.

Измените пороговое значение на желаемое. В настоящее время оно установлено на 150. Это пороговое значение используется для включения/выключения реле, а также зуммера.

Полный код проекта приведен ниже. Вы можете выбрать плату ESP32 из списка Board Manager и загрузить код на плату ESP32.

Тестирование работы проекта

После успешной загрузки кода устройство будет готово к работе. На OLED-дисплее отобразится сообщение об инициализации датчика. Датчику PMS5003 требуется некоторое время для нагрева. После нагрева вентилятор внутри него начнет вращаться, на OLED-дисплее отобразятся правильные значения PM1.0, PM2.5 и PM10.

Проект готов к тестированию

Чтобы проверить работу датчика, принесите некоторые материалы, которые выделяют дым или газы. Дым можно подать около вентилятора датчика. В моем случае я предпочел ароматическую палочку для проверки устройства. Как только дым попадет около датчика, значения PM1.0, PM2.5 и PM10 увеличатся и их можно будет наблюдать на OLED-экране. Кроме того, вентилятор включится и начнет выдувать воздух, чтобы поддерживать свежесть воздуха.

Тестирование работы проекта

Вы также можете контролировать PM1.0, PM2.5, PM10 на платформе IoT по беспроводной сети. Для этого мы добавили код веб-сервера в указанную выше программу. Используя код веб-сервера, данные о твердых частицах можно контролировать на веб-сервере ESP32. Чтобы получить доступ к веб-серверу, нажмите кнопку сброса на OLED-экране. Он отобразит IP-адрес.

Получение IP-адреса нашей платы ESP32

Теперь вы можете использовать IP-адрес и вставить его в веб-браузер компьютера или мобильного телефона. После нажатия Enter отобразится страница, на которой вы можете увидеть данные PM1.0, PM2.5, PM10. Вам не нужно обновлять страницу снова и снова, чтобы увидеть данные, поскольку данные обновляются автоматически через несколько секунд. Это потому, что код уже имеет скрипт AJAX (асинхронный Javascript и XML), поэтому мы можем запрашивать данные с сервера асинхронно (в фоновом режиме) без обновления страницы.

Тестирование работы веб-сервера нашего проекта

Видео, демонстрирующее работу проекта

Ссылка на видео на YouTube

(Проголосуй первым!)
Загрузка...
22 просмотров

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *