Доступ к порту RS-485 контроллера Wiren Board с компьютера/en: различия между версиями
(Новая страница: «The -d and -x options can be omitted in both cases - they are needed for diagnostic output and hexadecimal data dumps.») |
(Новая страница: «In older versions of controllers, specify ports [/dev/ttyNSC0, /dev/ttyNSC1] or [/dev/ttyAPP1, /dev/ttyAPP4].») |
||
(не показано 6 промежуточных версий этого же участника) | |||
Строка 18: | Строка 18: | ||
Обратите внимание на кодирование количества стоп-битов: | |||
* cstopb=1 — 2 стоп-бита, | |||
* cstopb=0 — 1 стоп-бит. | |||
Параметр cstopb имеет булевский тип; подробнее смотрите в интернете '''man socat'''. | |||
Вторая команда (service wb-mqtt-serial stop) — остановка драйвера Modbus во избежание конфликтов при работе с RS-485 портами. | |||
Выполняем на компьютере (под Linux): | |||
<pre> | <pre> | ||
socat -d -d -d -x PTY,raw,ispeed=9600,ospeed=9600,parenb=0,cstopb=1,cs8,link=/dev/ttyRS485-1 tcp:192.168.3.12:10010& | socat -d -d -d -x PTY,raw,ispeed=9600,ospeed=9600,parenb=0,cstopb=1,cs8,link=/dev/ttyRS485-1 tcp:192.168.3.12:10010& | ||
Строка 34: | Строка 33: | ||
</pre> | </pre> | ||
В старых версиях контроллеров указывайте порты [/dev/ttyNSC0, /dev/ttyNSC1] или [/dev/ttyAPP1, /dev/ttyAPP4]. | |||
После выполнения этих команд в системе (на PC) появляются | |||
специальные файлы /dev/ttyRS485-1 и /dev/ttyRS485-2, соответствующие | |||
RS-485 портам Wiren Board. Последняя команда для удобства создаёт | |||
в /dev символические ссылки на файлы портов, что позволяет, | |||
например, использовать на PC конфигурацию драйвера Modbus, | |||
написанную для Wiren Board, без каких-либо изменений. | |||
Опции -d и -x в обоих случаях можно опустить - они нужны для | |||
вывода диагностики и шестнадцатеричных дампов передаваемых данных. |
Версия 20:35, 30 мая 2019
Attention! These instructions should only be performed on a private subnet. Do not allow RS-485 ports to be accessed over TCP if the Wiren Board is accessible over a real IP from the outside.
Let's say the Wiren Board has 192.168.3.12 IP address.
Run this commands on Wiren Board from root access:
apt-get install socat service wb-mqtt-serial stop
In older versions of controllers, use the serive wb-homa-modbus stop command.
socat -d -d -d -x /dev/ttyRS485-1,raw,ispeed=9600,ospeed=9600,parenb=0,cstopb=1,cs8 TCP-LISTEN:10010& socat -d -d -d -x /dev/ttyRS485-2,raw,ispeed=9600,ospeed=9600,parenb=0,cstopb=1,cs8 TCP-LISTEN:10011&
In older versions of controllers, specify ports [/dev/ttyNSC0, /dev/ttyNSC1] or [/dev/ttyAPP1, /dev/ttyAPP4].
Обратите внимание на кодирование количества стоп-битов:
- cstopb=1 — 2 стоп-бита,
- cstopb=0 — 1 стоп-бит.
Параметр cstopb имеет булевский тип; подробнее смотрите в интернете man socat.
Вторая команда (service wb-mqtt-serial stop) — остановка драйвера Modbus во избежание конфликтов при работе с RS-485 портами.
Выполняем на компьютере (под Linux):
socat -d -d -d -x PTY,raw,ispeed=9600,ospeed=9600,parenb=0,cstopb=1,cs8,link=/dev/ttyRS485-1 tcp:192.168.3.12:10010& socat -d -d -d -x PTY,raw,ispeed=9600,ospeed=9600,parenb=0,cstopb=1,cs8,link=/dev/ttyRS485-2 tcp:192.168.3.12:10011& sudo ln -fs /tmp/ttyRS485-{1,2} /dev
В старых версиях контроллеров указывайте порты [/dev/ttyNSC0, /dev/ttyNSC1] или [/dev/ttyAPP1, /dev/ttyAPP4].
После выполнения этих команд в системе (на PC) появляются специальные файлы /dev/ttyRS485-1 и /dev/ttyRS485-2, соответствующие RS-485 портам Wiren Board. Последняя команда для удобства создаёт в /dev символические ссылки на файлы портов, что позволяет, например, использовать на PC конфигурацию драйвера Modbus, написанную для Wiren Board, без каких-либо изменений.
Опции -d и -x в обоих случаях можно опустить - они нужны для вывода диагностики и шестнадцатеричных дампов передаваемых данных.