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

Материал из Wiren Board
(Содержимое страницы заменено на «#REDIRECT Socat»)
Метка: замена
 
(не показано 10 промежуточных версий 5 участников)
Строка 1: Строка 1:
'''Внимание!''' Данные инструкции следует выполнять только
#REDIRECT [[Socat]]
в закрытой подсети. Не следует давать доступ к RS-485 портам
по TCP, если Wiren Board доступен по реальному IP снаружи.
 
Допустим, Wiren Board имеет IP 192.168.3.12.
 
Выполняем на Wiren Board от root'а:
<pre>
apt-get install socat
service wb-homa-modbus stop
socat -d -d -d -x /dev/ttyNSC0,raw,ispeed=9600,ospeed=9600,parenb=0,cstopb=1,cs8 TCP-LISTEN:10010&
socat -d -d -d -x /dev/ttyNSC1,raw,ispeed=9600,ospeed=9600,parenb=0,cstopb=1,cs8 TCP-LISTEN:10011&
</pre>
 
Обратите внимание на кодирование количества стоп-битов:
* cstopb=1 — 2 стоп-бита,
* cstopb=0 — 1 стоп-бит.
Параметр cstopb имеет булевский тип, подробнее смотрите ```man socat```.
 
 
Вторая команда - остановка драйвера Modbus во избежание
конфликтов при работе с RS-485 портами.
 
Выполняем на компьютере (под Linux):
<pre>
socat -d -d -d -x PTY,raw,ispeed=9600,ospeed=9600,parenb=0,cstopb=1,cs8,link=/tmp/ttyNSC0 tcp:192.168.3.12:10010&
socat -d -d -d -x PTY,raw,ispeed=9600,ospeed=9600,parenb=0,cstopb=1,cs8,link=/tmp/ttyNSC1 tcp:192.168.3.12:10011&
sudo ln -fs /tmp/ttyNSC{0,1} /dev
</pre>
 
После выполнения этих команд в системе (на PC) появляются
специальные файлы /tmp/ttyNSC0 и /tmp/ttyNSC1, соответствующие
RS-485 портам Wiren Board. Последняя команда для удобства создаёт
в /dev символические ссылки на файлы портов, что позволяет,
например, использовать на PC конфигурацию драйвера Modbus,
написанную для Wiren Board, без каких-либо изменений.
 
Опции -d и -x в обоих случаях можно опустить - они нужны для
вывода диагностики и шестнадцатеричных дампов передаваемых данных.

Текущая версия на 08:04, 29 июля 2024

Перенаправление на: