Товары из Китая

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Windows

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

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

objcopy.exe --gap-fill 0xFF --pad-to 0x040000 -I ihex sonoff.hex -O binary sonoff.bin

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

Linux

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

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

objcopy --gap-fill 0xFF --pad-to 0x040000 -I ihex sonoff.hex -O binary sonoff.bin

Прошивка

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

Windows

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

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

CCLoader_x86_64.exe [COM#] sonoff.bin 0

Пример: с NodeMCU на COM6

CCLoader_x86_64.exe 6 sonoff.bin 0

Linux

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

  • cd to CCLoader/SourceCode/Linux
  • run
gcc main.c -o CCLoader

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

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

./CCLoader [port path] sonoff.bin 0

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

./CCLoader /dev/ttyACM0 sonoff.bin 0

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

Upload successfully!

File closed!
Comport closed!

Возможные проблемы

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

попробуйте использовать 1 вместо 0 в последнем параметре (./CCLoader [port path] sonoff.bin 1)

Переподключите NodeMCU и повторите попытку

Проверьте как подключены провода,… снова проверьте как подключены провода.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


СМОТРИ ТАКЖЕ

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *