Комплексный мониторинг качества воздуха на NodeMCU ESP8266 с передачей данных в интернет


В этом проекте мы собираемся создать систему мониторинга загрязнения/качества воздуха на основе технологий интернета вещей (IoT) с NodeMCU ESP8266, датчиком твердых частиц PM2.5, датчиком качества воздуха MQ-135 и датчиком барометрического давления BME280. Мы будем контролировать качество воздуха на сервере Thinspeak через сеть Интернет.

Комплексный мониторинг качества воздуха на NodeMCU ESP8266 с передачей данных в интернет

Это простой прототип системы мониторинга загрязнения/качества воздуха IoT для мониторинга концентраций основных загрязняющих воздух газов. Система использует 3 датчика, такие как датчик твердых частиц PMS5003 PM2.5, датчик качества воздуха MQ-135, датчик барометрического давления BME280 . В этом проекте IoT вы можете контролировать уровень загрязнения из любой точки мира с помощью компьютера или мобильного телефона.

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

Датчик твердых частиц PMS5003 PM2.5 от Plantpower измеряет концентрацию частиц PM1.0, PM2.5 и PM10. Датчик качества воздуха MQ-135 измеряет концентрацию газов, таких как CO, CO2, SO2 и NO2, и выдает результат в PPM (части на миллион). Аналогично, BME280 измеряет температуру, давление и влажность окружающей среды.

Более подробно прочитать о работе с каждым из этих датчиков вы можете в следующих статьях на нашем сайте:

Датчики будут собирать данные различных параметров окружающей среды и отправлять их на сервер Thingspeak, который отображает данные онлайн с интервалом в 15 секунд. Мы можем установить эту систему где угодно и также можем активировать некоторые устройства, когда загрязнение превышает определенный уровень, например, мы можем включить вытяжной вентилятор.

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

  1. NodeMCU ESP8266 (купить на AliExpress).
  2. Датчик PM2.5/PM10 PMS5003 (купить на AliExpress).
  3. Датчик BME280 (купить на AliExpress).
  4. Датчик качества воздуха MQ-135 (купить на AliExpress).
  5. Макетная плата.
  6. Соединительные провода.

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

Датчик твердых частиц PM2.5 PMS5003

Датчик твердых частиц PM2.5 PMS5003

Plantower PMS5003 — это недорогой лазерный счетчик частиц, один из ряда датчиков Plantower, который также включает PMS1003, PMS3003 и PMS7003. PMS5003 — это своего рода цифровой и универсальный датчик концентрации частиц, который можно использовать для получения количества взвешенных частиц в воздухе, т. е. концентрации частиц, и выводить их значения через цифровой интерфейс. Этот датчик можно вставлять в приборы, связанные с измерением концентрации взвешенных частиц в воздухе или в другое оборудование для улучшения окружающей среды, чтобы вовремя предоставлять правильные данные о концентрации.

Датчик качества воздуха MQ-135

Газовый датчик MQ-135 обнаруживает такие газы, как аммиак, азот, кислород, спирты, ароматические соединения, сульфид и дым. Газовый датчик MQ-3 имеет более низкую проводимость для очистки воздуха в качестве материала для измерения газа. В атмосфере мы можем обнаружить загрязняющие газы, но проводимость газового датчика увеличивается по мере увеличения концентрации загрязняющего газа. Газовый датчик MQ-135 может быть реализован для обнаружения дыма, бензола, пара и других вредных газов. Он имеет потенциал для обнаружения различных вредных газов. Он имеет низкую стоимость и особенно подходит для приложений мониторинга качества воздуха.

Датчик качества воздуха MQ-135

Датчик MQ135 имеет два выхода: аналоговый выход и выход TTL. Выход TTL представляет собой слабый цифровой сигнал, доступ к которому можно получить через порты ввода-вывода на микроконтроллере. Аналоговый выход напрямую связан с концентрацией газов, т. е. увеличение напряжения на нем прямо пропорционально увеличению концентрации. Этот датчик также имеет длительный срок службы и надежную стабильность.

Датчик барометрического давления BME280

Датчик влажности, температуры и давления Bosch BME280 — это интегрированный датчик окружающей среды, который очень мал по размеру и потребляет мало энергии. Этот атмосферный датчик BME280 — это простой способ измерения барометрического давления, влажности и показаний температуры, не занимая при этом слишком много места. По сути, все, что вам нужно знать об атмосферных условиях, вы можете узнать из этого крошечного датчика.

Датчик барометрического давления BME280

Этот модуль использует датчик окружающей среды производства Bosch с датчиком температуры и барометрического давления, который является следующим поколением обновлений популярного датчика BMP085/BMP180/BMP183. Этот датчик отлично подходит для всех видов погодных зондирований и может использоваться как с интерфейсом I2C, так и с интерфейсом SPI. Этот прецизионный датчик от Bosch является лучшим недорогим, точным решением для измерения барометрического давления с абсолютной точностью ±1 гПа и температуры с точностью ±1,0 °C. Поскольку давление меняется с высотой, а измерения давления настолько хороши, вы также можете использовать его в качестве высотомера с точностью ±1 метр.

Схема проекта

Схема устройства для комплексного мониторинга качества воздуха на основе платы NodeMCU ESP8266 представлена на следующем рисунке. Она содержит 3 датчика, которые подключены к чипу Wi-Fi NodeMCU ESP8266-12E.

Схема устройства для комплексного мониторинга качества воздуха на основе платы NodeMCU ESP8266

Датчик PMS5003 работает по протоколу UART. Он имеет 8 контактов, а подсчет ведется справа. Подключите Pin1 VCC датчика к Vin-контакту NodeMCU, а Pin2 GND датчика - к GND платы. 4-й контакт — это Rx-контакт, который подключен к Tx-контакту NodeMCU. Аналогично, 5-й контакт — это Tx-контакт, который подключен к Rx-контакту NodeMCU.

MQ-135 — это аналоговый датчик. Поэтому подключите его вывод A0 к выводу A0 NodeMCU. Подключите вывод VCC датчика к Vin 5V платы, а GND датчика - к GND платы. И затем у нас есть датчик BME280, который работает по протоколу I2C. Поэтому подключите его выводы SCL и SDA к выводам I2C NodeMCU, т. е. D1, D2.

На следующем рисунке вы можете увидеть, как все датчики взаимодействуют с NodeMCU ESP8266-12E.

Соединения NodeMCU ESP8266-12E с датчиками с помощью макетной платы

Настройка Thingspeak

Нам нужно настроить учетную запись Thingspeak для мониторинга данных с Nodemcu ESP8266-12E онлайн. Для настройки thingspeak посетите https://thingspeak.com/. Здесь вам нужно создать учетную запись.

Главная страница сервиса Thingspeak

После создания учетной записи вам необходимо создать новый канал, заполнив следующие данные, показанные на изображении ниже.

Настройка каналов на Thingspeak для нашего проекта

Теперь скопируйте ключ API записи и внесите изменения в код программы, заменив скопированный вами ключ API.

Получение API ключа на Thingspeak

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

Исходный код программы написан для платы NodeMCU ESP8266-12E. Перед компиляцией кода необходимо добавить 3 библиотеки в Arduino IDE из менеджера библиотек или по ссылке на библиотеку, указанной ниже:

  1. Библиотека BME280: Загрузить
  2. Библиотека унифицированных датчиков Adafruit: Загрузить
  3. Библиотека MQ135: Загрузить

Обязательно измените SSID Wi-Fi, пароль и ключ API перед загрузкой кода. Также, пожалуйста, удалите соединение Rx Tx pin между Nodemcu и PMS5003 во время загрузки, иначе код не загрузится. Вы можете снова подключить его после загрузки кода.

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

После загрузки кода в NodeMCU вы можете нажать на последовательный монитор и увидеть следующие результаты.

Тестирование работы проекта в окне монитора последовательной связи

Аналогичным образом вы можете зайти на Thingspeak и проверить закрытый просмотр, чтобы увидеть следующий график ниже.

Тестирование работы проекта на Thingspeak (часть 1)

Тестирование работы проекта на Thingspeak (часть 2)

Существует улучшенная версия датчика BME280 под названием BME680, которая также может измерять индекс качества воздуха (IAQ) и может использоваться для измерения качества воздуха. Таким образом, одного датчика достаточно для замены BME280 и MQ-135.

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

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

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

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

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