Wb-mqtt-serial templates: различия между версиями

Строка 89: Строка 89:


Ниже приведены примеры конфигурационных файлов для некоторых устройств Wiren Board, охватывающие весь основной список используемых параметров при создании шаблонов.
Ниже приведены примеры конфигурационных файлов для некоторых устройств Wiren Board, охватывающие весь основной список используемых параметров при создании шаблонов.
----


==== WB-MS-THLS v.2 ====
==== WB-MS-THLS v.2 ====
Строка 174: Строка 176:
Параметр '''"format": "s16"''' указывает на то, что число в регистрах представленов в виде знакового шестнадцатибитнного целого, '''"scale": 0.1''' — говорит о том, что полученное из регистров значение следует домножить на коэффициент масштабирования 0,1 для получения значения температуры, а параметр '''"error_value": "0x7FFF"''' задает значение, получаемое из регистра, указывающее на то, что при опросе датчика произошла ошибка. Такой параметр будет выделен красным цветом в Web-интерфейсе контроллера. Применять такой параметр следует, если вы знаете, какое значение выдает ваше устройство в случае ошибки.
Параметр '''"format": "s16"''' указывает на то, что число в регистрах представленов в виде знакового шестнадцатибитнного целого, '''"scale": 0.1''' — говорит о том, что полученное из регистров значение следует домножить на коэффициент масштабирования 0,1 для получения значения температуры, а параметр '''"error_value": "0x7FFF"''' задает значение, получаемое из регистра, указывающее на то, что при опросе датчика произошла ошибка. Такой параметр будет выделен красным цветом в Web-интерфейсе контроллера. Применять такой параметр следует, если вы знаете, какое значение выдает ваше устройство в случае ошибки.


----


==== WB-MRGBW-D ====
==== WB-MRGBW-D ====
Строка 302: Строка 306:


Серийный номер устройства (канал "Serial NO") считывается как беззнаковое 32-битное целое: <pre>"format": "u32"</pre>
Серийный номер устройства (канал "Serial NO") считывается как беззнаковое 32-битное целое: <pre>"format": "u32"</pre>
----


==== WBIO-DO-R10A-8 ====
==== WBIO-DO-R10A-8 ====
Строка 409: Строка 415:
  </pre>
  </pre>
</div>
</div>
В этом шаблоне следует обратить внимание на следующие параметры устройства.
<pre>
        "protocol": "modbus_io",
        "stride": 1000,
        "shift": 500,
        "max_read_registers": 0,
        "setup": [
</pre>
Параметр '''"protocol": "modbus_io"''' указывает, что устройство подключается оп специальному протоколу к модулю расширения. Параметры '''"stride": 1000''' и '''"shift": 500''' задают сдвиг регистров в зависимости от того, в каком порядке подключены модули к модулю расширения.
Сдвиг регистров (число, которое нужно добавить к базовому номеру регистра) вычисляется по формуле: <pre>Shift = (((SlaveId.Secondary - 1) % 4) + 1) * DeviceConfig()->Stride + DeviceConfig()->Shift;</pre>
Каждое подключенное устройство имеет порядковый номер (SlaveId.Secondary), начинающийся с 1 для первого устройства.
Например, подставляя значения shift и stride в формулу, получаем: <pre>Shift = ((( 1 - 1) % 4) + 1) * 500 + 1000 = (0+1)*500+1000=1500</pre>, то есть ко всем регистрам, указанным в шаблоне, надо добавить 1500.
Еще один важный параметр — setup-секция, массив
<pre>
        "setup": [            {
                        "title": "IODIR",
                        "address": 10000,
                        "value": "0x0000"
                    },
        {},
        ...]
</pre>
Он описывает регистры и значения, которые однократно заносятся в эти регистры при инициализации устройства. Его можно использовать для конфигурирования устройств для работы в каком-то определенном режиме, задавать изначальные значения яркости, положения сервоприводов, состояния реле, режима работы с входами релейных модулей и т. п.




5813

правок