Приветствую всех читателей Habr. Сегодня хочу поделиться с вами проектом zigbee датчика CO2. DIYRUZ AirSens Reloaded это новый взгляд на проект AirSense. В этой версии была сделана попытка избавится от старых болячек. Проект так же является открытым, доступен на GitHub.


-
Новая плата — продуманное расположение компонентов
-
Корпус — теперь заводской, не самодельный
-
SenseAir S8 опрашивается без глюков
-
Учет атмосферного давления при расчете CO2
-
RGB для индикации CO2
-
Светодиодами теперь управляет ШИМ
-
Температура и влажность теперь не врут из-за нагрева
-
Можно дополнительно добавить датчик формальдегида
-
Есть идентификация устройства
-
В целом — намного стабильнее в работе
Проект имеет обратную совместимость с старым железом.

В проекте используются сенсоры: SenseAir S8 (углекислый газ), Bosch BME280 (атмосферное давление, температура, относительная влажность воздуха), Winsen ZE08K-CH2O (формальдегид).
Плата датчика сделана под корпус AP07B-2


Добавлен RGB LED 5050. Светодиодный индикатор отображает визуально уровень СO2. Индикацию можно отключить.

Модуль для измерения концентрации формальдегида крепится к плате через установочные крепежные стойки M2


Схема

Ввод датчика в zigbee сеть, выход из сети
Для джойна(вход в сеть), включите джоин в контроллере zigbee, зажмите и удерживайте кнопку на датчике (находится рядом с разъемом usb) до момента как загорится системный светодиод. Датчик сделает попытку найти открытую для входа сеть. При начале входа в сеть (примерно на 5-7 секунд) светодиод потухнет или через 15 секунд при неудачном поиске открытой сети.
Для выхода из сети нужно зажать кнопку на 10 секунд, с задней стороны датчика начнет мигать системный светодиод (частота переключения led — 1 секунда). Когда светодиод перестанет мигать кнопку можно отпустить. Датчик отправит сообщение о выходе из сети, сотрет у себя все настройки в памяти.
Так же выйти из сети можно удалив датчик из сети через интерфейс вашего контроллера zigbee.
Устранение возможных проблем c вводом устройства в сеть:
На время ввода в сеть расположитесь не далеко от координатора (1-3 метра) или роутера с хорошим уровнем сигнала.
Основные данные:
-
Identify — Идентификация устройства
-
CO2 — Уровень углекислого газа
-
Formaldehyde — Уровень формальдегида
-
Temperature — Температура ворздуха
-
Pressure — Атмосферное давление
-
Humidity — Относительная влажность воздуха

Конфигурационные данные:
-
Co2 accurate measurement — учет атмосферного давления при расчете CO2
-
Co2 automatic calibration — Включение автоматической калибровки сенсора СO2.
-
Led indication — Включение LED индикации уровня СO2
-
Co2 moderate threshold — Порог умеренного содержания CO2 для LED индикации
-
Co2 hazardous threshold — Порог опасного содержания CO2 для LED индикации
-
Formaldehyde moderate threshold — Порог умеренного содержания формальдегида для LED индикации
-
Formaldehyde hazardous threshold— Порог опасного содержания формальдегида для LED индикации
-
Temperature offset— Подстройка температуры
-
Humidity offset— Подстройка влажности воздуха
-
Pressure offset— Подстройка атмосферного давления
-
Formaldehyde offset.— Подстройка формальдегида
Реализована поддержка в Zigbee2mqtt, ZHA, Спрут Хаб, HOMEd
Идентификация датчика DIYRUZ AirSens Reloaded
Для идентификации датчика необходимо в свойствах нажать кнопку Identify
На датчике начнет плавно мигать RGB индикатор качества воздуха.
Tехнические характеристики:
-
Модель: DIYRUZ AirSens Reloaded
-
Протокол: ZigBee 3.0
-
Радиомодуль: EBYTE E18-MS1PA1-IPEX (20 dbm)
-
Основной сенсор: SenseAir S8 (цифровой NDIR сенсор углекислого газа)
-
Дополнительный сенсор: Bosch BME280 (атмосферное давление, температура, влажность воздуха)
-
Опциональный сенсор: Winsen ZE08K-CH2O (формальдегид)
-
Индикатор: RGB светодиод
-
Размеры корпуса: D 9см H 2см
-
Рабочий диапазон измерения углекислого газа: 400-5000, точность в диапазоне 400-5000 ±(70 ppm + 3% от показания)
-
Питание: USB Type C (поддерживается работа с БП с протоколами быстрой зарядки)
Датчик не предназначен для систем безопасности. Его нельзя использовать в системах аварийной вентиляции, пожарных сигнализациях, для измерения абсолютных концентраций токсичности. Он предназначен только для мониторинга качества воздуха.
Файлы проекта для заказа плат, схема, прошивка и исходный код размещены на GitHub.
Группа в телеграм DIY DEV. Тут можно пообщаться на тему разработки DIY устройств, рассказать о своих проектах, или поделится интересными открытыми проектами, узнать больше информации о других датчиках Efekta. Альтернатива в Max.
Так же приглашаю читателей обсудить это и любые другие устройства, прошивки и прочий софт, работающий с Zigbee, в самое большое русскоязычное сообщество в Телеграм — Вокруг да около Zigbee.
Всем чистого воздуха и стабильного Zigbee!
ссылка на оригинал статьи https://habr.com/ru/articles/1029252/