Skip to content

Latest commit

 

History

History
338 lines (219 loc) · 21.7 KB

faq_rus.md

File metadata and controls

338 lines (219 loc) · 21.7 KB

FAQ

Вопрос: Какое оборудование необходимо для шлюза на 2530

Ответ: Подборка с Aliexpress для сборки шлюза без пайки:

  1. Модуль ESP32 16Mb Flash 8Mb SRAM для прошивки по OTA или Модуль ESP32 c 4Mb flash для прошивки без OTA
  2. Модуль CC2530 без усилителя но с внешней антенной
  3. Отладчик СС Debugger для прошивки модуля CC2530
  4. Набор проводов

Вопрос: Какое оборудование необходимо для шлюза на 2538?

Ответ: Подборка с Aliexpress для сборки шлюза с минимумом пайки (только проводки):

  1. Модуль ESP32 16Mb Flash 8Mb SRAM для прошивки по OTA или Модуль ESP32 c 4Mb flash для прошивки без OTA
  2. Модуль CC2538 с усилителем СС2592
  3. Программатор J-Link V9
  4. Набор проводов

Вопрос: Чем шлюз на базе сс2538 лучше сс2530?

Ответ: Модули TI на базе cc2530, cc2531 имеют ограничение по количеству прямых связей (до 10-15 шт, в зависимости от прошивки) и имеют ограниченное количество доступной памяти. SDK, поддеживаемый данными модулям в настоящее время устарел. Эти проблемы решены на новых чипах сс2538 и сс2652r Модули cc2538 могут иметь 100 прямых или 200 непрямых (через роутеры) подключений. Скорость обработки комманд на обновленных чипах существенно увеличена.

Вопрос: Есть ли отличия в работе шлюза на чипов от TI и NXP?

Ответ: существенно отличается SDK.

Вопрос: Можно ли приобрести готовое оборудование?

Ответ: В настоящее время распространяются опытные образцы по индивидуальным завявкам. После отладки всего процесса, приобрести готовое оборудование можно будет в интернет магазине.

Вопрос: Какую прошивку выбрать для модуля ZigBee

Ответ: Все зависит от того какой у вас модуль и усилитель. Прошивка должна быть обязательно основана на Z-Stack 3.0.

Для прошивки через CC Debugger:

Прошивка для модуля CC2530 без усилителя

Прошивка для модуля CC2530 с усилителем СС2591

Прошивка для модуля CC2530 с усилителем СС2592

Для прошивки через J-Link: Прошивка для модуля CC2538 с усилителем СС2592

Вопрос: Как прошить ESP32

Актуальная инструкция

Для первоначальной прошивки:

1. Загрузить архив с прошивальщиком (full) 
2. Подключить ESP32 к компьютеру через USB
3. Запустить прошивку через Flash.bat
4. Иногда батник неверно определяет порт, тогда можно дописать в батник --port COM7

Для дальнейшего обновления:

1. Загрузить архив с актуальной версией прошивки 
2. Распаковать его в любую папку
3. В веб интерфейсе выбрать на странице Update файл firmware.bin
4. Нажать Start update.

Вопрос: Как прошить CC2530

Ответ: Инструкция

Вопрос: Как прошить CC2538

Ответ: Инструкция 1 Инструкция 2

Прошивка для модуля CC2538 с усилителем СС2592

Вопрос: Как добавлять устройства.

Ответ: Есть два способа:

  1. Включить режим присоединения на странице ZigBee в веб-интерфейсе (кнопка Start Join)
  2. Можно послать значение true / false в топик ZigBeeGW/bridge/config/permit_join

Вопрос: Как добавлять новые устройства Zigbee.

Ответ: SLS Zigbee BLE шлюз автоматически сопрягается с устройствами Zigbee. После сопряжения оно появляется в списке устройств на вкладке Zigbee. Зеленым цветом помечены устройства, уже имеющие конвертер, и с которыми работа уже протестирована. Красным помечены устройства, для которых конвертер пока отсутсвует. Вы можете помочь с добавлением устройства, предоставив скриншоты страницы устройства и лог сопряжения на страницу ISSUE проекта. Открываете новую тему добавление нового устройства с названием устройства.

Вопрос: Как задавать правила SimpleBind

Ответ: Есть два формата записи:

  1. DstDeviceId
  2. Cond, DstDeviceId, DstStateName, DstStateValue (Разделение запятыми, пробелы допускаются) где: • Cond - значение при котором будет выполняться правило • DstDeviceId - Идентификатор устройства которому будем отправлять команду • DstStateName - Имя состояния которое будем отправлять • DstStateValue - Значение которое будем отправлять Перед значением в поле Cond можно использовать знаки сравнения. (>, <, =, !, >=, <=, !=, <>) Можно использовать несколько правил, разделяя их точкой с запятой. Примеры: • single, lamp_1, state, TOGGLE - Для кнопки, при одиночном нажатии переключает режим lamp_1 • ON, 0x00158D00007350D9, state, OFF; OFF, 0xABCD, state, ON - Для выключателя, инвертирует режим для реле • single, door_lock, state, LOCK; double, door_lock, state, UNLOCK - Закрывает замок при клике, открывает при двойном • torsher_lamp - Передает в torsher_lamp текущее состояние • <40, humidifier, state, ON; >60, humidifier, state, OFF - Для датчика влажности, включает увлажнитель если влажность меньше 40% и выключает если больше 60%

Пример: left, PTVO, state_bottom_left, TOGGLE; right, PTVO, state_bottom_right, TOGGLE

Вопрос: Как задать цвет лампочке или RGB контроллеру

Ответ: Необходимо отправить в состояние color json объект содержащий один из вариантов задания цвета:

  1. В родном формате CIE 1931: {"x": 0.8, "y": 0.04}
  2. В формате RGB: {"r": 0, "g": 255, "b": 0}
  3. В формате RGB HEX: {"hex": "#RRGGBB"}
  4. Тон, насыщенность: {"hue": 23525, "saturation": 80}
  5. Тон: {"hue": 1665}
  6. Насыщенность: {"saturation": 220}

Пример: Отправка в топик ZigBeeGW/0x00158D00011D8CB1/set значения: {"color":{"r":0,"g":255,"b":0}}

Вопрос: Как задать цветовую температуру лампочке

Ответ: Необходимо отправить в состояние color_temp значение в Майред единицах измерения. Формула для преобразования: M = 1000000 / K где K - температура в Кельвинах.

Пример: Цветовая температура 4000К, задаем в ZigBeeGW/lamp_1/set/color_temp значение 250

Вопрос: Как управлять аппаратными светодиодами?

Ответ: Необходимо отправить в JSON значение в топик ZigBeeGW/led следующего содержания: {"mode":"manual","hex":"#FFFFFF"}

mode - устанавливает режим, допустимы значения off, manual и auto hex - значение цвета в RGB Hex формате.

Вопрос: Как включить режим сопряжения боковой кнопкой шлюза?

Ответ: При нажатии кнопки на шлюзе запускается скрипт btn_sw1.lua

В коде скрипта необходимо написать следующий код:

zigbee.join(255, "0x0000")

Вопрос: Что означают цифры в этапах сопряжения

Ответ:

0 - получен анонс, запускается интервью

1 - получено описание устройства

2 - получено количество активных эндпоинтов

3 - получены кластеры устройства

4- получена модель

Многие устройствя Xiaomi сами репортят модель, поэтому работают без завершения всего цикла интервью.

Вопрос: Как добавить новое неподдерживаемое устройство Zigbee?

Ответ: Многие устройства могут быть добавлены удаленно разработчиками проекта SLS ZGW. Вероятность добавления новых устройств увеличивается при наличии конвертера в zigbee2mqtt

Также неоспоримым приемуществом для добавления нового устройства является протокол взаимодействия в z2m. Его можно получить из zigbee2mqtt в режиме дебага zigbee следующей комбинацией:

cd /opt/zigbee2mqtt 
DEBUG=zigbee-herdsman:zStack:* npm start

Далее необходимо выполнить нужные действия с устройством и сохранить вывод экрана. Данные сообщения можно добавить в issue или с помощью сервиса pastebin

Вопрос: Как получить журнал работы через UART.

Ответ: Иногда приходится сталкиваться с перезагрузками, причину которых выявить можно только подключив шлюз через uart. В подключенный последовательно порт прошивка SLS ZGW посылает примерно ту же информацию, что и в журнал web. Но в последнем вы не увидите ошибку, которая вызывала перезагрузку.

Ubuntu linux

В операционной системе Linux драйвер ch340 обычно включен в модуль ядра. Поэтому после подключения шлюза, в системном логе по команда dmesg можно увидеть номер порта шлюза в системе. Обычно это /dev/ttyACM1 или /dev/ttyUSB0.

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

stty -F /dev/ttyUSB0 115200 -cstopb -oddp -opost raw -echo

Далее запускаем команду записи данных порта в файл

cat /dev/ttyUSB0 > slslog.txt

Windows

В операционной системе Windows, подключенный с распаенным ch340 шлюз при наличии установленного драйвера будет виден как последовательный COM порт. Подключившись к нему через putty, можно наблюдать за журналом работы шлюза.

Используйте скорость подключения 115200.

Возможно ваш понадобится драйвер.

Для того, чтобы можно было журнал сохранить файл, необходимо:

  1. Выбираем Session ->Logging ставим чекпоинты как показано на рисунке (выбираем All session output):

2-putty

  1. В поле «Log file name » указываем путь в папку где будут хранится файлы и название файла пишем &H-&Y&M&D-&T.log:

3-putty

&H-&Y&M&D-&T.log — Это :

&H – Имя хоста (IP Address )

&Y&M&D – Год,Месяц, День созданного файла

&T – Время подключения к устройству.

Название файла будет выглядеть вот так : 192.168.1.1-20151116-135505.log

Соответственно файл сохранится по пути : D:\

Windows, альтернативный вариант

бор лога sls под widows без putty проверял под windows 10

sls.bat

for /f "tokens=2 delims==" %%a in ('wmic OS Get localdatetime /value') do set "dt=%%a"
set "YY=%dt:~2,2%" & set "YYYY=%dt:~0,4%" & set "MM=%dt:~4,2%" & set "DD=%dt:~6,2%"
set "HH=%dt:~8,2%" & set "Min=%dt:~10,2%" & set "Sec=%dt:~12,2%"

mode com4 115200,n,8,1
type com4: >> "d:\sls\log\%YYYY%-%MM%-%DD%_%HH%-%Min%-%Sec%".log"
pause

Вопрос: на какой скорости ESP32 общается с СС2538

Ответ: скорость 115200.

Вопрос: на какой скорости ESP32 общается с UART

Ответ: скорость 115200.

Вопрос: Каким образом можно включить режим сопряжения на отдельном узле (роутере)

Ответ: Необходимо отправить в топик ZigBeeGW/config/permit_join данные следующего содержания: {"duration": 3, "target": "0x00158D00007357B6"}

Вопрос: возможные проблемы сопряжения устройств

  1. Недостаточноый заряд батареи. Батарею мжно заменить на новую, сопряч и вернуть старую. В таком виде устройства иногда работают больше года. Новая батарея нужна только для сопряжения.
  2. Неправильный сброс устройства. Необходимо обратиться к официальной инструкции на устройство и убедиться, что вы правильно переводите устройство в режим сопряжения.
  3. Режим сопряжения. Проверить, включен ли режим сопряжения. Это можно сделать в вашем клиенте MQTT, либо в разделе Zigbee на Web странице контроллера.

Вопрос: Какие настройки необходимо выполнить после первого включеия?

Ответ:

  1. Настроить параметры сети WiFi через встроенную точку доступа.
  2. После перезагрзки найти новое устройство в сети и прописать параметры mqtt и настройки Zigbee модуля: Zigbee UART RX 22, Zigbee UART TX 23, Button Mode 33 + PullUp, Led Red 4, Led Green 5, Led Blue 21
  3. В меню выбрать Zigbee reset.
  4. После перезагрузки на главной странице можно будет увидеть
Zigbee info
Zigbee PanId: 0x1234
Zigbee Channel: 26
Zigbee DeviceState: 9 [ OK ]

Описание некоторых настроек модуля

Zigbee -> Cache states

Отправка кешированных данных. Например, если датчик температуры и влажности прислал только температуру, при выбранном пункте, в сообщении будет отправлено значение и температуры и кешированное значение влажности. Если пункт не выбран - в сообщении придет только температура. Кэш записывается во флеш память каждые 30минут. По умолчанию включено.

Zigbee -> Clear states

Передавать "пустое" значение состояния click и actions, после отправки. Необходимо для систем, которые могут выполнять обработку только при изменении значения, а не при обновлении. По умолчанию включено.

Вопрос: Существует ли формула пересчета напряжения в проценты?

Ответ: В zigbee2mqtt для преобразования батареек CR2032 используется следующая формула для пересчета:

Из даташита барареек Panasonic:

Сергей Коптяков сгенерил график:

Вопрос: Как переключить шлюз в режим точки доступа WiFi?

Ответ: Нужно зажать кнопку на 3-5 сек при подаче питания

hw

Данный функционал работает, только если вы заранее прописывали gpio кнопки, как на скрине выше.

Программная перезагрузка координатора

С помощью lua можно выполнить программную перезагрузку координатора

gpio.mode(18, gpio.OUTPUT)
gpio.write(18, 0)
os.delay(100)
gpio.write(18, 1)
os.restart()

Програмное переназначение типа устройства

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

zigbee.SetModel("0xXXXXXXXX", "ptvo.switch")

где 0xXXXXXXXX - IEEE адрес устройства, "ptvo.switch" - zigbeename устройства, которое поддерживается шлюзом.

Данный функционал будет полезен пользователям генератора прошивок ptvo, кто самостоятельно изменит имя устройства на кастомное.