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

Нет описания правки
Строка 1: Строка 1:
'''RS-485''' - стандарт коммуникации по двухпроводной шине. По порту RS-485 к [[Wiren Board]] можно подключать периферийные устройства.
'''RS-485''' - стандарт коммуникации по двухпроводной шине. По порту RS-485 к [[Wiren Board]] можно подключать периферийные устройства.
 
== Какие устройства можно подключать к Wiren Board ==
== Поддерживаемые протоколы ==
=== Поддерживаемые протоколы ===
RS-485 - стандарт физического уровня, в котором биты передаются разностью напряжений - смотрите [https://ru.wikipedia.org/wiki/RS-485 описание в Википедии]. Поверх него должен работать логический уровень - стандарт сообщений, которыми обмениваются устройства. Wiren Board из коробки поддерживает стандарт [https://ru.wikipedia.org/wiki/Modbus#.D0.92.D0.B2.D0.B5.D0.B4.D0.B5.D0.BD.D0.B8.D0.B5 Modbus RTU], а также протоколы устройств [http://smart.uniel.ru/ Uniel] и [http://ydom.ru ydom.ru].
RS-485 - стандарт физического уровня, в котором биты передаются разностью напряжений - смотрите [https://ru.wikipedia.org/wiki/RS-485 описание в Википедии]. Поверх него должен работать логический уровень - стандарт сообщений, которыми обмениваются устройства. Wiren Board из коробки поддерживает стандарт [https://ru.wikipedia.org/wiki/Modbus#.D0.92.D0.B2.D0.B5.D0.B4.D0.B5.D0.BD.D0.B8.D0.B5 Modbus RTU], а также протоколы устройств [http://smart.uniel.ru/ Uniel] и [http://ydom.ru ydom.ru].
=== Краткое описание протокола Modbus RTU ===
=== Краткое описание протокола Modbus RTU ===
Обмен информацией происходит по принципу запрос-ответ: контроллер посылает запрос, устройство отвечает. Каждое устройство на шине имеет свой восьмибитный адрес. Адрес может быть как жестко задан, так и устанавливаться при предварительной настройке - это указывается в документации к устройству.
Обмен информацией происходит по принципу запрос-ответ: контроллер посылает запрос, устройство отвечает. Каждое устройство на шине имеет свой восьмибитный адрес. Адрес может быть как жестко задан, так и устанавливаться при предварительной настройке - это указывается в документации к устройству.


== Поддерживаемые устройства ==
=== Поддерживаемые устройства ===
Однако даже если Wiren Board поддерживает протокол, по которому работает устройство, Wiren Board не обязательно поддерживает само это устройство. В стандартном ПО Wiren Board идут драйверы как для работы с [[Периферийные устройства с интерфейсом Modbus серии WB-xxxx | периферией производства компании "Бесконтактные устройства"]], так и для некоторой другой - смотрите список [[Поддерживаемые_устройства#RS-485]].
Однако даже если Wiren Board поддерживает протокол, по которому работает устройство, Wiren Board не обязательно поддерживает само это устройство. В стандартном ПО Wiren Board идут драйверы как для работы с [[Периферийные устройства с интерфейсом Modbus серии WB-xxxx | периферией производства компании "Бесконтактные устройства"]], так и для некоторой другой - смотрите список [[Поддерживаемые_устройства#RS-485]].


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


<div class="toccolours mw-collapsible mw-collapsed">
<div class="toccolours mw-collapsible mw-collapsed">
Строка 48: Строка 48:
#При прокладке шины нужно соблюдать [http://www.gaw.ru/html.cgi/txt/interface/rs485/app.htm определённые правила], но для передачи в одной квартире подойдёт любой кабель и даже возможны ответвления.
#При прокладке шины нужно соблюдать [http://www.gaw.ru/html.cgi/txt/interface/rs485/app.htm определённые правила], но для передачи в одной квартире подойдёт любой кабель и даже возможны ответвления.


== Программное конфигурирование устройств ==
==Как настроить контроллер для работы с подключенными устройствами==
===Программное конфигурирование устройств ===
Чтобы подключённая по RS-485 периферия появилась в веб-интерфейсе контроллера, надо отредактировать конфигурационный файл <code>/etc/wb-homa-modbus.conf</code>, находящийся на контроллере. Для этого смотрите инструкцию [[Драйвер wb-homa-modbus#Конфигурационный файл]].
Чтобы подключённая по RS-485 периферия появилась в веб-интерфейсе контроллера, надо отредактировать конфигурационный файл <code>/etc/wb-homa-modbus.conf</code>, находящийся на контроллере. Для этого смотрите инструкцию [[Драйвер wb-homa-modbus#Конфигурационный файл]].


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


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


=== Wiren Board 5 ===
==== Wiren Board 5 ====
Порты определяются в системе как:
Порты определяются в системе как:
* ''/dev/''ttyAPP1'' - неизолированный порт на клемниках A и B (подпись "RS-485").
* ''/dev/''ttyAPP1'' - неизолированный порт на клемниках A и B (подпись "RS-485").
Строка 62: Строка 63:
На линиях установлены терминаторы.
На линиях установлены терминаторы.


=== Wiren Board 4 ===
==== Wiren Board 4 ====
Порты определяются в системе как:
Порты определяются в системе как:
* ''/dev/ttyNSC0 ''- изолированный (RS-485-ISO),
* ''/dev/ttyNSC0 ''- изолированный (RS-485-ISO),
* ''/dev/ttyNSC1'' - неизолированный порт.
* ''/dev/ttyNSC1'' - неизолированный порт.


=== [[Wiren Board NETMON-1]] ===
==== [[Wiren Board NETMON-1]] ====
Контроллер имеет два полудуплексных порта. Трансиверы подключен к чипу [[SC16IS752]].  
Контроллер имеет два полудуплексных порта. Трансиверы подключен к чипу [[SC16IS752]].  


Строка 74: Строка 75:
* ''/dev/ttyNSC1'' - разъём и6
* ''/dev/ttyNSC1'' - разъём и6


=== Wiren Board Smart Home rev. 3.5 ===
==== Wiren Board Smart Home rev. 3.5 ====


[[Файл:Перемычки.png|thumb|300px|Перемычки терминаторов в Wiren Board Smart Home rev. 3.5]]
[[Файл:Перемычки.png|thumb|300px|Перемычки терминаторов в Wiren Board Smart Home rev. 3.5]]
Строка 86: Строка 87:
Для уменьшения эффектов отражения, линии RS-485 должны заканчиваться "терминаторами" - резисторами, равными волновому сопротивлению линии. На плате установлены резисторы по 150 Ом между линиями A и В. Для их отключения распаяйте соответствующие SMD-перемычки (по умолчанию запаяны), см. фото.
Для уменьшения эффектов отражения, линии RS-485 должны заканчиваться "терминаторами" - резисторами, равными волновому сопротивлению линии. На плате установлены резисторы по 150 Ом между линиями A и В. Для их отключения распаяйте соответствующие SMD-перемычки (по умолчанию запаяны), см. фото.


=== Wiren Board  rev. 2.8 ===
==== Wiren Board  rev. 2.8 ====


Wiren Board 2.8 может поставляться с трансивером RS-485. Поддерживается полудуплексный режим работы, линии A и B выведены на клеммники.
Wiren Board 2.8 может поставляться с трансивером RS-485. Поддерживается полудуплексный режим работы, линии A и B выведены на клеммники.


Трансивер подключен к чипу [[SC16IS752]]. Соответсвующий последовательный порт определяется системой как ''/dev/ttyNSC0''. См. [[SC16IS752#UART0]]
Трансивер подключен к чипу [[SC16IS752]]. Соответсвующий последовательный порт определяется системой как ''/dev/ttyNSC0''. См. [[SC16IS752#UART0]]