Мониторинг CO2 и TVOC с помощью CCS811 на веб-сервере ESP8266/ESP32


В этом проекте мы будем подключать датчик CO2 и TVOC CCS811 к плате NodeMCU ESP8266 или ESP32 и отслеживать данные CO2/TVOC на веб-сервере. CCS811 — это цифровой датчик газа или качества воздуха, способный определять широкий диапазон уровней общих летучих органических соединений (TVOC) и эквивалентного диоксида углерода (eCO2) с оксидами металлов (MOX). Датчик можно использовать для определения индекса качества воздуха.

Мониторинг CO2 и TVOC с помощью CCS811 на веб-сервере ESP8266/ESP32

Ранее мы использовали датчик CCS811 с ​​Arduino для отображения значений CO2 и TVOC на OLED-дисплее. Но в этом проекте вместо OLED-дисплея мы создадим собственный веб-сервер и будем контролировать качество воздуха удаленно с компьютера или смартфона с помощью любого веб-браузера. Веб-сервер — это система, которая управляет веб-сайтом или веб-страницей и осуществляет связь с помощью протокола передачи гипертекста (HTTP). Это программа, которая распределяет веб-страницы по мере их поступления. Основная цель веб-сервера — хранить, обрабатывать и доставлять веб-страницы пользователям.

Программа веб-сервера для CCS811 хранится здесь, в ESP8266 или ESP32, и доставляется по беспроводной сети по запросу с некоторого IP-адреса ESP8266 или ESP32.

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

  1. Модуль ESP32 (купить на AliExpress).
  2. NodeMCU ESP8266 (купить на AliExpress).
  3. Датчик качества воздуха (Air Quality Sensor) CCS811 (купить на AliExpress).
  4. Макетная плата.
  5. Соединительные провода.

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

Модуль датчика качества воздуха CCS811

Плата датчика качества воздуха CCS811 представляет собой цифровой газовый датчик, который определяет широкий спектр общих летучих органических соединений (TVOC), а также эквивалентные уровни диоксида углерода (eCO2) и оксида металла (MOX). Датчик может использоваться для мониторинга качества воздуха в помещении. Система может использоваться с микроконтроллерным блоком (MCU), который включает в себя аналого-цифровой преобразователь (ADC) и интерфейс I²C.

Модуль датчика качества воздуха CCS811

Датчик работает в диапазоне от 1,8 В до 3,6 В, поэтому его можно использовать с выводом 3,3В в Arduino/ESP8266/ESP32. Адрес I2C по умолчанию для CCS811 — 0x5A, тогда как некоторые платы имеют адрес 0X5B. Используя датчик CCS811, мы можем измерять eCO2 от 400 до 8192 частей на миллион и TVOC от 0 до 1187 частей на миллиард. Чтобы узнать больше об этом датчике, вы можете ознакомиться с техническим описанием CCS811.

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

Датчик CCS811 работает по протоколу связи I2C. Давайте подключим датчик CCS811 к платам ESP8266 и ESP32. В случае платы NodeMCU ESP8266 выводы SCL и SDA — это D1 и D2 соответственно. Таким образом, схема соединения между CCS811 и ESP8266 приведена на следующем рисунке.

Схема подключения датчика CCS811 к плате NodeMCU ESP8266

Если вы используете WiFi-модуль ESP32, то схема подключения к нему датчика CCS811 приведена на следующем рисунке. Контакты SCL и SDA ESP32 — это GPIO22 и GPIO21 соответственно.

Схема подключения датчика CCS811 к плате ESP32

Не подавайте на датчик напряжение 5 В, так как датчик может поддерживать максимум 3,6 В. Не оставляйте вывод WAKE датчика пустым, так как контроллер не будет считывать адрес I2C. Вывод WAKE всегда должен быть подтянут к GND.

Исходный код программы для NodeMCU ESP8266

Я использовал библиотеку CCS811 от Maarten Pennings для сопряжения CCS811 с ​​ESP8266. Библиотеку можно загрузить по следующей ссылке.

ЗагрузитьБиблиотека CCS811
Полный исходный код для веб-сервера на ESP8266 и CCS811 приведен ниже. Перед загрузкой кода обязательно измените свой WiFi SSID и пароль.

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

Полный исходный код для сопряжения датчика CCS811 с ​​ESP32 приведен ниже. Вы можете скопировать код и загрузить его на плату ESP32. Но перед этим обязательно измените свой WiFi SSID и пароль.

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

После загрузки кода плата ESP8266/ESP32 попытается подключиться к сети WiFi. Вы можете открыть Serial Monitor (последовательный монитор) и увидеть в нем считанные с датчика показания.

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

Теперь вы можете нажать кнопку сброса на вашей плате ESP8266/ESP32. IP-адрес платы будет отображен в последовательном мониторе. Используя тот же IP-адрес, вставьте его в веб-браузер и нажмите Enter. Появится красивая веб-страница со значением CO2 и TVOC.

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

Вам не нужно обновлять веб-страницу снова и снова, чтобы получить значение датчика. В коде уже есть скрипт AJAX (Asynchronous Javascript And Xml), так что мы можем запрашивать данные с сервера асинхронно (в фоновом режиме) без обновления страницы.

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

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

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