Zigbee sensors temperature

Zigbee-датчик температуры и влажности Sonoff SNZB-02: работа в Tuya Smart, интеграция в Home Assistant

В этом обзоре мы продолжим знакомится с бюджетной серией ZIgbee датчиков от Sonoff и героем этого обзора будет сенсор измеряющий температуру и влажность в режиме реального времени.

Содержание

Купить на Aliexpress — цена на момент публикации $ 8,49

Параметры

  • Модель: Sonoff SNZB-02
  • Протокол: Zigbee 3.0
  • Диапазон рабочих температур: -10 +40 С
  • Диапазон влажности: 10 — 90%
  • Элемент питания: CR2450
  • Размер: 43х43х14

Поставка

Поставляется датчик в стандартной для этой серии оранжевой коробке, оформление минималистично — изображение и название сенсора на фронтальной стороне и перечень основных параметров на задней стороне.

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

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

Внешний вид

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

На условно верхнем торце — находится кнопка, нажатие на которую служит для обмена данными с zigbee координатором, а удерживание — для перевода датчика в режим сопряжения.

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

На ней указан номер модели и тип используемого в датчике элемента питания — CR2450

Крышка открывается с небольшим усилием, под ней находится батарейный отсек. Чтобы избежать ненужного разряда, под батарейкой установлена предохранительная вставка, которую нужно удалить перед использованием.

В отличии от более распространенных датчиков такого типа, например от Mijia или Aqara где используется более компактный, но менее емкий элемент CR2032, в этом датчике установлена батарейка CR2450

Для правильного совмещения крышки с датчиком — на них нанесены символы в виде стрелки. Их нужно установить друг против друга и закрыть крышку.

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

Tuya Smart

В этом обзоре, в части поддержки стоковых приложений, я решил остановится только на Tuya Smart, ведь с Ewelink в принципе и так все понятно и эта система не имеет такого распространения как Tuya. Тем более поддержка датчиков Sonoff шлюзами и приложением Tuya Smart — не явна, о ней нигде не указано в документации.

В моем тесте используется проводной Zigbee шлюз для Tuya Smart от Moes. Процесс подключения аналогичен родным устройствам — заходим в меню шлюза, и нажимаем добавить подустройство.

После этого зажимаем кнопку на датчике пока светодиод, который будет видно с фронтальной стороны, не моргнёт трижды. Ждем пока приложение не покажет обнаруженный датчик.

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

В плагине датчика есть история измерения которую можно просмотреть в разрезе дня, месяца и года за все время его использования. Также есть опция включения уведомлений — правда где указаны параметры этих уведомлений, мне найти не удалось.

Автоматизации

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

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

Пример классической автоматизации которая будет включать розетку (например с радиатором отопления) при падении температуры в помещении ниже 20 С.

Zigbee2mqtt

Перейдем к работе датчика в Home Assistant, думаю что самый распространенный вариант интеграции для этого — zigbee2mqtt.

В примере датчик подключался к версии 1.17.1, успел еще до большого обновления на 1.18, используемый стик — CC2652 на прошивке от 11 февраля 2021 года, подробнее про интеграцию и стик смотрите в 5 части моих уроков по Home Assistant, ссылка на плейлист в описании.

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

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

Интеграция отдает 4 параметра — температура, влажность, уровень заряда батарейки и качества сигнала, эти же параметры будут пробрасываться в виде объектов в Home Assistant

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

В меню reporting zigbee2mqtt можно увидеть что минимальный интервал отчетов для температуры и влажности установлены как 5 и 10 секунд соответственно. Максимальный тоже отличается вдвое — 1800 и 3600 хотя несмотря на это — изменение по влажности происходит намного чаще.

Я попробовал повысить минимальный интервал до 3 минут, но к сожалению эта настройка не сохраняется, думаю что она вшита в логику работы датчика.

Вот так выглядит страница устройства в Home Assistant — четыре объекта соответствующие четырем значениям в zigbee2mqtt

SLS gateway

Конечно не обойду вниманием еще один популярный метод — это SLS шлюз, который в отличии от USB стика является сам по себе автономным устройством, но взаимодействующий с Home Assistant через MQTT

Датчик без проблем подключается, кстати сам по себе процесс подключения на SLS мне больше нравится чем в zigbee2mqtt — он гораздо нагляднее.

В остальном — все тоже самое, конечное устройство, поддержка полная от производителя и модель и до картинки датчика в интерфейсе.

Изначально уровня заряда в свойствах датчика не видно, но это особенность SLS, данные появляются по мере их получения. Как только датчик решит передать данные о заряде — они появятся и тут.

Аналогично, эти параметры пробрасываются через интеграцию MQTT в Home Assistant, объект уровня заряда появится одновременно с шлюзом.

Сравнение

Для сравнение я использовал показания датчика mijia — в течении всего теста датчики лежали максимально рядом друг с другом, так что можно утверждать что условия были идентичными.

За время наблюдений — показания температуры были всегда максимально близки, отличаясь не более чем 0,3 градуса, что касается влажности — то тут разница несколько больше около 2%, но помним что Sonoff гораздо чаще шлет обновления чем mijia. Форма графиков — тут данные за 36 часов, тоже в целом идентичны — оба датчика реагируют на изменение окружающей среды одинаково.

Видео версия обзора

Вывод

Подводя итоги, главным плюсом этого датчика можно назвать его бюджетность, аналоги стоят в полутора — два раза дороже. К условным плюсам можно отнести частоту передачи изменений — почему к условным, потому что это скорее всего будет влиять на автономность, я слышал свидетельства что батарейка живет в нем всего несколько месяцев, но подтвердить пока не могу. Минус — это размер и топорный дизайн, хотя это довольно субъективная оценка, да и разместить этот датчик можно в неприметном месте.

Источник

DIY Zigbee датчик температуры

Приветствую читателей Habr! В этой статье расскажу вам о своём очередном zigbee проекте беспроводного датчика. Проект называется Efekta THP_LR \ THP, это небольшой датчик измерения температуры и влажности воздуха на чипе СС2530. Есть несколько модификаций датчика, в одном из вариантов датчик дополнительно измеряет атмосферное давление . Ещё в одном варианте датчик работает на радиомодуле СС2530 с усилителем сигнала. В этом варианте возможна установка радиомодуля с печатной антенной или с выносной. Все модификации датчика работают на батарейках ААА, это обеспечивает длительный срок работы на одном комплекте батареек. Датчик предназначен для работы в сетях Zigbee. Проект с открытым исходным кодом.

Идея разработки этого датчика базировалась на потребности в недорогом датчике температуры для размещения на улице. Опыт использования готовых датчиков с Алиэкспресс на улице показал, что есть несколько нюансов, которые было бы здорово решить.

  • Батарейки, которые используются в готовых датчиках, очень плохо держат заряд при минусовых температурах.
  • Дальность передачи данных при использовании на улице тоже чаще недостаточна, приходилось где-то в доме и недалеко от уличного датчика размещать роутер.
  • Также очень важным моментом при разработке собственного diy датчика является софтовая часть, тут я сам могу решать, что, как и c каким временным интервалом датчик будет читать сенсоры и отправлять данные.

Плата датчика разрабатывалась в программе DipTrace, разработка заняла несколько дней. Плата датчика получился в размерах 29мм х 67мм. Место под напайку радиомодуля сделал универсальным, для возможности установки нескольких видов радиомодулей: EBYTE E18-MS1-PCB(200м), EBYTE E18-MS1PA2-PCB (800м), EBYTE E18-2G4Z27SI IPEX (2500м).

    Рабочая частота: 2400

2480 MHz;

  • Мощность передатчика: 4 dBm, с усилителем 20 dBm;
  • Чувствительность приёмника: -96.4 dBm, с усилителем -98 dBm;
  • Скорость передачи данных: 250kbps;
  • Протокол: ZigBee;
  • Энергонезависимая память: 256 KB;
  • Энергозависимая память: 8 KB;
  • Ядро: Микроконтроллер 8051;
  • Напряжение питания: 2.0 — 3.6V;
  • Потребление при передаче: 28mA, с усилителем 98mA;
  • Потребление при приёме: 27mA, с усилителем 36mA;
  • Потребление во сне: 1.2μA, с усилителем 2μA;
  • Диапазон рабочей температуры -40 — +85℃.
  • Для удобства сборки все электронные компоненты располагаются на одной стороне платы, за исключением держателя батарейки, который напаивается на обратную сторону платы. В проекте использовались цифровые сенсоры BME280, BMP280 и SHTC3. В первом варианте датчика использовался сенсор bme280, но из-за кризиса производства полупроводников и, как следствие, роста цен в дальнейшем в проект был добавлен сенсор BMP280. Это самый недорогой вариант, стоимость bmp280 на Али экспресс составляет примерно 40 рублей. Но данный сенсор измеряет только атмосферное давление и температуру, а хотелось ещё и влажность, поэтому позднее в проект был добавлен сенсор SHTC3.

    • Напряжение питания: 1.71V – 3.6V;
    • Интерфейс обмена данными: I2C или SPI;
    • Диапазон измерения атмосферного давления: 300hPa – 1100hPa (Arp ±0.12hPa), что эквивалентно диапазону от -500 до 9000 м над уровнем моря;
    • Диапазон измерения температуры: -40°С … +85°С (At ±0.5°С);
    • Диапазон измерения влажности: 0% … 100% (Arh ±3%);
    • Энергопотребление: режим измерений: 340 — 714uА; в спящий режим: — 0.1 uА.

    BMP280 (Bosch)

    • Напряжение питания: 1.71V – 3.6V;
    • Интерфейс обмена данными: I2C или SPI;
    • Диапазон измерения атмосферного давления: 300hPa – 1100hPa (Arp ±0.12hPa), что эквивалентно диапазону от -500 до 9000 м над уровнем моря;
    • Диапазон измерения температуры: -40°С … +85°С (At ±0.5°С);
    • Энергопотребление: режим измерений: 325 — 720uА; в спящий режим: — 0.1 uА.

    SHTC3 (Sensirion)

    • Напряжение питания: 1.62V – 3.6V;
    • Интерфейс обмена данными: I2C;
    • Диапазон измерения температуры: -40°С … +125°С (At ±0.2°С);
    • Диапазон измерения влажности: 0% … 100% (Arh ±2%);
    • Энергопотребление: режим измерений: 270 — 430uА нА; в спящий режим: — 0.3 uА.

    На плате установлен светодиод для индикации режимов работы: вход в сеть, выход из сети, отправка данных, две кнопки: кнопка сброса и пользовательская кнопка(вход в сеть, выход из сети, чтение и отправка данных не по расписанию), порт программирования.

    Датчик получился простой и лёгкий в изготовлении, время сборки датчика при ручной пайке составляет 10-15 минут, схема датчика состоит всего из 10 элементов, включая радиомодуль.

    Убедиться в этом вы можете, изучив схему проекта.

    Программная часть этого проекта доступна на моём github в виде исходного кода, а также в виде уже скомпилированной прошивки. Прошивка скомпилирована для варианта датчика с самым простым и дешёвым радио модулем EBYTE E18-MS1-PCB. Установлен интервал чтения сенсора один раз в минуту и отправка данных при изменении значений на 0.33 градуса для температуры, на 2.5 процента для влажности и на 1 единицу для атмосферного давления. Отправка информации об уровне заряда батареек происходит один раз в 6 часов.

    Для загрузки прошивки в радиомодуль может понадобиться СС Debugger, или SmartRF04EB это такая не очень дорогая платка которую можно купить на Али экспресс.

    Впрочем, прошить можно и через ардуино/есп, для этих целей написан удобный и бесплатный онлайн-сервис ZESP_multitool . Заходите на сайт, выбираете тип модуля, который планирует прошить, в нашем случае TI CCХХХХ. Справа в интерфейсе будет картинка с тем, что, как и куда подключать. Подключаете вашу ESP к USB порту, в интерфейсе сервиса выбираете make adapter и кликаете esp32adapter.json. Далее выбираете самый нижний пункт слева в интерфейсе — local и выбираете на своём компьютере прошивку, которую требуется загрузить в датчик.

    Исходные файлы проекта EFEKTA THP\THPLR Outdoor\Indoor sensor находятся папке /PROJECT SOURCE, это может быть интересно тем, кто хочет изменить какие-либо параметры работы датчика или, например, скомпилировать прошивку для радиомодуля с усилителем сигнала. Для такой настройки проекта необходимо переконфигурировать настройки проекта в файле /PROJECT SOURCE/THP/Source/preinclude.h, нужно закомментировать или, наоборот, раскомментировать нужные вам #define и в #define APP_REPORT_DELAY указать нужные вам значения времени в миллисекундах.

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

    Проект уже не новый, первую публикацию о проекте я разместил 1 ноября 2021 года на площадке hackaday.io . С того времени проект пережил несколько ревизий дизайна платы, был протестирован при минусовых температурах(до -20С) на улице, в помещении, и даже в морозильной камере (-24С). Датчик работает очень стабильно. Информация о датчике уже добавлена в проект z2m , так что внешний конвертер не нужен, также датчик отлично работает в zha.

    Гербер файлы проекта размещены в каталоге проектов на сервисе по заказу плат pсbway.com, сейчас (04.2022) это, наверное, единственный доступный сервис.

    Чтобы не потеряться, подписывайтесь на мой профиль на Habr и на Youtube канал. Также приглашаю в телеграмм чат DIYDEV, где можно почитать, как заказывать PCB в апреле 2022 года, как легче всего их оплачивать не потеряв лишних денег и как приобрести уже готовые мои датчики, если по какой-то из причин вы не сможете их самостоятельно собрать.

    Источник

    Adblock
    detector