Распайка датчика температуры для sonoff

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 часов, тоже в целом идентичны — оба датчика реагируют на изменение окружающей среды одинаково.

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

Вывод

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

Источник

Датчик температуры SONOFF SNZB-02 — альтернативный взгляд.

Всем привет! В этой статье хочу поделиться с вами своим новым небольшим проектом.

Звездой этого проекта является датчик температуры и влажности воздуха SONOFF SNZB-02 от компании ITEAD. Этот датчик появился на рынке около 2 лет назад, это было по сути первой попыткой компании ITEAD войти в сегмент Zigbee устройств. Компанией была выпущена серия датчиков в количестве 4 штук и шлюз к ним.

Датчик SONOFF SNZB-02 построен на микроконтроллере cc2530 от компании Texas Instruments, сенсор измеряющий температуру и влажность установлен hdc1080, видимо ITEAD стремились всё сделать на компонентной базе от Texas Instruments.

С помощью настольной лампы, лупы и часа времени схема датчика была перенесена бумагу. Схема не замысловатая, линии интерфейса i2c от HDC1080 на этом датчике выведен на ножки p1.6 и p.17. Светодиод подключен к ножке p1.0 катодом. Кнопка подключена на ножку p2.0 c обвязкой подавляющий дребезг контактов. На плате разведено очень много контактных площадок, на схеме устройство они все отмечены. На фотографии ниже я выделил площадки к которым нужно подпаяться для перепрошивки устройства моей альтернативной прошивкой.

Процесс прошивки не должен вызвать каких то затруднений, места для подпайки проводов очень удобные. Для перепрошивки вам понадобится зайти на мой гитхаб и скачать файл с прошивкой. Далее вам понадобится программа SmartRF Flash Programmer версии 1. Как ее скачать и установить оставлю за рамками данной статьи, уверен интернет в этом поможет. Так же вам понадобится CC Debugger или Smart RF04E(рекомендуется из-за простоты подключения).




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

Процесс прошивки с помощью SmartRF Flash Programmer v1

Подпаиваете 5 проводов на площадки указанные на фото и подключаете эти провода на соответствующие подписанные контакты дебагера. Подключаете дебагер в usb порту компьютера, открываете программу SmartRF Flash Programmer v1. Правее поля в пункте Flash Image нажимаете на иконку «обзор» и выбираете файл прошивки скаченный ранее. В пункте Actions выбираете Erase и ниже нажимаете на кнопку Perform actions. После того как вы очистили чип, выбираете Erase and program том же в пункте Actions и снова нажимаете кнопку Perform actions.

Отпаиваете проводки, собираете датчик обратно в корпус, вставляете батарейку.

Процесс прошивки с помощью ESP8266

Подключите плату ESP8266 к компьютеру с помощью USB-кабеля для передачи данных и убедитесь, что она распознается системой.

Если не установлены необходимые драйверы для вашей платы:

Загрузите форк CCLoader от Jason2866, нажав Download ZIP, и распакуйте его в папку.

Прошейте ESP8266 (NodeMCU) предварительно скомпилированным CCLoader_Arduino.bin из Bin папки загруженного zip-файла, используя один из удобных вам инструментов для прошивки ESP8266, такой как: ESP Flasher, NodeMCU-pyflasher, esptool.py.

Подключите ESP8266 к датчику Sonoff как показано в таблице ниже.

Скачайте альтернативную прошивку с моего GitHub. Если файл открывается как текст, щелкните правой кнопкой мыши « Сохранить как… » и сохраните как sonoff.hex.

Скачать objcopy.exe с SourceForge и распакуйте. (Если objcopy.exe не запускается, вам нужно скачать libiconv и распаковать в ту же папку.)

Скопируйте файл альтернативной прошивки .hex в ту же папку и сконвертируйте его в .bin с помощью:

Переместите преобразованный .bin в папку CCLoader.

Установите binutils пакет с помощью менеджера пакетов (пример для Debian: sudo apt install binutils)

Скопируйте файл прошивки .hex в ту же папку и сконвертируйте его в .bin с помощью:

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

Используйте CCLoader_x86_64.exe или CCloader.exe из \Windows папки. Поместите подготовленный .bin в ту же папку, что и исполняемый файл CCLoader.

Команда для запуска процесса прошивки. Измените COM# на номер COM-порта, к которому подключен ваш ESP8266.

Пример: с NodeMCU на COM6
CCLoader_x86_64.exe 6 sonoff.bin 0

Сначала нужно скомпилировать CCLoader:

  • cd to CCLoader/SourceCode/Linux
  • run

Поместите подготовленный .bin в ту же папку, что и скомпилированный исполняемый файл CCLoader.

Команда для запуска процесса прошивки

./CCLoader [port path] sonoff.bin 0

Пример: с включенным NodeMCU/dev/ttyACM0

./CCLoader /dev/ttyACM0 sonoff.bin 0

Прошивка прошла успешно, если вы видите это:

Если перепрошивка не удалась или зависла на Request sent already! Waiting for respond.

попробуйте использовать 1 вместо 0 в последнем параметре (./CCLoader [port path] sonoff.bin 1)
Переподключите NodeMCU и повторите попытку
Проверьте как подключены провода,… снова проверьте как подключены провода.


Успешная прошивка в Windows выглядит так.

Отпаиваете проводки, собираете датчик обратно в корпус, вставляете батарейку.

Работа в сети Zigbee

Что бы добавить устройство в z2m, необходимо в вэб интерфейсе z2m нажать на кнопку разрешить подключения. После этого нажать и удерживать кнопку на датчике SONOFF SNZB-02 в течение 2 секунд, начнет мигать светодиод и должен начаться процесс входа в сеть.

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

Что изменится в работе датчика.

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


Так же датчик начнет поддерживать работу с кластером oNoFF. Это может пригодиться для прямого управления реле. Для этих целей в датчике реализован простой функционал термостата и гигростата. Для прямого управления датчиком внешними реле необходимо привязать датчик к реле с которым он будет работать. Для этого необходимо перейти на страницу датчика в вэб интерфейсе з2м, перейти на вкладку связь. И в новой строке в первом поле выбрать исходную точку -1, в следующем поле правее в выпадающем списке найти реле к которому планируете привязать датчик. Далее правее в чек боксе oNoFF поставить галочку и нажать на кнопку Связать. После нажать на кнопку на корпусе датчика, что бы датчик проснулся и принял новые конфигурационные данные.

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

Ну и последний функционал в этой альтернативной прошивке это установка интервала сна, по умолчанию установлен интервал в 5 минут. Доступный диапазон от 1 минуты до 1 часа.

Проект открытый, исходные файлы проекта, прошивка, схема размещены на моем гитхаб

Мой телеграмм чат DIY DEV(вход охраняет привратник, вспоминайте математику ;))

Источник

Adblock
detector