Авторизация
Зарегистрироваться

DIY Zigbee датчик СO2 для вашего Умного дома

Приветствую всех читателей Mysku. Сегодня хочу рассказать об одном из моих DIY проектов, небольшом устройстве для контроля уровня углекислого газа. Проект называется EFEKTA iAQ, это датчик с круглым IPS TFT дисплеем, сенсором CO2, работающий на протоколе Zigbee.


На данный момент существуют еще две версии этого устройства. iAQ2 — версия с дополнительным сенсором атмосферного давления, iAQ3 — версия с дополнительным сенсором VOC (летучие органические соединения). В этой статье я расскажу как я разрабатывал этот проект, как появлялись новые версии, как развивалась и дополнялась функциональность, с какими трудностями пришлось столкнуться в процессе взросления этого проекта.

Как я пришел к идее создать этот проект, сейчас уже точно не вспомню. Но началось всё 5 ноября 2021 года, это зафиксировано в одном телеграм чате по разработке zigbee устройств.

В то время я только-только начал пробовать свои силы в программировании не на Ардуино. В какой-то момент я решил попробовать запустить небольшой круглый IPS TFT дисплей на СС2530. Несколько дней потратив на код драйвера, я его запустил. Передача данных по SPI была очень медленная, дисплей очень долго обновлялся, но это была победа, я был счастлив:), кто-то из читающих этот текст меня точно поймет.


Запустил и положил на полку, так как на тот момент нужно было закончить несколько других DIY проектов на электронных чернилах. Но уже в начале 2022 года, я получил несколько сенсоров CO2 с али экспресс. Они меня заинтересовали своими размерами, наличием интерфейса I2C, более интересными возможностями в сравнении с сенсорами sensair s8 и mh-z19.


Сделал драйвер(за основу взял generic embedded driver от Sensirion), запустил. Получается примерно в это время и появилась идея сделать DIY проект zigbee датчика СO2 с дисплеем.

Думая на тему как должен выглядеть датчик, я принял решение что он будет настольным. Начал проект с разработки платы, но держа в голове как примерно должен выглядеть готовый датчик. Разрабатывать корпус датчика решил делать уже после того как будет готовое, оттестированное железо и рабочий софт.

Основные требования к датчику у меня были следующими:
  • Передача данных с сенсоров в умный дом по протоколу zigbee
  • Конфигурация датчика внешними командами, через zigbee сеть.
  • Возможность привязки внешнего датчика температуры и влажности
  • Вывод данных на дисплей.
  • Питание 5В через USB разъем

В первой ревизии железа для проекта, помимо сенсора scd40 (CO2) были добавлены сенсоры bh1750(освещенность) и shtc3(температуры и влажность). Дисплей ER-TFT1.28-1 оснащен внешне управляемой LED подсветкой. В проекте я реализовал управление подсветкой через ШИМ.


Как только я это сделал у меня появилась идея использовать сенсор освещённости, чтобы я смог реализовать в проекте адаптивную подсветку дисплея в зависимости от освещённости в помещении. Датчик температуры и влажности решил добавить в проект, потому что был уверен что он будет меньше подвержен внешнему нагреву (наивный) и с него получится получать более точные данные, нежели с встроенного в scd40 сенсора sht40.

Написав ПО для проверки железа первой версии прототипа, я начал тесты. Стало сразу понятно что внешний сенсор температуры подвержен нагреву и от подсветки дисплея и от нагрева встроенного в дисплее однокристального SOC-драйвера GC9A01 и от радиомодуля E18-MS1-PCB (CC2530).

В следующей ревизии я перенес сенсор температуры и влажности воздуха в другое место на плате, но и это не принесло результата. Было решено использовать в ПО встроенный в scd40 сенсор, так как если делать программную компенсацию, то логичнее это делать используя сенсор СO2 с встроенным сенсором температуры и влажности. Тем не менее так и оставил возможность установки сенсора shtc3 на плате, место позволяло.

На следующем этапе разработки я стал реализовывать вывод графики на дисплей. Основными пунктами этой задачи были вывод значений СО2, температуры и влажности с внутреннего сенсора, вывод температуры и влажности с внешнего привязываемого датчика, вывод графика на основе данных СO2. Ну и конечно нужно было решать вопрос со скоростью обновления дисплея. Медленное обновление дисплея в основном связано со способом передачи данных, отправляем байт, ожидаем успешной передачи, отправляем следующий. Переписал драйвер, сделал передачу всего массива байтов за раз. Это сработало, ускорение обновления на порядки, стабильность передачи.


Все элементы графики были отрисованы в фотошопе, иконки, шрифты с тенями, плавные переходы цвета и т.д. Всё это было конвертировано в байтовые С массивы. С реализацией построения графика всё прошло хорошо, так как я уже делал это в другом проекте с eink дисплеями, просто было больше рутинной работы, так как тут было больше вариаций в цвете, чем в монохромном eink дисплее и использовались готовые части изображений, хранящиеся во флеш памяти.

На заключительном этапе разработки ПО нужно было реализовать работу устройства в сети zigbee, передачу данных, команд, получение данных, команд, биндинг. Тут я столкнулся с проблемой некорректной конвертации данных СО2 в существующей в zigbee2mqtt реализации. Видимо до моего проекта никто не делал свой zigbee СO2 датчик с дисплеем. Проблема выглядела следующим образом, на дисплее одно значение в Home Asistant почти оно, просто меньше на единицу. Проблема обнаружилась в обработчике кластера СО2, в этой строке:
return {co2: Math.floor(msg.data.measuredValue * 1000000)};
Используется встроенная функция с округлением вниз.

Поэтому пришлось добавить свой обработчик непосредственно в конвертер.
co2: {
        cluster: 'msCO2',
        type: ['attributeReport', 'readResponse'],
        convert: (model, msg, publish, options, meta) => {
			if (msg.data.hasOwnProperty('measuredValue')) {
				return {co2: Math.round(msg.data.measuredValue * 1000000)};
			}
        },
    },

И всё вроде бы хорошо и стабильно работает, но на дисплее всё еще достаточно много свободного места. Решил добавить функционал часов с получением времени через сеть zigbee. Добавил вывод времени на дисплей и тут закончилось свободное место в cc2530, проект не собирается. Пришлось сесть и начать переосмысливать код проекта. Тогда мне показалось, что я справился хорошо, проект наконец стал собираться, но сейчас я даже затрудняюсь ответить сколько раз впоследствии мне приходилось заниматься оптимизацией кода проекта.

С получением времени через zigbee сеть тоже были нюансы. В первой версии конвертера, которой сейчас находится в основной базе zigbee2mqtt время отправлялось при джойне устройства, на этапе конфигурации. Это часто могло не срабатывать, поэтому время так же можно было отправить в ручном режиме, нажав на кнопку на закладке свойства (exposes), на странице устройства, либо отправит команду в mqtt топик.

const time = Math.round(((new Date()).getTime() - constants.OneJanuary2000) / 1000 + ((new Date())
                .getTimezoneOffset() * -1) * 60);
            const values = {time: time};
            endpoint.write('genTime', values);

кнопка запроса времени
e.enum('local_time', ea.STATE_SET, ['set']).withDescription('Set date and time'),

В следующий версии время отправлялось уже асинхронно в ответ на запрос от устройства, с синхронизацией через каждые 6 часов.
async function onEventSetLocalTime(type, data, device) {
 
    if (data.type === 'attributeReport' && data.cluster === 'genTime') {
	    try {	
		    const endpoint = device.getEndpoint(1);
		    const time = Math.round((((new Date()).getTime() - constants.OneJanuary2000) / 1000) + (((new Date()).getTimezoneOffset() * -1) * 60));
            await endpoint.write('genTime', {time: time});
        }catch (error) {
            
        }
    }
}

onEvent: onEventSetLocalTime,

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

Еще одна проблема всплыла при реализации функционала биндинга, с кластером температуры всё было хорошо, а вот по кластеру влажности воздуха привязку сделать не получалось. Начал разбираться почему и от чего так и выяснилось, что zigbee2mqtt ничего из типа кластеров Measurement and Sensing Clusters не поддерживает. На самом деле много чего не поддерживает, но тогда меня интересовали именно Measurement and Sensing Clusters. Почитал, как это реализовано для кластера температуры, сделал аналогично локально на своем сервере для кластера влажности и освещенности. Всё получилось.

Как только все проблемы были решены, добавил конвертер в zigbee2mqtt, добавил описание датчика, сделал pull request на githab проекта zigbee2mqtt по поводу поддержки нужных мне кластеров для биндинга.

Пришло время разрабатывать корпус под железо проекта. Модель разрабатывалась в Солид Воркс. Тут никаких особых проблем не было, одно удовольствие от работы. Корпуса печатались на бытовом fdm принтере и после шлифовались и полировались.

Но как только пошли первые заказы на эти датчики, вот тут я в полной мере оценил масштаб проблемы с изготовлением корпусов с применением шлифовки и полировки.

Проблема решилась в Китае, к тому времени на сайте JLCPCB уже была доступна услуга 3D печати. Изучив предложения, остановил свой выбор на печати по технологии MJF и SLS, это печать лазером по полимеру в виде порошка. Получив первую партию корпусов, убедился, что печать MJF это именно то что мне нужно.

Корпус напечатанный по технологии MJF плотный, тяжелый, имеет матовый блеск, точность печати высокая, прочность очень высокая. Корпус напечатанный по технологии SLS более легкий, немного пористый, точность печати очень высокая, по прочности уступает MJF.

Было сделано 2 варианта корпуса, первый вариант со скруглениями граней, второй вариант с фасками на гранях. В дальнейшем остановился на варианте с фасками.

Характеристики первой версии и функционал получившегося датчика СO2:
  • Протокол: Zigbee 3.0
  • Тип устройства: EndDevice
  • Мощность передатчика: 4.5 dBm
  • Дисплей: IPS TFT, 1.28 дюйма, разрешение 240х240
  • Точность измерения CO2 ± 40 ppm 5%
  • Температура, диапазон и точность: -10°C ~ 60°C, ± 0,8°C в диапазоне 15°C – 35°C
  • Влажность, диапазон и точность: 0 — 100% относительной влажности (без конденсации), ± 6% в диапазоне 15°C – 35°C и 20 %RH – 65 %RH
  • Освещенность, диапазон: 1 — 65535 lx
  • Питание: USB тип C, 5В

В следующей ревизии в проект iAQ был добавлен функционал роутера сети zigbee, и еще позднее поддержка радиомодулей с усилителем, 20dBm. Добавлена поддержка работы с «умными» блоками питания. Перенесен разъем usb на заднюю часть корпуса.


Добавлен функционал газостата. Можно привязать этот датчик напрямую к любому zigbee реле или розетке и датчик будет управлять этим реле или розеткой по настроенным порогам углекислого газа. Помните я выше писал про оптимизицию :).

Функционал:
  • Датчик осуществляет мониторинг уровня СO2 газа, температуры, влажности воздуха, освещенности в реальном времени.
  • Удаленный мониторинг(Zigbee), к датчику EFEKTA iAQ можно подключить дополнительный внешний датчик температуры, размещенный например на улице.
  • Прямое управление исполнительными устройствами(реле, розетки) по настраиваемым пороговым значениям углекислого газа.

Пункты 2 и 3 реализуется через биндинг. Это прямая работа между привязанными устройствами. Даже если координатор сети отключить или отключить сервер умного дома, связанные устройства продолжат совместную работу.

Работа в сети zigbee, добавление/удаление устройства

Только для самой первая версии устройства в проект zigbee2mqtt добавлен конвертер в основную базу. Для последующих версий необходимо использовать внешний конвертер. Все конвертеры доступны на моем гитхаб. Когда-нибудь я соберусь и добавлю их в основную базу.

Для установки внешнего конвертера необходимо скачать его на моем гитхабе. Для пользователей homeassistant самый простой способ добавить конвертер, это загрузка через установленный аддон File Editor

Если вы используете zigbee2mqtt отдельно, то для загрузки конвертера для устройства на сервер есть несколько вариантов. Первый вариант это загрузка через ftp клиент. Это может быть любой клиент, например filezilla

Для подключения к серверу необходимо ввести ip адрес, логин и пароль в соответствующие поля в программе и нажать на кнопку — «быстрое подключение»

Если вы не используете HassOs, то путь к нужной папке будет /opt/zigbee2mqtt/data, если вы используете HassOs то путь к нужной папке будет /config/zigbee2mqtt

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

Если вы используете Home Assistant, то вы можете установить плагин Самба, тогда у вас появится сетевая папка в которую вы можете просто перетащить нужный файл через стандартный проводник в Windows. Инструкция по установке Самба находится здесь.

Добавление информации о конвертере

После загрузки файла (это самая трудная часть обычно :)), нужно прописать данные о внешнем конвертере в конфигурацию zigbee2mqtt. Для этого вам нужно перейти в вэб интерфейс zigbee2mqtt и перейти в раздел — «настройки».

Далее найти подраздел — внешние конвертеры и перейти в него.

Далее нужно спустится вниз страницы и нажать на кнопку"+", появится новое окно для ввода информации, туда нужно добавить название вашего внешнего конвертера с расширением, например EFEKTA_iAQ.js. После этого нажать на кнопку 'Submit" и далее на кнопку — «Перезагрузить» вверху страницы.

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

Если у вас есть ссылка на изображение устройства, вам необходимо перейти на страницу устройства к которому вы хотите применить изображение, далее нужно перейти на вкладку — «Настройки»

На странице настройки переместитесь вниз страницы до пункта «Icon» и введите в поле адрес на изображение. Затем нажмите кнопку«Submit»

Для добавления устройства в zigbee сеть, необходимо включить режим джойна на шлюзе (на примере zigbee2mqtt)

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

Для выхода из сети zigbee необходимо нажать на кнопку «прямо» и удерживать ее в течение 10 секунд, датчик отправит запрос на выход из сети, сотрет у себя все данные сети из памяти и перезагрузится.

Oриентироваться в каком статусе сейчас устройство можно по логотипу zigbee на дисплее, если логотип серый то устройство не добавлено в сеть, если логотип zigbee красный то устройство работает в сети.

Тут сразу опишу и другой функционал трех позиционной кнопки. Этот функционал скорее для тех, кто будет использовать датчик без работы в сети zigbee.

Кнопка «Вверх» включает или отключает адаптивную подсветку дисплея в зависимости от освещённости в помещении. В выключенном состоянии устанавливается средняя яркость подсветки дисплея.

Кнопка «Вниз» переключает интервал построения графика, заполнение за 1 час или заполнение за 24 часа.


Передаваемые в zigbee2mqtt данные:

  • co2
    Уровень углекислого газа
  • temperature
    Температура с встроенного сенсора
  • humidity
    Влажность воздуха с встроенного сенсора
  • illuminance_lux
    Освещенность в люксах с встроенного сенсора
  • illuminance
    Необработанные данные освещенности с встроенного сенсора
  • temperature_ext
    Температура с внешнего сенсора
  • humidity_ext
    Влажность воздуха с внешнего сенсора



Конфигурационные атрибуты:

auto_brightness
Включение/отключение адаптивной подсветки дисплея

Night onoff backlight
Включение/отключение подсветки дисплея, по расписанию, этот режим был добавлен по просьбам пользователей, которым для сна нужна максимальная темнота. И это был не единичный запрос, что меня немного удивило. Оказывается даже светодиоды заклеивают на бытовой технике.

Night on backlight
Установка времени включения ночного режима.

Night off backlight
Установка времени отключения ночного режима.

long_chart_period
Переключение интервала построения графика, заполнение за 1 час или заполнение за 24 часа.

set_altitude
Установка высоты над уровнем моря, для более точного расчета уровня углекислого газа. Это функционал сенсора SCD40 заложенный производителем, который реализован.

temperature_offset
Подстройка температурной компенсации

humidity_offset
Подстройка компенсации влажности воздуха

Automatic scal
Включение или отключение автоматичекой подкалибровки сенсора CO2, по умолчанию включен. Это функционал сенсора SCD40 заложенный производителем, который реализован.

forced_recalibration
Форсированная ручная калибровка №1. Это функционал сенсора SCD40 заложенный производителем, который реализован. Калибровка осуществляется на свежем воздухе, необходимо оставить датчик на чистом воздухе на 15 минут, по истечении этого времени отправить команду. Время калибровки примерно 5 секунд, после завершения калибровки точке соответствующей чистому воздуху будет задано значение в 450ppm. Датчик отправит команду «выключено» по завершению калибровки

manual_forced_recalibration
Форсированная ручная калибровка №2. Это функционал сенсора SCD40 заложенный производителем, который реализован. Калибровка осуществляется по показаниям другого датчика СO2, показаниям которого вы доверяете. Необходимо оставить оба датчика рядом на 15 минут, наличие свежего воздуха не обязательное условие. По истечении этого времени, необходимо данные с датчика которому вы доверяете отправить на калибруемый датчик. Датчик вычтет разницу и будет в дальнейшем учитывать ее.

Ручная калибровка не является обязательной и является не рекомендуемой. В сенсоре в фоновом режиме включена автоматическая калибровка, с интервалом подстройка 1 раз в неделю. Но попробовать не возбраняется, вывести из строя сенсор невозможно, и в любой момент можно сделать сброс к заводским настройкам.


factory_reset_co2
Сброс сенсора углекислого газа к заводским настройкам. Это функционал сенсора SCD40 заложенный производителем, который реализован.

enable_gas
Включение функционала газостата. Управление реле к которому привязан датчик. Для работы данного функционала необходимо сделать привязку к исполнительному устройству(реле, розетки)

invert_logic_gas
Инвертирует логику работы управления исполнительными устройствами. Пример. Если опция отключена, при превышение верхнего заданного порога углекислого газа датчик отправит команду «Включить» на привязанное реле. Если опция включена, при превышение верхнего заданного порога углекислого газа датчик отправит команду «Выключить» на привязанное реле.

high_gas
Верхний порог углекислого газа

low_gas
Нижний порог углекислого газа

Привязка внешнего датчика температуры.

Привязка осуществляется на стороне внешнего датчика температуры. Для привязки (биндинг) датчика температуры к датчику iAQ, для прямой передачи данных необходимо в вэб интерфейсе zigbee2mqtt перейти на страницу датчика температуры.

Далее нужно перейти на вкладку «Связь» и заполнить поля данных для привязки

В первом поле слева выбрать «1», в следующем поле, в выпадающем списке выбрать датчик к которому необходимо сделать приыязку. Правее выбрать кластеры (поставить галочки) по температуре и/или влажности воздуха. Потом еще правее нужно нажать на кнопку «Связать».

После нажатия на кнопку в вэб интерфейсе, на датчике нужно нажать кнопку на корпусе. Датчик проснется и получит данные о привязке. В вэб интерфейсе з2м должно всплыть сообщение об удачной привязке(зеленое).

Привязка датчика iAQ к исполнительному устройству(реле, розетки). Осуществляется на стороне датчика iAQ. Для привязки (биндинг) датчика iAQ к исполнительному устройству, для прямой передачи данных необходимо в веб интерфейсе zigbee2mqtt перейти на страницу датчика iAQ.

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

Весной этого года я продолжил расширять функционал данного проекта, на свет появились версии iAQ2 и iAQ3.

Версия iAQ2

Данная версия получила дополнительный сенсор атмосферного давления. Переработан дизайн вывода графики на дисплей. Это версия с белым фоном. На дисплее выводится помимо уровня углекислого газа, еще и атмосферное давление. На основе скорости изменения атмосферного давления рассчитываться простой прогноз погоды на ближайшие часы, облачно, дождь, ясно. Выводится на дисплей в виде иконок. Учитывается время суток, в дневное время солнце, в ночное время луна.

Из этой версии удален конфигурационный атрибут set_altitude, с сенсора bmp280 в реальном времени передаются данные об атмосферном давлении напрямую в сенсор scd40. Это все отличия этой версии.

Версия iAQ3.

Эта версия получила дополнительный сенсор VOC (летучая органика), сенсор sgp40. Эта самая интересная для меня версия, сенсор sgp40 имеет очень низкое потребление, но из-за этого производителю пришлось очень упростить встроенный контроллер, сенсор отдает только не обработанное значение. Для расчета индекса VOC производитель предоставляет отдельную библиотеку с алгоритмом расчета индекса VOC. Поэтому в расчет индекса принимает участие и основной SOC данного устройства. Нужно периодически с интервалом в 1 секунду (рекомендовано для лучшей чувствительности, но не обязательно) получить данные с сенсора sgp40 и отдавать их в библиотеку с алгоритмом который рассчитывает текущий уровень VOC. А это дополнительные байты кода, здравствуй снова оптимизация.

В этой версии датчика на дисплей помимо уровня СO2 выводятся данные индекса VOC, диапазон 0-500. Строится свой график. В этой версии отсутствует вывод температуры и влажности воздуха на дисплей. Если бы было принято решение делать вывод данных по температуре и влажности воздуха с внутреннего сенсора, то пришлось бы делать либо меньше шрифты для вывода основных данных, СО2 и VOC, либо отказываться от возможности привязать внешний датчик, а этого мне совсем не хотелось делать. В принципе получилась полноценная версия про качество воздуха с возможностью привязать внешний датчик температуры, отображать данные с внешнего датчика на дисплее. Но данные с встроенного в SCD40 сенсора температуры и влажности тем не менее используются для расчета абсолютной влажности. Эти данные в реальном времени передаются в сенсор sgp40, эти данные необходимы для более точного расчета необработанных данных.

VOC, как и TVOC не описанный тип данных в ZCL, поэтому реализацию работы с этими данными осуществляет разработчик. Не стал это делать через кастомный кластер, передаю эти данные через аналоговый кластер. Отправляется необработанное значение и рассчитанный индекс VOC.

Что дальше?

Думаю что работа над этим моим DIY проектом не закончена, скорее всего функционал будет и дальше расширяться. Обратная связь работает отлично. Совсем недавно в проект была добавлена возможность с помощью внешней командой изменять ротацию вывода графики на дисплей. Это был многократный запрос от владельцев этого датчика, которым понадобилось закреплять датчик в перевернутом виде.


На основе данного проекта уже совсем скоро родится новый, с большим TFT дисплеем и помимо всех перечисленных выше сенсоров имеющий так же и сенсор твердых частиц (pm2.5)


Группа в телеграм DIY DEV. Тут можно пообщаться на тему разработки DIY устройств, отвечу на ваши вопросы по датчикам Efekta.

Приобрести iAQ можно тут.
Добавить в избранное +67 +94
свернуть развернуть
Комментарии (85)
RSS
+
avatar
  • Alaket
  • 19 октября 2023, 17:01
+6
Большая работа проделана, моё уважение!
Было бы здорово, если бы добавили в обзор практическое применение этого датчика — где, зачем и для чего он может применяться, где именно важен контроль углекислого газа. А то вдруг оно мне очень нужно, а я об этом ещё не знаю )
+
avatar
  • LonFas
  • 19 октября 2023, 17:39
0
Если живешь и работаешь дома, не всегда можно уследить когда надышал больше чем надо.
А насчёт TVOC. Под моей квартирой, на несколько этажей ниже булочная. Буду конопатить щели. Ибо ко мне тянет так что ClearGlass зашкаливает
+
avatar
  • Alaket
  • 19 октября 2023, 18:16
+1
Ну не, это проблема выглядит несколько надуманной. Стало душно — открыл форточку. Мне кажется, эта штука больше нужна где-то, где человека как раз нет…
+
avatar
  • aquahawk
  • 19 октября 2023, 18:40
+8
habr.com/ru/articles/187210/

по личному опыту: только с прибором ты начинаешь понимать в какой чудовищной концентрации ты живешь. Правда в моём случае это повлекло установку приточки и системы увлажнения, и стоит это не 3 рубля и требует обслуживания
+
avatar
  • sim31r
  • 20 октября 2023, 09:31
+1
Норма для подводной лодки 5000 ppm, для одной смены в шахте 50 000 ppm. На бытовых датчиках и предела измерений такого нет. Девочки избалованные истерику поднимают уже при 600 ppm. Логически подумайте, на выдохе с задержкой дыхания можно сделать 10% СО2, от этого вреда не будет, только польза, типовая тренировка пловцов и дайверов. Это 100 000 ppm. На этом фоне легким глубоко фиолетово, что на входе, 400 ppm или 800 ppm, попав в легкие эта концентрация СО2 теряется на фоне легочной атмосферы.
То что люди себя чувствуют лучше не свежем воздухе можно объяснить другими причинами, например у кого-то просто клаустрофобия или социофобия, им в помещении с людьми плохо и душно. На улице много отрицательных ионов, другая температура, ветер и т.п.
+
avatar
  • sav1812
  • 20 октября 2023, 10:39
0
На территории Российской Федерации согласно ГОСТ Р ЕН 13779-2007, концентрация СО2 в помещении не должна превышать 400 ppm. Для того, чтобы качество воздуха считалось высоким. Средним качество воздуха в помещении считается если цифра не превышает 600 ppm. Приемлемым считается 800 -1000 ppm, присутствия СО2 в помещении
+
avatar
  • sim31r
  • 20 октября 2023, 12:19
-3
концентрация СО2 в помещении не должна превышать 400 ppm
Это бред полный. Вы сами придумали? 400 ppm на улице не каждого города будет. То есть надо сидеть в помещении без стен и потолка на сквозняке, и то прибор превышение покажет если выдохнуть и выдох по ходу воздуха в прибор попадет. При таком PPM воздух выдыхаемый надо разбавлять сразу 1 к 10 000. Вентиляционщики так миллиарды заработают.
В ГОСТЕ указано типовое 1200 ppm для IDA 4.
Т а б л и ц а 9 — Содержание СO2 в помещениях

там же рекомендация
Рекомендуется применять материалы с низкой интенсивностью выделения загрязнений (для мебели, ковровых покрытий, систем вентиляции и кондиционирования). Это дает больший эффект, чем повышение расхода наружного воздуха для разбавления выделяемых загрязнений.
+
avatar
  • sav1812
  • 20 октября 2023, 12:24
+5
Это бред полный. Вы сами придумали?
Никому ещё не говорил, вам по секрету скажу: ГОСТы «придумываю» не я, а совсем другие люди и организации. ;)
400 ppm на улице не каждого города будет.
Допустим, и что с того?
ГОСТы про то, как должно быть, а вовсе не про то, как мы на эти нормы и на своё здоровье плюём…
+
avatar
  • sim31r
  • 20 октября 2023, 12:40
-4
ГОСТ такие же люди написали, без особых оснований. Цифры взяты с потолка и по советам вентиляционщиков, которым выгодно делать приток по 10 000 кубов на человека, это золотая жила просто.
Есть более практичные нормы. На подводной лодке 5000 ppm, в шахтах с ограничением времени смены до 50 000 ppm (норма с «другой стороны», от капиталистов собственников шахт).
+
avatar
  • sav1812
  • 20 октября 2023, 12:45
+1
Ну да… ну да… А «тормоза придумали трусы!..». :))
Ладно, не виду смысла спорить и убеждать, останемся по этому вопросу «при своих». :)
+
avatar
+2
ГОСТ такие же люди написали, без особых оснований. Цифры взяты с потолка и по советам вентиляционщиков,
жалко, что тебя спросить забыли
+
avatar
  • sim31r
  • 21 октября 2023, 01:18
0
жалко, что тебя спросить забыли
Слепая вера удел глупых сектантов. Пол страны такие воду от экранов заряжали. А теперь в ГОСТы поверили.
+
avatar
  • sav1812
  • 21 октября 2023, 04:30
0
Да не жаль — к счастью. :)
Хотя там кого попало не спрашивают… Тоже — к счастью.
+
avatar
  • Alaket
  • 20 октября 2023, 14:08
+1
Спасибо за ссылку, прочитал с большим интересном. Вывод статьи поддерживаю — открываем форточку и всё будет хорошо)
+
avatar
  • aquahawk
  • 20 октября 2023, 14:24
0
я так и начал с форточки. Оказалось что от этого быстро становится черным подоконник, окно и шторы, также холодно и сухо. Решение — фильтрующая приточка, мощный увлажнитель, активное управление отоплением
+
avatar
  • Qurdi
  • 19 октября 2023, 20:08
+2
Когда людей в помещении больше одного, а на улице зима, часто возникают разногласия между тем кому холодно, и тем, кому душно. Прибор хорошо эти разногласия решает.
+
avatar
  • sim31r
  • 20 октября 2023, 09:32
-5
+
avatar
  • sav1812
  • 20 октября 2023, 10:35
+3
И в самом деле, это манипуляция — утверждать, что любое снижение влажности в помещении, независимо от его исходного значения, «открывает дорогу инфекциям в организм»…
+
avatar
  • sim31r
  • 20 октября 2023, 12:09
0
Зимой исходная влажность 20%, при проветривании станет еще меньше. Косвенно проявляется статическими разрядами, которых нет летом.
+
avatar
  • sav1812
  • 20 октября 2023, 12:15
+1
Зимой исходная влажность 20%
По всей планете, в каждом доме? Как вы за всех-то «расписываться» горазды. :)
В доме у моих родителей, например, до 80% может доходить…
+
avatar
  • sim31r
  • 20 октября 2023, 12:21
-1
Такое обычно рядом с водоемами, из минусов плесень везде растет.
+
avatar
  • sav1812
  • 20 октября 2023, 12:28
+2
Такое у них «обычно» при отсутствии нормальной вентиляции, уговорить на которую я их не могу уж сколько лет, и при активной жизнедеятельности в квартире — стирка, варка, мойка, и т.д.

От устройства системы вентиляции отказались, зато купили осушитель воздуха, подсказанный кем-то «знающим»… Ну, родители-то всяко умнее детей… :))
Недавно пошёл на очередной «раунд переговоров», может, удастся уговорить… :)
+
avatar
  • Qurdi
  • 20 октября 2023, 10:46
0
Большинство этих приборов и влажность покажут, с ними можно альтернативную физику не придумывать. В классической всё же со снижением температуры относительная влажность растёт.
+
avatar
  • aquahawk
  • 20 октября 2023, 11:59
+2
это в замкнутом сосуде влажность будет расти при охлаждении. А в квартире мы о крыли окно и впустили новый воздух с улицы, и при температуре меньше нуля, какая бы не была влажность, абсольная, в граммах воды на кг воздуха она будет очень маленькая
+
avatar
  • sav1812
  • 20 октября 2023, 12:16
+1
В холодное время года на улице влажность обычно существенно меньше, чем в доме, и при проветривании жилья относительная влажность воздуха в помещениях тоже снижается.
+
avatar
  • Qurdi
  • 20 октября 2023, 14:23
0
Вы с лета хотите без проветривания в помещении воздух хранить?
+
avatar
  • aquahawk
  • 20 октября 2023, 14:34
0
нет, я говорю о том что при адекватном проветривании при -10 на улице, в помещении будет 20-25% влажности
+
avatar
  • Geka92
  • 19 октября 2023, 17:42
0
Пользуясь случаем здесь спрошу:
Посоветуйте кто знает нормальный zigbee hub для домашнего использования.
До недавнего времени пользовался встроенным хабом в amazon alexa, но столкнулся с тем что некоторые устройства типа кнопок с ним не работают, решил что пора переходить на что-то посерьёзнее.
+
avatar
  • orff
  • 19 октября 2023, 19:10
+3
Тут. И тут, если будете собирать сами.
Там же есть ссылка на покупку. На Авито вроде тоже есть.
+
avatar
  • Geka92
  • 19 октября 2023, 19:25
0
Спасибо за ссылочку, посмотрел, продаётся на барахолке в телеге, хотелось бы что-то доступное на алике так как нахожусь в Испании.
+
avatar
+2
Есть ещё Sonoff iHost Smart Home Hub. Ну и raspberry Pi + Home Assistant наше всё.
+
avatar
  • Geka92
  • 20 октября 2023, 12:31
0
Спасибо буду изучать
+
avatar
  • Alesh
  • 23 октября 2023, 10:21
+1
Sprut
Есть как хаб со своей системой, так и zigbee стик для Raspberry + прошивка
+
avatar
  • Mishakov
  • 19 октября 2023, 18:55
+5
Вот, действительно. Большинство людей не догадываются как здорово иметь подобную систему.
Три года назад сделал нечто похожее на ардуино и датчике MH-Z19B за 20 долларов.
Мое устройство определяет уровень СО2 в том месте, куда вы его установите, и посылает информацию по радиоканалу с помощью модуля nRF24L01 на исполнительный блок.
Исполнительный блок анализирует данные и в нужные моменты включает реле, к которому присоединен вентилятор, установленный на форточке. Потенциометром задается интервал срабатывания реле. Сейчас, например, стоит интервал 800 — 900 ppm. При 900 вентилятор включается, при 800 выключается.
Таким образом, в любой момент времени уровень СО2 находится в этом интервале. Суммарная стоимость железа — не более 30-35 долларов.
Как оказалось, такое устройство решает одну наиважнейшую проблему. Оно контролирует уровень СО2 в спальне во время сна.
Если этого не делать, то даже с открытой форточкой значения СО2 при дыхании 2-х человек переваливает за 2000, при верхнем допустимом значении — 1000 ppm. Что сильно ухудшает самочувствие утром. Но человек ко всему привыкает, и ему кажется, что все и так нормально.
Жена относилась к моей затее скептически, так как я использовал не самый тихий вентилятор, но теперь просто требует чтобы устройство было всегда включено.
Да и сам я сразу чувствую даже посреди ночи, что с воздухом что-то не так, когда изредка ардуино подвисает, и контроль за показаниями теряется. Думаю теперь усовершенствовать устройство, добавив контроль за зависаниями микроконтроллера.
Ну а тоже самое на zigbee, конечно, круче. Но, думаю, ценник там совсем другой.
+
avatar
0
выкиньте мозги, оставьте вентилятор вращаться постоянно.
экономите 30$, ардуина не виснет.
Результат — аналогичный.
+
avatar
  • aquahawk
  • 19 октября 2023, 22:12
0
у меня сейчас так. Как итог становится суше(у меня это решает мощный промышленный увлажнитель), холоднее и фильтры забиваются чаще. Сейчас, для новой квартиры проектируется система с приточкой в каждую комнату с датчиком соответственно в каждой комнате. И когда в комнате никого нет, нет никакого смысла вентилировать на полную. И, кстати, во сне тоже небольшое выделение CO2, можно снизить обороты приточки.
+
avatar
  • Mishakov
  • 19 октября 2023, 22:38
+2
Нет, не прокатывает. Во-первых, вентилятор шумит. И постоянное гудение не комфортно. Во-вторых, зимой он выхолаживает комнату. Ну и иногда, когда ветер дует, хватает естественной вентиляции. Будет напрасно крутиться.
Сначала думал поставить таймер и регулировать время включения. Например, каждый час по 10 минут. Но тут тоже, когда этого будет мало, а когда лишнее.
+
avatar
  • sim31r
  • 20 октября 2023, 09:34
+1
Лучше постоянный непрерывный шум, чем прерывистый. Только типа засыпаешь, а тут щелкнуло реле и взвыл мотор.
+
avatar
  • sim31r
  • 20 октября 2023, 09:36
+1
2000 нормальное значение, у вас самовнушение. Если хотите заморочиться еще можно борьбу с радоном устроить, некоторых основательно клинит на этой теме, радон виновен в 40% рака и т.п., углекислый газ на этом фоне детский сад :)
+
avatar
  • sim31r
  • 20 октября 2023, 09:52
0
в нужные моменты включает реле
Лучше сделать плавную регуляцию оборотов, как кулер у процессора. Минимум 10%, и далее по превышению СО2 на 100 ppm добавляется 10-30% к оборотам. Тогда не будет резкого включения, что неприятно для слуха и шум на самом возможном минимуме.
+
avatar
  • Mishakov
  • 20 октября 2023, 11:05
0
На практике установлено: постоянный шум достает. Поэтому у меня регулировка пределов срабатывания. Чтобы не постоянно крутился и комнату не вымораживал. В противном случае, установил бы диапазон 400-500 и не мучился. Ведь благотворное влияние свежего воздуха неоспоримо.
А вот на счет регулировки оборотов вы правы. Это было бы еще лучше. Я даже купил у алика простейший регулятор для эксперимента. Но, похоже, он регулирует с помощью ШИМа. В результате обороты уменьшаются, но звук становится громче и противнее.
Тут нужен регулятор, который понижает напряжение, но не изменяет плавность синусоиды. Не знаю, есть ли такой на электронных компонентах? А автотрансформаторы — слишком громоздко.
+
avatar
  • sav1812
  • 20 октября 2023, 11:38
0
Тут нужен регулятор, который понижает напряжение, но не изменяет плавность синусоиды. Не знаю, есть ли такой на электронных компонентах?
Поищите на Али по ключевым словам "частотный преобразователь".
+
avatar
  • sim31r
  • 20 октября 2023, 12:07
0
Для вентилятора на 5-10Вт это перебор. Имеет смысл если там под киловатт что-то.
+
avatar
  • sav1812
  • 20 октября 2023, 12:18
0
Не увидел ничего о мощности вентилятора. :)
Ну и для такого вентилятора обычный тиристорный фазовый регулятор вполне сгодится, если не думать о создаваемых им помехах. :))
+
avatar
  • sim31r
  • 20 октября 2023, 12:37
0
Помех быть не должно особо, нагрузка индуктивная сгладит броски напряжения.
+
avatar
  • sav1812
  • 20 октября 2023, 12:43
0
Если есть аудио- и/или радиоприёмная аппаратура, помехи будут, и заметные.
Но, в принципе, не проблема соорудить самому или раздобыть готовый LC фильтр.
+
avatar
  • sim31r
  • 20 октября 2023, 14:31
0
От китайского светильника помех будет больше. Вот там ставил фильтр на входе, шумел в сеть, а потом помехи на все провода дома наводились.
Помехи от тиристора могут быть на провода, которые идут вдоль силовых после тиристора. У меня так USB устройства отваливались, когда USB кабель шел вдоль силового 220В 1А на нагреватель 3D принтера, где тиристором мощность управлялась. Реле тоже иногда сбой вызывало. Твердотельное реле поставил и проблема ушла. 220В и USB шнур рядом друг другу не мешали.
+
avatar
  • aquahawk
  • 20 октября 2023, 12:01
0
вот регулятор cityron.ru/regulyatory-skorosti у меня 2 шт прошлой ревизии работают.
+
avatar
  • Mishakov
  • 20 октября 2023, 12:09
0
Все хорошо, только этот регулятор вдвое дороже всей моей системы.
+
avatar
  • aquahawk
  • 20 октября 2023, 12:17
0
согласен дорого, я кстати вашу систему не ругаю ни разу, а наоборот поддерживаю.
+
avatar
  • sim31r
  • 20 октября 2023, 12:06
+1
Дешево тиристорный регулятор, у меня в ванне на вытяжке стоит димер обычный, хватает на малых оборотах работы. Работает бесшумно, на глазок на 5% мощности вполне хватает, как только стронулся с места и не спеша крутит бесшумно.
Если тиристорный не подойдет, можно использовать полевой транзистор как резистор, на затвор небольшое напряжение, при 0В закрыт полностью, при 5-10В открыт полностью. На радиатор его и должно нормально работать.
+
avatar
  • Mishakov
  • 20 октября 2023, 12:41
0
А ссылку на эту модель не можете дать? Очень бы помогло.
+
avatar
+4
Я так понимаю ни bin, ни gerber файлов мы не увидим. Тогда какой же это diy? Попахивает джинсой п.18
+
avatar
  • berk
  • 19 октября 2023, 21:32
0
А что такое диайвай? Не путаете с опенсорсом?
+
avatar
+5
Не путаю. Как по мне diy — это do it yourself, те когда ваши устройства могут собрать (повторить) другие.

Open source — это когда есть исходники проекта и любой может не только собрать, но и допилить под себя. Как когда-то сделали вы, взяв за рыбу проекты koptserg. У вас же реклама под видом diy.

Пы.сы. Заметь я интересовался только bin и Gerber, не исходниками.
+
avatar
  • sav1812
  • 20 октября 2023, 13:20
0
когда ваши устройства могут собрать (повторить) другие.
Не обязательно, да и не всегда возможно: устройство, разработанное и собранное автором, по разным причинам может быть недоступно для повторения читателями.
+
avatar
  • jakki
  • 20 октября 2023, 09:53
+6
Поддержу предыдущего комментатора, тут уже не «сделай сам», а коммерческое решение, просто описана история создания.
+
avatar
  • berk
  • 20 октября 2023, 10:16
-2
dzen.ru/a/YG3dAt3K_HCpkwjQ

Diy потому что я делаю их сам, идея, разработка платы, корпуса, программного обеспечения, сборка. Всё в одно лицо.
+
avatar
+4
Таки да, но есть нюанс. Это diy для вас, а не для нас. Так же как и шуруповерт из Китая. Он diy для рабочего-китайца на фабрике. У вас же реклама под видом diy.

Вам больше подходит слово craft (крафт). Например, крафтовое пиво. Что не литературно можно привести как самодельное пиво. Пивовары-любители же не пишут на бутылках diy beer. Хотя… по вашей логике должны :) Понимаете?
+
avatar
  • FiX
  • 19 октября 2023, 20:43
0
По ссылке на Али не получается приобрести в Казахстан :(
+
avatar
  • berk
  • 19 октября 2023, 21:33
0
Можете в телеграмм. К вам доставка сдеком.
+
avatar
  • Zhenya88
  • 19 октября 2023, 22:28
0
Расскажите, почему нет одного прибора с VOC, co2, co и датчиком дыма?
Всё только порознь.
+
avatar
  • berk
  • 19 октября 2023, 22:39
0
Датчики дыма больше к охранным системам, а со2, вок это скорее про комфортный воздух. Но вок вполне не плохо детектирует дым.
+
avatar
  • tykur
  • 20 октября 2023, 07:15
0
Посмотрите здесь ссылка, ссылка
из описания:Wi-Fi комнатный детектор CO2 Монитор качества воздуха 5 в 1 тестер формальдегида HCHO TVOC тестер температуры и влажности
Гугл — Значение TVOC растут, если рядом находится источник, например, сигаретный дым, бытовые строительные различные краски, бытовой газ…
+
avatar
  • Zhenya88
  • 22 октября 2023, 10:55
0
Нет ни CO ни датчика дыма.
А то сейчас по три датчика разных стоят, хоть самому на Ардуино свой собирай.
+
avatar
  • denn333
  • 20 октября 2023, 07:59
0
Автор, а на наших маркетплейсах нет в продаже?
+
avatar
  • berk
  • 20 октября 2023, 10:03
0
На яндекс маркете пробовал, но там не удобно, в плане передачи заказов площадке, модет позже возобновлю. Но али уже давно наш отдельный, майл ру групп
+
avatar
  • MasterIT
  • 20 октября 2023, 08:30
0
Посмотрел видео у вас там датчик покаpывает 3000 PPM
Это датчик врет или что? При таком показателе можно и коней двинуть! Я очень чувствителен к качеству воздуха, особенно при работе. Мой интервал 500-800 PPM? при 1000 уже начинает голова болеть.

Так все же вопрос: датчик привирает или видео записывалось в газенвагене?
+
avatar
  • sim31r
  • 20 октября 2023, 09:44
+2
Это деструктивное самовнушение, которое где-то подцепили и несете другим ) Так же можно заморачиваться с пылью, типа много пыли по показаниям датчика я кашляю и задыхаюсь. Низкая влажность, вообще высох сразу. Низкая концентрация отрицательных ионов, легкие слиплись не могу вдохнуть. Радон проник в помещение, пылесосом прогнал воздух через фильтр и там зашкаливает радиация, надо блокировать радон в помещение полимерными пропитками. Есть еще формальдегиды.
И это только по теме воздуха. Есть еще вода, еда, индекс УФ, освещение, инфразвуковое загрязнение, синтетическая одежда, статика, электрические и магнитные поля, электромагнитные поля ))
+
avatar
  • berk
  • 20 октября 2023, 10:05
+1
Возьмите любой впш датчик в руки, а еще лучше минут 30 его поснимайте на смартфон, находясь рядом, удивитесь его показаниям :))
+
avatar
  • Caes
  • 20 октября 2023, 09:11
0
Давно смотрю с интересом на ваше уйстройство. А есть ли кулер в вашем девайсе? Почему спрашиваю — очень чувствителен к шуму. Потому продал всякие Сяоми и иже с ними.
+
avatar
  • berk
  • 20 октября 2023, 10:07
+1
В этом устройстве нет пм2.5. Но в другом есть. Я остановился на сенсоре от сенсирион, давно уже на тестах, вентилятор не слышно. Но раз ве что в режиме продува, 5 секунд раз в сутки, но и оно отключаемо
+
avatar
  • dark256
  • 20 октября 2023, 09:52
-1
«Приобрести iAQ можно тут.»

А можно такое же, но БЕЗ zigBee? :)
+
avatar
  • Mishakov
  • 20 октября 2023, 11:18
0
Без связи с исполнительным устройством это будет игрушкой на пару дней, как и все измерители влажности. Не рекомендую. Выброшенные деньги.
+
avatar
  • dark256
  • 20 октября 2023, 11:25
+1
Так как у меня нет умного дома, а самый обычный, поставлю перед носом и исполнительным устройством буду я сам :)
В принципе — уже нашел на Али всё, что хотелось и за меньшие деньги :)
Правда, без графика, которые мне так нравятся.
+
avatar
  • sim31r
  • 20 октября 2023, 12:29
+2
Я брал напрокат на пару дней такой датчик. Измерил в нескольких комнатах и далее результат можно в уме предсказывать достаточно точно. Минимальная вентиляция или открытая дверь в коридор решают все проблемы с СО2. Датчик действительно становится не нужен.
+
avatar
0
Что-то купона в теме не нахожу :)
+
avatar
0
Подскажите, плиз, будет ли работать Яндекс Алисой напрямую через Яндекс хаб?
+
avatar
  • berk
  • 25 октября 2023, 02:12
+1
Нет, яндекс хаб ничего не знает про кластер со2, про кластер времени и про многое другое. Пока это недоразумение, а не хаб. Вот всё что он знает yandex.ru/dev/dialogs/smart-home/doc/concepts/zigbee-devices.html#clusters
+
avatar
0
Жаль. Надеюсь, что в обозримом будущем допилят.
+
avatar
  • Kryzhik
  • 26 октября 2023, 23:34
-1
Не слишком дорого?
+
avatar
  • sav1812
  • 27 октября 2023, 01:33
0
«Надо брать!..» :)
+
avatar
  • mivo
  • 22 ноября 2023, 10:28
0
это значит, что у разработчика изделия закончились, а чтобы заново не индексировать товар он поднимает цену. Когда изделие будет в наличии, тогда цену он опускает до обычного уровня.
+
avatar
  • fxpester
  • 18 декабря 2023, 18:21
0
привет, а это еще живо? где можно пообщаяться и купить прибор?
+
avatar
  • berk
  • 18 декабря 2023, 20:16
0

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.