Доступ к порту 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.») |
|||
Строка 38: | Строка 38: | ||
After executing these commands, special files /dev/ttyRS485-1 and /dev/ttyRS485-2 appear in the system (on the PC), corresponding to RS-485 ports of the Wiren Board. The latter command creates symbolic links to port files in /dev for convenience, which allows, for example, to use the Modbus driver configuration written for the Wiren Board on a PC without any changes. | After executing these commands, special files /dev/ttyRS485-1 and /dev/ttyRS485-2 appear in the system (on the PC), corresponding to RS-485 ports of the Wiren Board. The latter command creates symbolic links to port files in /dev for convenience, which allows, for example, to use the Modbus driver configuration written for the Wiren Board on a PC without any changes. | ||
Опции -d и -x в обоих случаях можно опустить - они нужны для | |||
вывода диагностики и шестнадцатеричных дампов передаваемых данных. |
Версия 20:38, 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].
Note the coding of the number of stop bits:
- cstopb=1 — 2 stop bits,
- cstopb=0 — 1 stop bit.
Option cstopb has the Boolean type; refer to the man socat articles online.
The second command (service wb-mqtt-serial stop) is to stop the Modbus driver to avoid conflicts when working with RS-485 ports.
Run on a computer (Linux based):
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
In older versions of controllers, specify ports [/dev/ttyNSC0, /dev/ttyNSC1] or [/dev/ttyAPP1, /dev/ttyAPP4].
After executing these commands, special files /dev/ttyRS485-1 and /dev/ttyRS485-2 appear in the system (on the PC), corresponding to RS-485 ports of the Wiren Board. The latter command creates symbolic links to port files in /dev for convenience, which allows, for example, to use the Modbus driver configuration written for the Wiren Board on a PC without any changes.
Опции -d и -x в обоих случаях можно опустить - они нужны для вывода диагностики и шестнадцатеричных дампов передаваемых данных.