Приобрести можно тут: http://alii.pub/5za725
Или тут: http://alii.pub/5za768
Прежде чем приступить к материалу, я Вас попрошу, если нравится то, что я делаю и хотите следить за моей деятельностью, то рекомендую подписаться на мой телеграмм канал: https://t.me/ypavla
Там я публикую новости о вышедших видео, статьях и разные устройства для умного дома и не только показываю.
Спасибо за внимание, теперь продолжим.
В этой статье речь пойдет о датчике углекислого газа CO2 MH-Z19B.
Для чего нужно измерять CO2 в помещении? Как известно, человек выдыхает углекислый газ. И чем больше углекислого газа в атмосфере, тем хуже человек себя чувствует. Вот пример допустимых значений в помещении:
Собственно датчик MH-Z19B измеряет эти самые PPM в атмосфере.
Минимальные значения которые датчик измеряет это 400ppm. Нам этого достаточно, так как меньше 400 ppm это уже где-то в лесу в дали от дорог. А в городе 400ppm – это норма.
Максимальные значения которые измеряет датчик 6000ppm. Но я думаю если такой фон будет, то мало нам не покажется и будет невыносимо. Выше , да даже такой уровень измерять смысла нет.
Описание:
Модель продукта: MH-Z19B
Размер (Д * Ш * В): 33 х 20 х 9 мм
Целевой газ: CO2
Рабочее напряжение: 3,6 ~ 5,5 В постоянного тока
Средний ток: <18 мА
Уровень интерфейса: 3,3 В
Диапазон измерения: 0 ~ 0,5% VOL опционально
Выходной сигнал: UART / PWM
Время разогрева: 3 мин.
Время отклика: T90 <60 с
Рабочая температура: 0 ~ 50 ° C
Рабочая влажность: 0 ~ 95% относительной влажности (без конденсации)
Продолжительность жизни:> 5 лет
Функции:
1. Высокая чувствительность, высокое разрешение.
2. Режимы вывода: UART и PWM волна.
3. Защита от водяного пара. Отсутствие отравления.
4. Температурная компенсация, отличный линейный выход.
5. Низкое энергопотребление, хорошая стабильность и длительный срок службы.
6. Он широко используется в системах охлаждения HVAC и мониторинге качества воздуха в помещениях.
ESPHome.
Для ESPHome существует интеграция под названием “mhz19” . Найти описание можно по этой ссылке: https://esphome.io/components/sensor/mhz19.html
Мой код в ESPHome выглядит следующим образом:
uart:
rx_pin: 33
tx_pin: 32
baud_rate: 9600
sensor:
- platform: mhz19
co2:
name: "MH-Z19 CO2 Value"
temperature:
name: "MH-Z19 Temperature"
update_interval: 60s
id: my_mhz19_id
automatic_baseline_calibration: false
На что тут нужно обратить внимание? ну во первых, то что у нас данные передаются по UART, по этому задаем пины rx и tx esp микроконтроллера.
Далее можем изменить интервал обновлений, у меня стоит 60 секунд. Графа update_interval: 60s
Меньше ставить смысла нет, так как из характеристик видно, что частота показаний 60-90 секунд.
Также бывает что датчик сбит и показывает не верные показания. Для этого нам потребуется калибровка. За это отвечает строчка automatic_baseline_calibration: false
Собственно стоит значение “false” – это значит что калибровка выключена. Если поставим “True”. То нам необходимо будет устройство выставить на улицу на 24 часа. И через 24 часа устройство от калибруется. Оно возьмет самое минимальное значение и приравняет его к 400ppm.
Согласитесь 24 часа держать датчик на улице даже просто за окном, довольно проблематично, а иногда и опасно, если пасмурно и может пойти дождь. Я выставил так датчик и даже не дождался окончания и датчик MH-Z19
так и не от калибровался :(.
Но существует и другой вариант, более быстрый. И на мой взгляд он больше всех подходит нам.
Нужно добавить в код несколько строк, чтоб в сумме получилось таким образом:
uart:
rx_pin: 33
tx_pin: 32
baud_rate: 9600
sensor:
- platform: mhz19
co2:
name: "MH-Z19 CO2 Value"
temperature:
name: "MH-Z19 Temperature"
update_interval: 60s
id: my_mhz19_id
automatic_baseline_calibration: false
switch:
- platform: template
name: "MH-Z19 ABC"
optimistic: true
on_turn_on:
then:
- mhz19.calibrate_zero: my_mhz19_id
Собственно тут добавляется блок “Switch” который добавит кнопку. При нажатии на которую, у нас датчик сбросит текущие значения на 400ppm.
Для применения данного метода, нам нужно датчик поместить в среду 400ppm(улицу) на 20 минут, чтоб данные “устаканились”. И после этого нажать на кнопку и данные прировняются к 400ppm. Я так его и калибровал.
Кнопка калибровки добавится в интеграции Home Assistant вместе с значениями температуры и наличия CO2.
ДА, датчик еще может измерять температуру, но она совсем посредственная. Так-как датчик нагревается для измерения CO2, по этому в помещении температура обманывает на пару градусов в большую сторону.
Home Assistant.
Ну а как добавить этот датчик подключенный таким способом к ESPHome в Home Assistant. Тут все как обычно.
Заходим в Настройки->Интеграции-> Добавляем новую интеграцию ESPHome и введя ip адрес нашей ESPшки к которой подключен MH-Z19B. И все интеграция добавится.
В системе Home Assistant это все будет видеться как MH-Z19 CO2 Value
, MH-Z19 Temperature
и кнопка калибровки MH-Z19 ABC
соответственно. И выглядит это так:
Ну а так это все выглядит при добавлении во вкладку “Обзор”:
Собственно для калибровки флажок нужно включить и значения прировняются к 400ppm. Только имейте ввиду, что датчик обновляется с интервалом 60-90 секунд. Так что при нажатии кнопки подождите минутку и все значения поменяются.
Ну а пользуясь табличкой выше, мы можем теперь после калибровки понять, когда нам лучше всего проветривать помещение, чтоб наша продуктивность выросла в разы 😉
На этом у меня все. Надеюсь кому-то это было полезным.