Система мониторинга окружающей среды, основанная на использовании микроконтроллера ESP32, представляет собой универсальное решение для сбора и анализа данных о температуре и влажности в реальном времени. Она включает в себя несколько ключевых компонентов, обеспечивающих её функциональность и надежность.
Компоненты системы:
Микроконтроллер ESP32
Сердцем системы является микроконтроллер ESP32, который управляет всеми компонентами устройства и осуществляет связь с внешним миром посредством Wi-Fi. Этот мощный модуль обладает встроенным процессором, памятью и поддержкой множества интерфейсов, что делает его идеальным выбором для IoT-приложений. Основные характеристики ESP32 включают:
- Процессор: Двухъядерный процессор Tensilica Xtensa LX6 с тактовой частотой до 240 МГц.
- Память: 520 КБ SRAM и 16 МБ флеш-память.
- Интерфейсы: UART, SPI, I²C, I²S, PWM, ADC, DAC, SDIO, Ethernet MAC, Wi-Fi, Bluetooth.
- Поддержка Wi-Fi и Bluetooth: Встроенная поддержка стандартов IEEE 802.11 b/g/n и Bluetooth v4.2 BR/EDR и BLE.
Для измерения температуры система использует цифровые датчики DS18B20, работающие по протоколу 1-Wire. Эти датчики обладают следующими характеристиками:
- Диапазон измерения температуры: От -55°C до +125°C.
- Точность: Измерение температуры с точностью до ±0.5°C в диапазоне от -10°C до +85°C.
- Протокол 1-Wire: Позволяет подключить множество датчиков к одному проводу, что упрощает разводку схемы.
- Энергопотребление: Низкое потребление энергии, что критично для автономных систем.
Датчики влажности и температуры DHT22
- Диапазон измерения температуры: От -40°C до +80°C с точностью ±0.5°C.
- Диапазон измерения влажности: От 0% до 99.9% с точностью ±2%.
- Время отклика: До 2 секунд.
- Напряжение питания: 3.3V — 6V.
OLED дисплей SSH1106_128x64
Для визуализации собранных данных используется OLED дисплей с разрешением 128×64 пикселей. Этот компактный дисплей подключается через интерфейс I²C и позволяет отображать текущее состояние датчиков в удобочитаемом формате. Основные характеристики OLED дисплея SSH1106_128x64:
- Разрешение: 128×64 пикселя.
- Тип экрана: OLED (Organic Light Emitting Diode), что обеспечивает высокую точность изображений.
- Интерфейс: Подключение через интерфейс I²C позволяет эффективно интегрировать дисплей в систему.
- Размер: Небольшой размер экрана облегчает его использование в компактных устройствах.
Программы и библиотеки
Управление системой осуществляется с помощью специализированного программного обеспечения, написанного на языке C++, которое использует различные библиотеки:
- ESPAsyncWebServer: Создание веб-сервера для удаленного доступа к данным.
- GyverOLED: Обслуживание OLED дисплея, включая удобные методы для вывода текста и графики.
- OneWire: Работа с датчиками DS18B20 по протоколу 1-Wire.
- DHT: Работа с датчиками DHT22 для измерения температуры и влажности.
Скетч - http://rcl-radio.ru/?p=133361
- Пин 14 (sensDs):Используется для подключения линии №1 шины 1-Wire, к которой подключено пять датчиков DS18B20. Через этот пин осуществляется обмен данными с этими датчиками.
- Пин 27 (sensDs2):Используется для подключения линии №2 шины 1-Wire, к которой также подключено пять датчиков DS18B20. Аналогично пину 14, через этот пин идет обмен данными с датчиками второй линии.
- Пин 13 (DHTPin_1) и пин 19 (DHTPin_2):Используются для подключения двух датчиков DHT22. Эти пины отвечают за получение данных о температуре и влажности от соответствующих датчиков.
При подключении датчиков DS18B20 к ESP32 необходимо использовать подтягивающий резистор между линией данных и питанием (VCC). На коротких линиях чаще всего применяется резистор 4.7 кОм, но на длинных линиях для надежной передачи сигнала могут понадобиться резисторы меньшего номинала. В данном проекте использовались телефонные кабели ШТЛП-2 и ШТЛП-4, и наиболее стабильная работа была достигнута с резистором 3.2 кОм.
Принципы работы
Система работает следующим образом:
- Инициализация компонентов: При старте устройства происходит настройка всех необходимых модулей и библиотек, устанавливаются параметры Wi-Fi соединения, создаются объекты для работы с датчиками и дисплеем.
- Сбор данных: Периодически проводится опрос датчиков DS18B20 и DHT22 для получения текущих значений температуры и влажности. Данные обрабатываются и проверяются на наличие ошибок, таких как неправильное значение CRC или обрыв линий связи.
- Отображение данных: Собранные данные выводятся на OLED дисплей. Информация на экране меняется в соответствии с установленным интервалом обновления, что позволяет отслеживать изменения параметров окружающей среды в реальном времени.
- Удаленный доступ: Пользователи могут получить доступ к данным через веб-интерфейс, созданный с помощью библиотеки ESPAsyncWebServer. Для обновления данных без необходимости перезагрузки веб-страницы используется технология JSON, которая позволяет динамически обновлять информацию на странице.
Применение
Такая система находит применение в различных областях, где требуется мониторинг параметров окружающей среды. Примеры использования включают:
- Контроль микроклимата в теплицах и оранжереях: Поддержание оптимальных условий для роста растений требует постоянного контроля температуры и влажности.
- Мониторинг условий хранения продуктов и медикаментов: Многие продукты и медикаменты требуют строгого соблюдения температурного режима и уровня влажности.
- Автоматизация систем отопления и кондиционирования: Полученные данные можно использовать для автоматической регулировки температуры и влажности в помещениях.
Заключение
Система мониторинга окружающей среды на основе ESP32 представляет собой гибкое и мощное решение для автоматизации процессов сбора и анализа данных о температуре и влажности. Использование современных технологий и компонентов обеспечивает высокую точность измерений и удобство эксплуатации. Такая система может стать незаменимым инструментом в различных сферах деятельности, связанных с контролем климатических условий.
Автор проекта — Vid_PB (vid_pb@mail.ru)
Фото проекта: