
Приветствую всех читателей 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!
Комментарии (7)

Giperion39
28.04.2026 16:15Очень не хватает датчика угарного газа... природного, пропана... и сирены внутри :)
Но это видимо уже другой тип устройства...

xSVPx
28.04.2026 16:15Это такой тип устройств, который надо покупать у проверенного производителя. Чтобы всё было обмазано сертификацией, проверены все edge cases итд итп.
Сделать то подобный на китайской рассыпухе можно, но лучше не надо, уж очень риски немаленькие.

tklim
28.04.2026 16:15Если просто для себя, то "подобный на китайской рассыпухе" лучше чем ничего.
Но готовые не так дорого стоят, правда обычно там нет никакой "интеграции из коробки"

xSVPx
28.04.2026 16:15Готовые не миллиард стоят и им не нужна интеграция. Сирена нужна...
Есть несколько верных способов умереть. Угореть один из самых популярных.
Если хотите интеграцию - поставьте микрофон рядом :)

tklim
28.04.2026 16:15Я купил, разобрал для приличия, нашел уарт контакты, но там было пусто.
Вы правы, мне сирены хватит.
Therefore19
Цена?
Berkseo Автор
На данный момент проект просто выложен в сеть. Если он вам понравился, вы его можете собрать самостоятельно.