Датчик CO2 Zigbee

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

На сегодняшний день есть несколько вариантов доступных датчиков для измерения уровня СО2, самым интересным является SenseAir S8. Его показания и будем выводить в сеть zigbee.

Схема выглядит так

Zigbee часть реализована на модуле E18-MS1PA1-PCB, кроме него на плате присутствуют собственно сам сенсор СО2 SenseAir S8 и два варианта датчиков температуры, это DS18b20 и более универсальный датчик BME280, позволяющий измерять температуру, влажность и  атмосферное давление.

Плата спроектирована в популярном форм-факторе «usb stick»можно распаять как micro USB так и USB-A разъем. Со стороны сенсора присутствует кнопка для запуска процесса принудительной калибровки и два светодиода для отображения пороговых значений. С обратной стороны так же находится сервисная кнопка, используется для запуска процесса подключения к сети и для принудительной отправки измеренных значений.

Сборка устройства не должна вызвать затруднений даже у людей с начальными навыками пайки, все элементы достаточно крупные, за исключением BME280.

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

Прошивку для этого устройства написал @anonymass, она имеет открытый исходный код и доступна здесь. Датчик поддерживается в z2m через внешний конвертер. Выглядит это так

так же реализована поддержка в SLS GatewayПо результатам теста обнаружилась высокая чувствительность SenseAir S8, сенсор оперативно реагирует на изменение уровня СО2. Для примера, ниже мой суточный график.

@anonymass для сравнения прислал свои графикиНа плату возможна установка сенсора MHZ19B, его поддержка появилась в последней версии прошивки.

Для желающих повторить файлы для заказа плат, ВОМ.

Запись опубликована в рубрике handmade, Железо с метками , , , . Добавьте в закладки постоянную ссылку.

Один комментарий на «Датчик CO2 Zigbee»

  1. Максим М говорит:

    Прошивку самостоятельно собирать 🙂 у меня главный вопрос запустится ли без распаянных элементов BME280 или DS18b20 ? и чем выдерживать зазор между платой и датчиком?

    • Jager говорит:

      Не надо ничего собирать, там есть релизы. Запустится конечно без температурных. Зазоры чем угодно, например с помощью этого

  2. Alex говорит:

    Кто-нить может кратко описать процесс сбора прошивки

  3. Павел говорит:

    Спасибо за ваш труд! Скажите пожалуйста какая толщина платы должна быть?

  4. polsik говорит:

    скачал я AirSense-master.zip и что дальше с ним делать в папке firmwares пусто

  5. lost говорит:

    Назначение SW1, SW2 и LED1, LED2, LED3 подскажите?
    SW1 — для джойна zigbee, предолагаю
    Один из LED для состоянии zigbee видимо.
    Расскажите плиз

    • lost говорит:

      Насколько я понял из кода:
      LED1 моргает при обращении к датчику CO2
      LED2 моргает если значение CO2 выше первой уставки, при этом LED3 отключен.
      LED3 моргает если значение CO2 выше второй уставки, при этом LED2 отключен.
      SW1 сброс и джойн
      А SW2 ?

  6. lost говорит:

    Разобрался:
    LED1 блинкает при обращении к датчику CO2.
    LED2 моргает если значение CO2 выше первой уставки, при этом LED3 отключен.
    LED3 моргает если значение CO2 выше второй уставки, при этом LED2 включен.
    SW2 сброс и джойн E18
    SW1 калибровка CO2

  7. Евгений говорит:

    Спасибо за ваши разработки.

    Появилось несколько вопросов:
    1) Будет ли версия платы под готовый модуль BME280 ? т.к текущий использованный датчик довольно сложно распаивать

    2) Если датчики не распаяны они будут отображаться либо при загрузке прошивка будет их искать и решать показывать или нет.

    3) почему SenseAir S8 решили развернуть стороной сенсора к плате ? это не влияет на показания?

    • Jager говорит:
      1. Нет, размеры платы не позволяют.
      2. Будут отображаться нулевые значения.
      3. Не влияет, зазора в 3-4мм более чем достаточно.
  8. assad говорит:

    Нужно ли что то дополнительно делать, чтобы работало в homeassistant. Со modkam stick v3?

    • Jager говорит:

      У меня нет НА поэтому точно сказать не могу, но если вы пробрасываете из z2m то все должно работать.

  9. Геннадий говорит:

    Думали использовать BME680 ? Он по пинам совместим. Имеет датчик содержания ЛОВ. Стоит на $6 дороже, не критично.

    • Jager говорит:

      Не вижу особого смысла измерять VOC, реагирует на все, вплоть до цитрусовых.

      • Геннадий говорит:

        Верно. Но если параметр растет а ты не ел апельсины, то есть повод подумать.
        Носом не все можно уловить. Иначе и СО2 был бы не нужен.

        • Jager говорит:

          С СО2 как раз все понятно, если он растет и его «чует» специализированный сенсор то надо принимать меры. В остальном, сценарии когда в доме может случайно оказаться некое вещество которое возбудит VOC сенсор мне кажется маловероятным.

  10. Alexa говорит:

    Было бы очень желанно получить возможность управлять диодом ws2812 с платки, чтоб самому сделать и настроить индикатор. Как-то реально это впилить в прошивку? Тогда можно парк устройств на ней сильно расширить.

  11. Всеволод говорит:

    А что Вы можете сказать про модули E18-MS1PA2-PCB? Китайца говорит, что это тоже самое, только лучше (обновлённая версия). Можно ли их паять во все проекты на E18-MS1PA1-PCB без каких-либо изменений прошивки?

    • Jager говорит:

      Это не тоже самое, они скрывают какой чип усилителя стоит в этом модуле. Скорее всего китайский клон сс2591, так как прошивка именно для этого чипа нужна для него. Почитать можно здесь.

      • Всеволод говорит:

        Т.е. надо переделывать прошивку на 91-й усилитель или лучше вообще не связываться т.к. 91-й хуже 92-го?

  12. Alex_ey говорит:

    Поделитесь плиз файлом Pick&Place нужен кроме BOM для заказа на jlcpcb.

  13. Vitaly говорит:

    Добрый день!
    А проектом формата Easyeda можно поделиться?
    и BME280 такой, я правильно понимаю?
    https://www.electronshik.ru/item/BOSCH/BME280

  14. Vitaly говорит:

    Прошу тапками не кидаться, просто не увидел инструкции по прошивке девайса. Где их можно посмотреть?

  15. Евгений говорит:

    По ссылке на датчик пишут что товар на картинке 1.14 версии, а присылают датчик 1.00 версии. Имеется ли разница в версии датчика для описываемого устройства?

    • Jager говорит:

      Я покупал именно по той ссылке что указана, какая там внутренняя версия меня мало интересует. Устройство соответствует даташиту и работает в устройстве прекрасно.

  16. Юрий говорит:

    Собрал с датчиками MH-Z19b и BME280 (BME модулем). Все работает в НА через SLS с последней прошивкой. Но иногда (раз в час-полтора) значение давления изменяется ровно на порядки (было 765,1 мм становится 7651. Может и 76510 стать). После перезапуска приходит в норму на какое-то время. Проблема именно в давлении. Остальные показатели норм. С чем может быть связано?

    • Jager говорит:

      Обновите прошивку сенсора СО2 до версии 2.0.0 и слс до последней.

      • Юрий говорит:

        Так и сделано. Прошивка сенсора 2.0.0 SLS Version: 2020.10.12d2. Проблема очень плавающая — может прыгнуть через пол часа, а может через полтора. И всегда кратно 10. И только давление.

  17. Igor говорит:

    Добрый вечер, хочу сделать управление кранами при утечки воды и подсоединить это к сети ZigBee. Собрал плату https://easyeda.com/editor#id=eb841c7f373e4be78a501e96c7dd1ea4|b67539266afd47689abbb8d006a49ea7 , но у меня не очень со схемотехникой и разводкой самой платы, я больше по софту. Можно ли с Вами автор связаться(телега, почта и т.д.) по поводу помощи в схемотехнике и разводке платы, с меня прошивка?

    P.S.: В основном у меня был опыт работы с STM32/Arduino/ESP32. Сейчас хочу сделать что-нибудь на ZigBee(СС2530)

Добавить комментарий