Перейти к содержанию

Навигация

RS-485:Configuration via Web Interface: различия между версиями

м
(не показаны 23 промежуточные версии этого же участника)
Строка 1: Строка 1:
<languages/>
<translate>
</translate>
{{DISPLAYTITLE:Начальное конфигурирование устройств через веб-интерфейс}}
{{DISPLAYTITLE:Начальное конфигурирование устройств через веб-интерфейс}}
<translate>
Информацию о том, как проложить шину RS-485 и подключить к ней устройства, читайте на странице [[RS-485|RS-485]].
<!--T:1-->
Общую информацию по подключению устройств RS-485 к контроллеру смотрите на странице [[Special:MyLanguage/RS-485|RS-485]].


=== Настройка порта ===  
== Смена уровня доступа к веб-интерфейсу ==
{{Wbincludes:WebUI Change Access Level}}


<!--T:3-->
== Настройка порта ==
Зайдите на страницу ''Configs'' [[Special:MyLanguage/Веб-интерфейс Wiren Board|веб-интерфейса]], щёлкните по пункту ''/etc/wb-mqtt-serial.conf'' (''serial'' - название последовательных портов, RS-485 относится к ним), либо выберите пункт ''Serial Device Driver Configuration'' в левой панели интерфейса.  
Откройте веб-интерфейс и перейдите в раздел '''Settings''' '''Configs''' '''Serial Device Driver Configuration'''.


Откроется страница настройки последовательных портов. В левой части выберите порт, к которому вы подключили устройство. Порты названы по терминологии Linux - ''/dev/ttyXXXN''; чтобы понять, как называется используемый вами, смотрите [[Wiren_Board_5:_%D0%90%D0%BF%D0%BF%D0%B0%D1%80%D0%B0%D1%82%D0%BD%D1%8B%D0%B5_%D1%80%D0%B5%D0%B2%D0%B8%D0%B7%D0%B8%D0%B8|Wiren Board: Аппаратные ревизии]].
В левой части выберите порт, к которому вы подключили устройство. Для настройки порта нужно установить галочку '''Enable port''' и указать параметры подключения:
{|class="wikitable" style="text-align:left"
! Параметр, EN
! Параметр, RU
! Значение по умолчанию
|-
| Baud rate
| Скорость
| 9600
|-
| Parity
| Четность
| N
|-
| Data bits
| Биты данных
| 8
|-
| Stop bits
| Количество стоп-бит
| 2
|}


Установите настройки порта: скорость (бит/с), количество бит в пакете, есть ли бит чётности, количество стоп-битов - эта информация указана в документации к периферийному оборудованию. Затем обязательно поставьте галочку ''Enable port'' - ''Включить порт'' (с помощью этой настройки порт можно отключить, если какое-нибудь оборудование на нём начнёт сбоить).<br>'''N.B.''' Если вы подключаете несколько устройств к одному порту контроллера, эти настройки у них должны совпадать.  
Значение параметров можно взять из документации на оборудование. В колонке «По умолчанию» указаны заводские параметры для подключения к оборудованию Wiren Board.
<!--T:6-->
 
К одному порту можно подключить несколько устройств, но в этом случае параметры подключения на всех устройствах должны совпадать.
 
После указания настроек подключения можете продолжить редактирование других параметров или нажмите кнопку '''Save''' вверху страницы для сохранения изменений.


<gallery mode="packed" heights="300px">
<gallery mode="packed" heights="300px">
File:rs-485-setup-configs.png|thumb|center|500 px
Image: webui2. Settings → Configs.png | Выберите ''Serial Device Driver Configuration''
File:rs-485-setup-select-port.png|center|500 px|На скриншоте выбран порт Wiren Board 5, подписанный на корпусе как ''RS-485''
Image: webui2. Settings → Configs → Serial Device Driver Configuration.png | Выберите нужный serial-порт, включите его и укажите настройки подключения: ''Baud rate'', ''Parity'', ''Data bits'', ''Stop bits''
File:rs-485-setup-port-settings.png|thumb|center|500 px|Установлены настройки для релейного [[Special:MyLanguage/WB-MRM2|WB-MRM2]]
</gallery>
</gallery>


=== Добавление устройств === <!--T:7-->
== Добавление устройств ==
[[File:modbus_address_mr14.png|250px|thumb|right|Modbus-адрес, установленный на производстве]]


Перейдите к разделу ''List of devices'' - ''Список устройств'' ниже. Нажмите кнопку ''+ Serial Device'', чтобы добавить устройство. Выберите тип устройства (обычно соответствует модели устройства) и укажите его адрес (обычно указывается  документации к устройству, для устройств нашего производства указан на корпусе, на наклейке — в десятичном формате).
Чтобы добавить устройство в веб-интерфейс, перейдите в [[#Настройка порта | настройках порта]] в раздел '''Devices attached to the port''' и нажмите кнопку '''+Device'''.


Адрес устройства указывается либо в шестнадцатеричном виде (начинается с ''0x..''), либо в десятичном (как обычное число). Затем обязательно нажмите синюю кнопку ''Save'' - ''Сохранить'' вверху страницы.
Для всех устройств Wiren Board и некоторых устройств сторонних производителей, в поставке ПО контроллера Wiren Board есть шаблоны, которые облегчают настройку устройства. Список поддерживаемых сторонних устройств можно посмотреть в таблице [[Поддерживаемые_устройства#Протестированные устройства сторонних производителей | Протестированные устройства сторонних производителей]], если у устройства есть шаблон, то он будет указан в колонке «Драйвер / название шаблона».
[[File:rs-485-setup-device-settings.png|thumb|center|500 px|Выбран тип устройства [[Special:MyLanguage/WB-MRM2|WB-MRM2]] и установлен десятичный адрес ''130'']]


=== Проверка работы === <!--T:9-->
Modbus-адрес (Slave id) устройств Wiren Board устанавливается с завода и указан в наклейке на корпусе устройства. Если адрес был изменен и вы его не знаете — его можно [[Определение и изменение Modbus-адреса устройств Wirenboard | определить или назначить новый]].
 
=== Устройство с шаблоном ===
Если у подключаемого устройства есть шаблон, то это облегчает настройку:
# В поле Device N, где N — порядковый номер устройства в списке, выберите в выпадающем списке шаблон устройства.
# Укажите его адрес в поле '''Slave id'''.
# Сохраните изменения в настройках — нажмите кнопку '''Save''' в верхней части окна.
 
=== Устройство без шаблона ===
 
Если шаблона вашего устройства нет в списке, вы можете добавить устройство вручную или [[Wb-mqtt-serial templates | составить свой шаблон]] и загрузить его на контроллер.
 
Чтобы подключить устройство без шаблона:
# Выберите шаблон <code>Custom device</code>.
# Укажите его адрес в поле '''Slave id'''.
# Опишите каналы устройства:
#* Нажмите кнопку '''Properties'''.
#* Установите флажок '''Custom channels'''.
#* В описании устройства появится раздел ''Custom channels''.
#* Теперь нужно добавить пользовательский канал, для этого в разделе '''Custom channels''' нажмите на кнопку '''+Channel'''.
#* Введите имя контрола в веб-интерфейсе и другие параметры канала.
# Сохраните изменения в настройках — нажмите кнопку '''Save''' в верхней части окна.
 
<gallery mode="packed" heights="300px">
Image: webui2. Serial Device Driver Configuration. Add new device.png | Нажмите кнопку ''+Device'', чтобы добавить новое serial-устройство</code>
Image: webui2. Serial Device Driver Configuration. WB-MSW3.png | Веб-интерфейс: основные настройки датчика [[WB-MSW v.3]]
</gallery>


<!--T:10-->
== Проверка работы ==
Чтобы проверить работу устройства, перейдите на страницу ''Devices''. На ней должен появиться блок, соответствующий подключённому устройству. В нашем примере появился блок ''WB-MRM2 130'' (шаблон названия - ''ТИП_УСТРОЙСТВА АДРЕС'') с двумя кнопками для управления реле, двумя индикаторами входов для кнопок и счётчиками нажатий. Можно нажать на кнопку - реле на подключённом устройстве переключится. [[File:rs-485-setup-device-connected.png|thumb|center|500 px|Отображение подключённого устройства [[Special:MyLanguage/WB-MRM2|WB-MRM2]] с адресом ''130'' на странице ''Devices''. Можно нажимать кнопки и управлять реле на устройстве]]
Проверить работу [[#Добавление устройств | добавленного в веб-интерфейс]] устройства можно на вкладке '''Devices''', после [[#Добавление устройств | добавления устройства в веб-интерфейс]] на ней появится блок с этим устройством. Если вашего устройства там нет — проверьте [[#Настройка порта | параметры подключения]] и адрес самого устройства.


=== Добавление виджета === <!--T:11-->
<gallery mode="packed" heights="300px">
Image: webui2. Serial Device Driver Configuration. Save config.png | Перед переходом на вкладку ''Devices'' не забудьте сохранить настройки
Image: webui2. Devices WB-MSW3.png | Датчик [[WB-MSW v.3]] в веб-интерфейсе на вкладке ''Devices''
</gallery>


<!--T:12-->
== Дополнительные параметры устройства ==
'''Для версии веб-интерфейса 1.x'''
Дополнительные параметры устройства передаются устройству при перезапуске [[Wb-mqtt-serial driver | wb-mqtt-serial]] или при восстановлении связи с устройством.


<!--T:13-->
=== Параметры, указанные в шаблоне (parameters-секция) ===
Чтобы добавить кнопку управления на главную страницу ''Home'' и назвать её соответственно назначению (например, ''Свет в коридоре''), нужно создать виджет (''Widget''). Для этого нужно перейти на страницу ''Widgets'' и нажать зелёную кнопку ''Add widget''. Затем нужно ввести параметры виджета: имя (так он называться в интерфейсе), комнату (группу, к которой привязан виджет; используется для упорядочивания, когда виджетов много - если мало, можно выбрать любую), и тип виджета - в нашем случае реле управляет освещением, поэтому выбираем ''Light Control Relay''. После этого появляется ещё одна опция - нужно выбрать, какому именно устройству соответствует виджет. Все доступные устройства выбранного типа показываются в списке, их имена даны в соответствии с терминологией [[Special:MyLanguage/MQTT|MQTT]]. В завершении нажимаем кнопку ''Submit'' - новый виджет появится на странице ''Widgets''. [[File:rs-485-setup-add-widget.png|thumb|center|500 px|Создание виджета для управления светом на основе Реле 1 подключённого устройства [[Special:MyLanguage/WB-MRM2|WB-MRM2]]]]
Если в шаблоне заполнена parameters-секция, то при выборе шаблона в настройках устройства появится раздел '''Device options''', который будет содержать указанные в [[Wb-mqtt-serial templates#Секция параметров (parameters-секция) | шаблоне параметры]].


=== Дополнительные параметры устройства === <!--T:14-->
По умолчанию все параметры отключены и для передачи на устройство их нужно включить. Чтобы включить параметр, установите флажок напротив названия.


<!--T:15-->
После сохранения настроек включенные параметры будут записаны в устройство.
Настройка дополнительных параметров устройства осуществляется через кнопку ''Properties''. В выпадающем меню можно вывести дополнительные поля конфигурации устройства.
[[File:Web-Interface-Device-Props.png|thumb|center|700 px| Настрорйка отображения дополнительных параметров]]Для инициализации определенных регистров устройства перед началом работы используется setup-секция (List of setup commands). В качестве примера запишем значение 0 в holding-регистр релейного модуля WB-MR14, чтобы задать режим управления кнопкой без фиксации для всех входов модуля. Щелкаем на кнопке ''Properties'' и устанавливаем флажок ''List of setup commands''. Ещё раз щелкаем на кнопке ''Properties'', чтобы скрыть выпадающий список. Нажмем кнопку Save и убедимся, что модуль работает в режиме управления кнопочными выключателями. У устройства появится раздел '''List of setup commands'''. Нажимаем на кнопку '''+Setup command''' и перейдем к созданию setup-команды. Мы должны указать название команды, номер Modbus-регистра и инициирующее значение. '''Setup-инициализация выполнятся однократно после загрузки драйвера.''' 


<gallery mode="packed" heights="200px">
<gallery mode="packed" heights="300px">
File:Setup-section.png|thumb|center|Добавляем раздел setup-секции устройства
Image: webui2. WB-MR14 Device Options in template (parameters-section).png | Параметры инициализации устройства (parameters-секция) в файле шаблона
File:Setup_commands_list.png|thumb|center|Добавляем раздел setup-секции устройства
Image: webui2. WB-MR14 Device Options.png | Параметры инициализации устройства (parameters-секция) в веб-интерфейсе
</gallery>
</gallery>


=== Настройка периода опроса === <!--T:16-->
=== Пользовательские параметры ===
[[File:Channel_name_address.png|500px|thumb|right|Фрагмент описания канала устройства из файла шаблона из директории /usr/share/wb-mqtt-serial/templates]]
Если у устройства нет шаблона или в шаблоне не указаны нужные вам настройки инициализации, то вы можете добавить пользовательские параметры прямо из веб-интерфейса:
# Нажмите в описании устройства кнопку '''Properties'''.
# Поставьте флажок '''Custom setup commands'''. После этого появится раздел ''Custom setup commands''.
# В разделе '''Custom setup commands''' нажмите кнопку '''+Setup command'''.
# Заполните поля:
#* Command name — имя команды. Используется для записи в журналы и отладки.
#* Address — адрес регистра, куда записывать значение.
#* Value — значение, которое нужно записать для инициализации устройства.


<!--T:17-->
После внесения изменений сохраните настройки.
Драйвер ([https://github.com/contactless/wb-homa-drivers/tree/master/wb-mqtt-serial wb-mqtt-serial]) позволяет определять с какой скоростью будут опрашиваться те или иные каналы устройства. Этот параметр называется Desired poll interval и задается в миллисекундах. Общий для всех интервал опроса задается параметром Desired poll interval в конфигурации порта. Если этот параметр не будет переопределен в других устройствах или других каналах, то для каждого канала будет использоваться именно это значение. Если скорость опроса задана для какого-то конкретного устройства, то для всех каналов этого устройства будет использоваться именно она, опять-таки, если для какого-то канала не задан свой интервал опроса. Приоритет интервалов выглядит таким образом: канал-> устройство -> порт. Например, если у нас есть несколько входов релейного модуля, критичных ко времени срабатывания, для них мы можем задать минимальный интервал в 1 мс. По умолчанию в веб-интерфейсе отсутствует поле для изменения этого свойства - его надо добавить. Сначала указываем канал, свойство которого мы хотим переопределить, для чего щелкаем по кнопке '''+Item'''. Имя контрола и его адрес можно узнать в файле шаблона устройства.


В поле Control name мы подставляем значение переменной "name", Address - "address". Соответственно заполняем поля Control type и Register type. Щелкаем по кнопке Properties соответствующего канала и ставим флажок в поле Desired poll interval (ms), как показано на рисунке.
<gallery mode="packed" heights="300px">
Image: webui2. Device Custom setup commands.png | Включение отображения пользовательских команд инициализации
Image: webui2. WB-MR14 No contacts.png | Создание пользовательской команды инициализации реле [[WB-MR14 Modbus 14 Channel Relay Module | WB-MR14]]
</gallery>


Для сохранения нажимаем кнопку Save в верхней части страницы.
== Вложенные устройства ==
Некоторое оборудование на каждом канале имеет вложенные устройства, например, [[MAI11| WB-MAI11]]. Для того чтобы в веб-интерфейсе отобразились вложенные устройства, они должны быть [[Wb-mqtt-serial templates#Вложенные устройства (subdevices) | описаны в шаблоне]].
 
Вложенные устройства отображаются в разделе ''Channels'', но в отличие от каналов, могут содержать свои setup- и parameters-секции, а также каналы.


<gallery mode="packed" heights="300px">
<gallery mode="packed" heights="300px">
File:Channel_props_poll.png|400px|thumb|center|Добавляем свойство интервала опроса для канала устройства
Image: Config, Device, Nested devices in channels. Template.png | Вложенные устройства в шаблоне WB-MAI11
File:Channel_settings.png|600px|thumb|center|Набор полей, определяющих свойства конкретного канала. Поле Desired poll interval (ms) определяет интервал между двумя опросами параметра
Image: webui2. Config, Device, Nested devices in channels.png | Вложенные устройства в веб-интерфейсе
</gallery>
</gallery>
</translate>
 
== Настройка периода опроса ==
Общий для всех устройств период опроса задается параметром ''Desired poll interval'' в настройках порта. Вы можете переопределить период опроса для порта, каждого устройства или канала. Например, вы можете изменить период опроса входов реле, что сократит время срабатывания.
 
=== Порт ===
Если интервал опроса не задан явно, то он равен 20 мс для всех устройств, подключенных к порту.
 
Вы можете задать свой период опроса устройств, для этого нужно включить отображение поля ''Desired poll interval'' и указать значение:
# Нажмите на кнопку '''Properties''' в описании serial-порта.
# Отметьте флажок '''Desired poll interval'''. В описании порта появится одноименное поле.
# Введите в поле '''Desired poll interval''' значение в миллисекундах.
 
После сохранения настроек устройства, подключенные к этому порту будут опрашиваться с заданным интервалом.
 
<gallery mode="packed" heights="300px">
Image: webui2. Config, Port, Desired poll interval visible.png | Включение отображения опции ''Desired poll interval''
Image: webui2. Config, Port, Desired poll interval.png| Настройка периода опроса serial-порта <code>/dev/ttyRS485-1</code>
</gallery>
 
=== Устройство ===
 
Если интервал опроса не задан явно, то он берется из настроек serial-порта.
 
При необходимости, вы можете переопределить период опроса устройства, установленный в параметрах serial-порта. Для этого нужно включить отображение поля ''Desired poll interval'' и указать нужное значение:
# Нажмите на кнопку '''Properties''' в описании устройства.
# Отметьте флажок '''Desired poll interval'''. В описании устройства появится одноименное поле.
# Введите в поле '''Desired poll interval''' значение в миллисекундах.
 
После сохранения настроек устройство будет опрашиваться с заданным интервалом.
 
<gallery mode="packed" heights="300px">
Image: webui2. Device Desired pool interval.png | Включение отображения опции ''Desired poll interval''
Image: webui2. WB-MR14 Desired pool interval.png | Настройка периода опроса реле [[WB-MR14 Modbus 14 Channel Relay Module | WB-MR14]]
</gallery>
 
=== Канал ===
Помимо периода опроса устройства целиком, можно задать индивидуальный период опроса каждого канала в отдельности, для этого в описании каждого канала есть поле ''Poll interval'':
# Перейдите в описание устройства и разверните группу '''Channels'''.
# Найдите поле '''Poll interval''' и введите значение в миллисекундах для каждого канала.
 
После сохранения настроек канал будет опрашиваться с заданным интервалом. Значение по умолчанию — 20 мс.
 
<gallery mode="packed" heights="300px">
Image: webui2. Config, Device, Channels collapsed.png | Разверните список каналов
Image: webui2. Config, Device, Channels.png | Для каждого канала укажите нужное значение в поле ''Poll interval''
</gallery>
 
== Полезные ссылки ==
* [[Wb-mqtt-serial driver| Описание драйвера wb-mqtt-serial в нашей вики]]
* [[Wb-mqtt-serial templates| Описание шаблонов и примеры]]