-
Notifications
You must be signed in to change notification settings - Fork 1
Home

После долгих экспериментов с разными устройствами для измерения и контроля СО2 и нескольких своих релизов я пришел к выводу, что есть ряд желаний/требований, которые хотели бы видеть почти все пользователи подобных устройств.
- использовать современный сенсор углекислого газа СО2 SCD40/41, чтобы не требовалась постоянная калибровка
- наличие сенсора летучих органических веществ VOC SGP40, это полезно особенно в детской комнате и после применения химических моющих средств
- для создания автоматизаций с отключением RGY led полезен сенсор освещенности
- нужна возможность подключения внешнего проводного сенсора 1Wire типа DS18B20
- как альтернатива сенсорам 1Wire реализовать подключение внешнего сенсора i2c типа SHT30/40
- нужен встроенный USB порт для возможности менять/корректировать прошивку устройства через него
- иметь такую платформу для разных сенсоров, которая даст пользователю свободу принимать решение, какие именно использовать
- самое главное условие, это устройство должно стабильно работать без конвертеров/квирков и т.п. на основных платформах умного дома (Home Assistant/ZHA, Zigbee2mqtt, HOMEd, SLS и даже Yandex)
Данный проект я сам использую в своем умном доме во всех спальнях. И на протяжении 2 лет он себя зарекомендовал только с положительной стороны. По мимолетному взгляду на датчик очень легко понять - требуется проветривать помещение или нет.
Вот так выглядит автоматическая сигнализация цветом о превышении установленных в прошивке PTVO пределов показаний сенсоров.
Описание элементов платы датчика:
- разъем питания и программирования USB Type-C
- 5х контактный разъем для подключения внешних проводных сенсоров 1Wire/I2C
- разъем для подключения платы сенсора CO2 SCD40/41
- площадка под плату сенсора CO2 SCD40/41
- 4х контактный разъем программирования Zigbee модуля с помощью программатора cJTAG
- JOIN системная кнопка - инициализация спаривания или принудительный репорт
- SBL системная кнопка - инициализация режима загрузчика прошивки
- RST системная кнопка - перезагрузка/переподключение Zigbee модуля
- зеленый, желтый, красный led индикаторы - для для сигнализации максимального значения выбранного сенсора
- синий led - для для сигнализации подключения и ошибки Zigbee сети
- цифровой сенсор освещенности BH1750
- цифровой сенсор летучих органических веществ VOC SGP40
- цифровой сенсор температуры и влажности SHTC3, он нужен обязательно для вычислений SGP40
Если требуется подключить внешний проводной сенсор, например DS18B20, в корпусе предусмотрены отверстия под кабель, а на плате предусмотрен 5х контактный разъем.
Я сделал две версии корпуса, они отличаются друг от друга только толщиной. Тот который больше предназначен для платы с установленным 5х контактным разъёмом для внешних сенсоров.
Warning
Сначала отключить питание датчика, потом разрешено подключение внешних сенсоров i2c или 1Wire!
Устройство рассчитано на питание через USB Type-C напряжением 5 вольт и ток потребления составляет не более 0.6А!
- Не 9-20 вольт, а именно 5 вольт!
- подойдет любая стандартная зарядка для телефона с выходом 5 вольт и током до 2 ампер
- пожалуйста, не используйте ново-модные скоростные автоматические зарядки
- при необходимости на плате предусмотрены 2 контакта под пайку для внешнего питания от 5 вольт
Перед спариванием устройства:
- расположите датчик температуры как можно ближе к координатору
- включите режим сопряжение (join) на координаторе
- подключите кабель питания к разъёму USB Type-C
Для инициализации режима спаривания устройства требуется сделать следующее:
- подайте питание и если устройство само сразу не начало интервью, то зажмите кнопку JOIN на 10+ секунд, как только интервью закончится перестанет моргать синий индикатор.
Если устройство не передает информацию или в last seen Вы видите что оно долго не откликается, произведите повторное спаривание.
Датчик полностью поддерживается в:
- ZIGBEE2MQTT(стандартный конвертер PTVO)
- ZHA(стандартные кластеры)
- HOMEd
- SLS HUB (228 конвертер PTVO)
- Yandex Zigbee HUB(поддерживается только температура и влажность)
Прошивка для данного датчика собрана в конфигураторе PTVO, а актуальный релиз программы PTVO тут Latest download
ВНИМАНИЕ! не забудьте при сборке новой прошивки проверить, что включен SBL, и активировать его на пин P15, иначе прошивка через USB не будет больше доступна! и исправить это можно будет только с помощью специального программатора.
- здесь можно скачать прошивку и конфиг файл для PTVO
Warning
Внимание: так как прошивка Premium версия, прошивать именно этот файл в устройство бесполезно - РАБОТАТЬ НЕ БУДЕТ!
И вот тут надо начать рассказывать, что такое PREMIUM и зачем он нужен в этом датчике.
Конфигуратор прошивок PTVO условно бесплатный, но при использовании расширенного функционала и сенсоров, которые доступны только в PREMIUM, придется покупать эти возможности. Как это сделать и что именно дает PTVO PREMIUM описано на сайте разработчика. В моем проекте через премиум стали доступны 16 каналов для выходов и датчик VOC SGP40. Но если не использовать логику управления LED индикаторами и не подключать SGP40, то PREMIUM не нужен.
А вот так в прошивке PTVO устроена логика управления LED индикацией и указаны пределы, ниже 999ppm , от 1000 до 1499ppm и от 1500ppm и выше. Первая группа это GPIO включения самих LED индикаторов G/Y/R, вторая группа это виртуальные групповые переключатели с логическим управлением и каждый управляет отдельным LED.
Если вам хочется/потребуется создать свое именное устройство, то PTVO позволяет это сделать. Но при этом потребуется сделать внешний конвертер для вашей системы умного дома.
Первый способ прошивки через встроенный USB-UART CH340 драйвер тут, с помощью программы GW Multi tool.
Второй способ прошивки через DEBUG JTAG контакты на плате.
Как прошивать с помощью программатора J-link V9-V11 описано в статье на сайте проекта МОДКАМ.
Для заливки своей прошивки в реле через USB требуется:
- отключить устройство от сетевого питания! (обязательно)
- зажать и не отпуская кнопку SBL подключить к USB, и далее залить прошивку с помощью программы GW Multi tool
после удачной прошивки Вы увидите вот такой результат
- можно ли подключить другие 1Wire сенсоры?
- да можно из списка поддерживаемых в конфигураторе PTVO
- можно ли подключать сенсоры I2C и какие?
- да можно из списка поддерживаемых в конфигураторе PTVO, но для этого понадобится использовать по 2 выхода на каждый отдельный сенсор
- сколько максимально можно подключить сенсоров?
- ограничение максимальное при использовании PTVO PREMIUM версии прошивки 16 каналов входов или выходов
- куда подсоединять внешние сенсоры?
- 1WIRE
- GND
- VCC 3,3v
- SCL i2c
- SDA i2c
- подробное видео о моем предыдущем релизе датчика CO2 от известного блогера Павла
- Gerber/BOM/схема/Firmware/3D-case для всех кто желает самостоятельно изготовить этот датчик
- полный открытый проект на EasyEDA
- Купить сделанные мной DIY Zigbee устройства
- Купить другие DIY Zigbee устройства
- Обсудить любые DIY Zigbee устройства
Note
Большая просьба, если Вы увидели ошибку или неточность в этом описании, сообщите мне о ней!