|
|
Строка 883: |
Строка 883: |
| </pre> | | </pre> |
| По умолчанию предполагается формат big-endian. | | По умолчанию предполагается формат big-endian. |
|
| |
| ====MSU34+TLP, MSU24 и MSU21 и подобные устройства====
| |
|
| |
| Сайт производителя - http://www.razumdom.ru/
| |
|
| |
| Документация:
| |
|
| |
| [http://www.razumdom.ru/userfiles/file/Modbus/MSU21.pdf MSU21] [http://www.razumdom.ru/userfiles/file/Modbus/MSU24.pdf MSU24] [http://www.razumdom.ru/userfiles/file/Modbus/MSU34.pdf MSU34]
| |
|
| |
| Устройства выдают значения с датчиков через
| |
| input-регистры. Для значений температуры используются
| |
| 8-битные знаковые значения без расширения знака
| |
| на старшие 8 бит input-регистра, вследствие
| |
| чего для значений температуры в конфигурационном
| |
| файле необходимо указывать "format": "s8".
| |
|
| |
| Подключаемые к устройству датчики конфигурируются
| |
| через holding-регистры (см. описание). Для конфигурации
| |
| датчиков можно использовать команду <code>modbus_client</code>,
| |
| или сделать setup-секцию в конфигурации драйвера.
| |
|
| |
| Для установки адреса slave можно использовать скрипт
| |
| set-rd-address.sh. При этом необходимо убедиться, что к
| |
| порту RS-485 было подлкючено только то устройство,
| |
| у которого необходимо сменить адрес, затем выполнить
| |
| команду:
| |
| <pre>
| |
| set-rd.address.sh /dev/ttyNSC0 0x02
| |
| </pre>
| |
| Вместо 0x02 можно задать любой другой адрес
| |
| в диапазоне от 0 до 247 (0xf7).
| |
|
| |
| Пример конфигурации:
| |
| <div class="mw-collapsible mw-collapsed" style="width:500px; overflow: hidden;" >
| |
|
| |
| <pre>
| |
| {
| |
| "debug": false,
| |
| "ports": [
| |
| {
| |
| "path" : "/dev/ttyNSC0",
| |
| "baud_rate": 9600,
| |
| "parity": "N",
| |
| "data_bits": 8,
| |
| "stop_bits": 2,
| |
| "poll_interval": 10,
| |
| "enabled": true,
| |
| "devices" : [
| |
| {
| |
| "name": "MSU34+TLP",
| |
| "id": "msu34tlp",
| |
| "slave_id": 2,
| |
| "enabled": false,
| |
| "channels": [
| |
| {
| |
| "name" : "Temp 1",
| |
| "reg_type" : "input",
| |
| "address" : 0,
| |
| "type": "temperature",
| |
| "format": "s8"
| |
| },
| |
| {
| |
| "name" : "Illuminance",
| |
| "reg_type" : "input",
| |
| "address" : 1,
| |
| "type": "text"
| |
| },
| |
| {
| |
| "name" : "Pressure",
| |
| "reg_type" : "input",
| |
| "address" : 2,
| |
| "type": "text",
| |
| "scale": 0.075
| |
| },
| |
| {
| |
| "name" : "Temp 2",
| |
| "reg_type" : "input",
| |
| "address" : 3,
| |
| "type": "temperature",
| |
| "format": "s8"
| |
| }
| |
| ]
| |
| }
| |
| ]
| |
| }
| |
| ]
| |
| }
| |
| </pre>
| |
| </div>
| |
| Пример конфигурации MSU21 с секцией инициализации ("setup"):
| |
|
| |
| <div class="mw-collapsible mw-collapsed" style="width:500px; overflow: hidden;" >
| |
| <pre>
| |
| {
| |
| "name": "MSU21",
| |
| "id": "msu21",
| |
| "slave_id": 24,
| |
| "enabled": true,
| |
| "setup": [
| |
| {
| |
| "title": "Input 0 type",
| |
| "address": 1,
| |
| "value": 2
| |
| },
| |
| {
| |
| "title": "Input 0 module",
| |
| "address": 3,
| |
| "value": 6
| |
| }
| |
| ],
| |
| "channels": [
| |
| {
| |
| "name" : "Temperature",
| |
| "reg_type" : "input",
| |
| "address" : 0,
| |
| "type": "temperature",
| |
| "format": "s8"
| |
| }
| |
| ]
| |
| }
| |
| </pre>
| |
| </div>
| |
|
| |
| ====Четырёхканальный (RGBW) диммер светодиодов DDL24====
| |
|
| |
| Сайт производителя - [http://www.razumdom.ru/ www.razumdom.ru]
| |
|
| |
| Документация:
| |
| [http://www.razumdom.ru/userfiles/file/Modbus/DDL24.pdf DDL24]
| |
|
| |
| Устройство предназначено для управления светодиодными
| |
| лентами RGBW сигналами ШИМ или для управления приводами
| |
| сигналами 0-10 В.
| |
|
| |
| Управление осуществляется записью значений в
| |
| holding-регистры.
| |
|
| |
| Как и в случае с устройствами MSU*, адрес
| |
| modbus slave устанавливается командой
| |
| set-rd-address.sh.
| |
| <pre>
| |
| set-rd-address.sh /dev/ttyNSC0 0x17 0x00
| |
| </pre>
| |
| Здесь происходит установка slave-адреса
| |
| в 0x17. Дополнительное значение
| |
| 0x00 нужно, т.к. DDL24 использует для
| |
| конфигурации адреса holding-регистр 0x00,
| |
| а не 0x80, используемый скриптом set-rd-address.sh
| |
| по умолчанию.
| |
|
| |
| Пример конфигурации:
| |
|
| |
|
| |
| <div class="mw-collapsible mw-collapsed" style="width:500px; overflow: hidden;" >
| |
| <pre>
| |
| {
| |
| "name": "DDL24",
| |
| "id": "ddl24",
| |
| "enabled": true,
| |
| "slave_id": 23,
| |
| "channels": [
| |
| {
| |
| "name" : "Red",
| |
| "reg_type" : "holding",
| |
| "address" : 4,
| |
| "type": "range",
| |
| "max": 255
| |
| },
| |
| {
| |
| "name" : "Green",
| |
| "reg_type" : "holding",
| |
| "address" : 5,
| |
| "type": "range",
| |
| "max": 255
| |
| },
| |
| {
| |
| "name" : "Blue",
| |
| "reg_type" : "holding",
| |
| "address" : 6,
| |
| "type": "range",
| |
| "max": 255
| |
| },
| |
| {
| |
| "name" : "White",
| |
| "reg_type" : "holding",
| |
| "address" : 7,
| |
| "type": "range",
| |
| "max": 255
| |
| },
| |
| {
| |
| "name" : "RGB",
| |
| "reg_type" : "holding",
| |
| "address" : 8,
| |
| "type": "range",
| |
| "max": 100
| |
| },
| |
| {
| |
| "name" : "White1",
| |
| "reg_type" : "holding",
| |
| "address" : 9,
| |
| "type": "range",
| |
| "max": 100
| |
| },
| |
| {
| |
| "name" : "Voltage",
| |
| "reg_type" : "holding",
| |
| "address" : 18,
| |
| "type": "text"
| |
| }
| |
| ]
| |
| }
| |
| </pre>
| |
| </div>
| |