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

Материал из Wiren Board
Строка 48: Строка 48:
#Чтобы добавить кнопку управления на главную страницу ''Home'' и назвать её соответственно назначению (например, ''Свет в коридоре''), нужно создать виджет (''Widget''). Для этого нужно перейти на страницу ''Widgets'' и нажать зелёную кнопку ''Add widget''. Затем нужно ввести параметры виджета: имя (так он называться в интерфейсе), комнату (группу, к которой привязан виджет; используется для упорядочивания, когда виджетов много - если мало, можно выбрать любую), и тип виджета - в нашем случае реле управляет освещением, поэтому выбираем ''Light Control Relay''. После этого появляется ещё одна опция - нужно выбрать, какому именно устройству соответствует виджет. Все доступные устройства выбранного типа показываются в списке, их имена даны в соответствии с терминологией [[MQTT]]. В завершении нажимаем кнопку ''Submit'' - новый виджет появится на странице ''Widgets''. [[File:rs-485-setup-add-widget.png|thumb|center|400 px|Создание виджета для управления светом на основе Реле 1 подключённого устройства [[WB-MRM2]]]]
#Чтобы добавить кнопку управления на главную страницу ''Home'' и назвать её соответственно назначению (например, ''Свет в коридоре''), нужно создать виджет (''Widget''). Для этого нужно перейти на страницу ''Widgets'' и нажать зелёную кнопку ''Add widget''. Затем нужно ввести параметры виджета: имя (так он называться в интерфейсе), комнату (группу, к которой привязан виджет; используется для упорядочивания, когда виджетов много - если мало, можно выбрать любую), и тип виджета - в нашем случае реле управляет освещением, поэтому выбираем ''Light Control Relay''. После этого появляется ещё одна опция - нужно выбрать, какому именно устройству соответствует виджет. Все доступные устройства выбранного типа показываются в списке, их имена даны в соответствии с терминологией [[MQTT]]. В завершении нажимаем кнопку ''Submit'' - новый виджет появится на странице ''Widgets''. [[File:rs-485-setup-add-widget.png|thumb|center|400 px|Создание виджета для управления светом на основе Реле 1 подключённого устройства [[WB-MRM2]]]]


 
== Работа с портом RS-485 из собственного ПО ==
=== Низкоуровневая работа с портом RS-485 в Wiren Board ===
Смотрите инструкцию [[Драйвер wb-homa-modbus#Конфигурационный файл]]. Если вы хотите работать с портом RS-485 самостоятельно, не используя [[Драйвер wb-homa-modbus]], то сначала проверьте, что в файле <code>/etc/wb-homa-modbus.conf</code> нет конфигурации для этого порта  - иначе стандартный драйвер будет писать в этот порт. Также ознакомьтесь с инструкцией [[Работа с последовательным портом из Linux]]. Также смотрите [[Доступ к RS-485 портам с PC]].
Для этого смотрите инструкцию [[Драйвер wb-homa-modbus#Конфигурационный файл]].
 
Если вы хотите работать с портом RS-485 самостоятельно, не используя [[Драйвер wb-homa-modbus]], то сначала проверьте, что в файле <code>/etc/wb-homa-modbus.conf</code> нет конфигурации для этого порта  - иначе стандартный драйвер будет писать в этот порт. Также ознакомьтесь с инструкцией [[Работа с последовательным портом из Linux]]. Также смотрите [[Доступ к RS-485 портам с PC]]


== Реализация портов в разных версиях Wiren Board ==
== Реализация портов в разных версиях Wiren Board ==

Версия 17:30, 11 февраля 2016

RS-485 - стандарт коммуникации по двухпроводной шине. К порту RS-485 контроллера Wiren Board можно подключать периферийные устройства.

Какие устройства можно подключать к Wiren Board по RS-485

К контроллеру можно подключать устройства с интерфейсом Modbus нашего производства, счётчики Меркурий и Милур, а также некоторые другие устройства, в том числе работающие по протоколу Modbus.

Полный список протестированных устройств: Поддерживаемые устройства#Подключаемые по RS-485.

Как физически подключить устройства

Прокладка шины

Все устройства RS-485 устанавливаются на одну шину. Хотя шина работает по двум проводам, удобно прокладывать четырёхжильным кабелем - дифпара для данных (сигналы А и В) и ещё пара проводов (GND и +12V) для питания периферийных устройств на шине. Можно использовать обычную витую пару CAT5 для Ethernet - тогда одна пара используется для данных, ещё две — для питания (так как по питанию идёт значительный ток, лучше и для 12В, и для земли использовать по отдельной паре), одна пара остаётся свободной.

Важно: при подключении внешних устройств к Wiren Board по шине RS-485, нужно соединять не только линии передачи данных A и B, но и земли (общий провод) контроллера Wiren Board и внешних устройств. Подключение общего провода необходимо в случае подключения к неизолированному порту RS-485 и рекомендуется в случае подключения к гальванически изолированному порту. Клемма общего провода обозначается, в зависимости от оборудования, как SC, SG, G, GND, ground или reference. На контроллерах Wiren Board эта клемма обозначена как GND. При подключении к изолированному порту, нужно подключаться к изолированной земле данного порта (клеммы "GND iso").

При большой длине шины, в конце шины нужно установить терминальный резистор (примерно 150 Ом, подробнее в Википедии).

Подключение устройств

Наконечники для шины
Подключение шины RS-485 к Wiren Board 4 (в центре)

Так как соединение осуществляется общей шиной, следует обратить внимание на качественное соединение всех узлов линии:

  • при обрыве линии устройства за обрывом не будут работать
  • при коротком замыкании не будут работать все устройства.

Рекомендуем использовать штыревые наконечники под обжимку. Это позволяет легко подключать-отключать устройства без потери работоспособности остальных устройств на шине.

Провод A на всех устройствах подключается к клеммнику с маркировкой А, провод B - всегда к B. На Wiren Board 4 рядом с клеммниками А и В расположены клеммники GND и Vout - можно сразу подключить шины питания (сначала проверьте требования к питанию ваших устройств!).

Лайфхак: так как внутри Wiren Board стоит растяжка линий, после подключения его к шине напряжение на линии A будет больше чем на B примерно на 0.5 В. Поэтому подключая периферийные устройства вы легко можете определить линии шины вольтметром.

Дополнительная информация

  1. Дифференциальная линия дает хорошую помехозащищенность. Длина линии до 1200 метров.
  2. При прокладке шины нужно соблюдать определённые правила, но для передачи в одной квартире подойдёт любой кабель и даже возможны ответвления.

Настройка из веб-интерфейса

  1. Зайдите на страницу Configs, щёлкните по пункту /etc/wb-mqtt-serial.conf (serial - название последовательных портов, RS-485 относится к ним).
    Rs-485-setup-configs.png
  2. Откроется страница настройки последовательных портов. В левой части выберите порт, к которому вы подключили устройство. Порты названы по терминологии Linux - /dev/ttyXXXN; чтобы понять, как называется используемый вами, смотрите #Реализация портов в разных версиях Wiren Board.
    На скриншоте выбран порт Wiren Board 5, подписанный на корпусе как RS-485
  3. Установите настройки порта: скорость (бит/с), количество бит в пакете, есть ли бит чётности, количество стоп-битов - эта информация указана в документации к периферийному оборудованию. Затем обязательно поставьте галочку Enable port - Включить порт (с помощью этой настройки порт можно отключить, если какое-нибудь оборудование на нём начнёт сбоить).
    N.B. Если вы подключаете несколько устройств к одному порту контроллера, эти настройки у них должны совпадать.
    Установлены настройки для релейного WB-MRM2
  4. Перейдите к разделу List of devices - Список устройств ниже. Нажмите кнопку + Serial Device, чтобы добавить устройство. Выберите тип устройства (обычно соответствует модели устройства) и укажите его адрес (обычно указывается документации к устройству, для устройств нашего производства указан на корпусе). Адрес устройства указывается либо в шестнадцатеричном виде (начинается с 0x..), либо в десятичном (как обычное число). Затем обязательно нажмите синюю кнопку Save - Сохранить вверху страницы.
    Выбран тип устройства WB-MRM2 и установлен десятичный адрес 130
  5. Чтобы проверить работу устройства, перейдите на страницу Devices. На ней должен появиться блок, соответствующий подключённому устройству. В нашем примере, появился блок WB-MRM2 130 (шаблон названия - ТИП_УСТРОЙСТВА АДРЕС) с двумя кнопками для управления реле, двумя индикаторами входов для кнопок и счётчиками нажатий. Можно нажать на кнопку - реле на подключённом устройстве переключится.
    Отображение подключённого устройства WB-MRM2 с адресом 130 на странице Devices. Можно нажимать кнопки и управлять реле на устройстве
  6. Чтобы добавить кнопку управления на главную страницу Home и назвать её соответственно назначению (например, Свет в коридоре), нужно создать виджет (Widget). Для этого нужно перейти на страницу Widgets и нажать зелёную кнопку Add widget. Затем нужно ввести параметры виджета: имя (так он называться в интерфейсе), комнату (группу, к которой привязан виджет; используется для упорядочивания, когда виджетов много - если мало, можно выбрать любую), и тип виджета - в нашем случае реле управляет освещением, поэтому выбираем Light Control Relay. После этого появляется ещё одна опция - нужно выбрать, какому именно устройству соответствует виджет. Все доступные устройства выбранного типа показываются в списке, их имена даны в соответствии с терминологией MQTT. В завершении нажимаем кнопку Submit - новый виджет появится на странице Widgets.
    Создание виджета для управления светом на основе Реле 1 подключённого устройства WB-MRM2

Работа с портом RS-485 из собственного ПО

Смотрите инструкцию Драйвер wb-homa-modbus#Конфигурационный файл. Если вы хотите работать с портом RS-485 самостоятельно, не используя Драйвер wb-homa-modbus, то сначала проверьте, что в файле /etc/wb-homa-modbus.conf нет конфигурации для этого порта - иначе стандартный драйвер будет писать в этот порт. Также ознакомьтесь с инструкцией Работа с последовательным портом из Linux. Также смотрите Доступ к RS-485 портам с PC.

Реализация портов в разных версиях Wiren Board

Модель контроллера Название порта в Linux Разъём на контроллере Примечание
Wiren Board 5 /dev/ttyAPP1 Подписан RS-485, клеммники A и B Неизолированный порт, установлен терминатор
/dev/ttyAPP4 Подписан CAN (так как этот же порт может использоваться как CAN) Неизолированный порт, установлен терминатор, мультиплексирован с CAN
Wiren Board 4 /dev/ttyNSC0 Подписан RS-485-ISO Изолированный порт, установлен терминатор
/dev/ttyNSC1 Неизолированный порт, установлен терминатор
Wiren Board NETMON-1 /dev/ttyNSC0 Подпись и8 Полудуплексные порты. Трансиверы подключен к чипу SC16IS752
/dev/ttyNSC1 Подпись и6
Wiren Board Smart Home 3.5 /dev/ttyNSC0 Зелёная пара клеммников
Перемычки терминаторов в Wiren Board Smart Home 3.5
Полудуплексные порты. Трансиверы подключен к чипу SC16IS752.
На плате установлены терминаторы между линиями A и В, их можно отклчить, распаяв перемычки (по умолчанию запаяны) - смотрите фото
/dev/ttyNSC1 Синяя пара клеммников
Wiren Board 2.8 /dev/ttyNSC0 Линии A и B на клеммниках (Есть не во всех комплектациях) Полудуплексный порт. Трансивер подключен к чипу SC16IS752